一、归档日志概念
归档日志:非活动的重做日志,用来保存所有的重做历史记录。
什么时候写归档日志:当数据库处于archivelog模式并重做日志切换的时候,后台进程ARCH会启动将重做日志的内容完整的保存到归档日志中。
日志操作模式:包含 NOARCHIVELOG 模式 和 ARCHIVELOG 模式
NOARCHIVELOG模式不保留重做日志记录的历史,只能保护例程失败不能保护介质失败。
特点:
LGWR进程写日志时候覆盖原先的重做日志内容
如果日志内容被覆盖,只能恢复到过去完整备份的点
执行数据库备份时候,必须关闭数据库
执行备份时候,必须备份所有数据文件和控制文件
ARCHIVELOG模式保留重做日志记录的历史,不仅能保护例程失败而且可以保护介质失败。
特点:
出现数据文件丢失损坏,可以防止数据丢失。
数据库处于open状态的时候,也可以备份数据库
出现数据文件损坏的时候可以在Open状态下进行恢复
执行数据库恢复的时候,可以进行不完整恢复,基于(SCN,时间点,日志序列号)等等
选择:如果数据库用于生产环境并且数据变化频繁应该采用ARCHIVELOG模式
二、归档日志的开启并且修改路径
alter database archivelog;
alter system set log_archive_dest_1=‘LOCATION=/data/tb_oracle/arch’;
alter system switch logfile;
[oracle@cdh129131 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Mon Nov 21 09:45:23 2022
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 4275781632 bytes
Fixed Size 2260088 bytes
Variable Size 956302216 bytes
Database Buffers 3305111552 bytes
Redo Buffers 12107776 bytes
Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /opt/oracle/product/11.2.0/dbhome_1/dbs/arch
Oldest online log sequence 6135
Next log sequence to archive 6137
Current log sequence 6137
SQL> show parameter db_recover
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string
db_recovery_file_dest_size big integer 0
SQL> alter system set log_archive_dest_1='LOCATION=/data/tb_oracle/arch';
System altered.
SQL> alter system switch logfile;
System altered.
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /data/tb_oracle/arch
Oldest online log sequence 6142
Next log sequence to archive 6144
Current log sequence 6144
SQL>
三、参考
[1] https://blog.csdn.net/chenqi3166/article/details/120624660
[2] https://blog.csdn.net/qingsong3333/article/details/121119825
[3] https://blog.csdn.net/woailyoo0000/article/details/117067973
[4] https://blog.csdn.net/qq_34556414/article/details/78913654