文章目录
- 前言
- 一、开启归档:
- 二、自动启动归档后台进程:
- 三、ARCn进程设置:
- 四、设置所有归档日志文件路径:
- 只有启用一份归档日志文件,其他都为无效(默认)
- 更改归档文件路径(log_archive_dest_1~3):
- 五、重做日志切换:
- 六、归档文件管理维护:
- 七、关闭/开启归档日志功能:
前言
开启归档模式,我们可以进行实现rman的数据备份以及xtts等数据恢复。
开启归档需要停库操作:建议提前断掉应用服务,这样可以正常启停数据库,否则需要强行关掉数据库服务,会造成数据库回滚时间长。
提示:以下是本篇文章正文内容,下面案例可供参考
一、开启归档:
SQL> shutdown immediate
SQL> startup mount
SQL> alter database archivelog;
SQL> alter database open;
SQL> archive log list
二、自动启动归档后台进程:
SQL> show parameter log_archive_start
SQL> alter system set log_archive_start=true scope=spfile;
System altered.
重启数据库检查!
三、ARCn进程设置:
如果数据库DML操作过于频繁的话,有可能导致ARCn(归档进程)的读写跟不上LGWR(重做日志写进程),此时数据库LGWR就会进行等待数据库将挂起,造成效率下降。
查看系统ARCn进程数:
SQL> show parameter log_archive_max_processes
SQL> alter system set log_archive_max_processes=6;
System altered.
四、设置所有归档日志文件路径:
(8i:5份归档文件、9i和10:10份归档文件、11g和12c:31份归档文件)
SQL> show parameter LOG_ARCHIVE_DEST_
查看数据字典:
SQL> col DESTINATION for a25
SQL> select destination,binding,target,status from v$archive_dest;
只有启用一份归档日志文件,其他都为无效(默认)
更改归档文件路径(log_archive_dest_1~3):
SQL> alter system set log_archive_dest_1="LOCATION=/data/ARCn_log/desk1 mandatory";
System altered.
LOCATION:代表归档文件存放在本地磁盘上
mandatory:代表该目录下的日志文件是强制的(没有写成功前,重做日志不能重用)
optional:表示日志文件是可选的(没有写成功,重做日志可以重用)
默认值:optional
SQL> show parameter log_archive_dest_1
SQL> alter system set log_archive_dest_2="LOCATION=/data/ARCn_log/desk2";
System altered.
SQL> alter system set log_archive_dest_3="LOCATION=/data/ARCn_log/desk3 optional";
System altered.
其他日志文件为INACTIVE不可用。(此时数据库也是一个较为脆弱的状态,因为只有一个日志文件为强制性,如果损坏导致无法完全恢复)
五、重做日志切换:
以上操作完成后可进行查看归档日志文件路径:
原因:此期间没有足够的DML操作 重做日志不会被填满,因此也就不能产生归档日志文件
SQL> alter system switch logfile;
System altered.
六、归档文件管理维护:
由于我们设置只有log_archive_dest_1是mandatory状态,使数据库运行在一个很脆弱的状态,oracle引进log_archive_min_succeed_dest.。
如果log_archive_min_succeed_dest小于或等于mandatory个数=对系统无影响
如果log_archive_min_succeed_dest大于mandatory个数=除了mandatory外,成功的归档日志文件数至少不能低于这个数值。
SQL> show parameter log_archive_min_succeed_dest
SQL> alter system set log_archive_min_succeed_dest=2;
System altered.
七、关闭/开启归档日志功能:
通过log_archive_dest_state_n动态参数控制:
SQL> show parameter log_archive_dest_state_
SQL> alter system set log_archive_dest_state_1=defer;
System altered.
DEFER状态是一个临时的维护状态,一旦维护结束要转回ENABLE状态
SQL> alter system set log_archive_dest_state_1=enable;