在RMAN的备份策略中有两条关于归档日志的策略:
一个是归档日志备份备份副本的个数。
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
另外一条是关于DELETION POLICY
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
在数据库创建的时候,如果已经选择开启闪回数据库和归档模式的情况下,归档日志会保存在$ORACLE_BASE/fast_recovery_area目录下。
归档日志对数据库的备份恢复至关重要,在使用数据库RMAN的不一致备份+归档日志可以把数据库恢复到事故发生的时间点,实现数据的完成恢复,也就是数据的“0”丢失。
对于归档日志维护方式也有两种:一种就是在RMAN中设置delete policy,另外一种就是在系统空间不足时,手动的删除。
默认的情况下数据库是会一直保存归档日志的,对归档日志维护不当会造成因快速闪回区使用率100%引起的Hang等问题。
1、在非Dataguard模式下,启用Delete Policy设置:
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 2 TIMES TO DISK;
表示归档日志文件在DISK上备份2份后删除;
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 2 TIMES TO SBT;
表示归档日志文件在SBT上备份2份后删除;
2、对Dataguard模式下,启用Delete Policy,必须使用catalog目录。我们来测试下这个环境
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
CONFIGURE ARCHIVELOG DELETION POLICY TO SHIPPED TO STANDBY;
2.1、首先,创建catalog使用的account以及tablespace,这里就不细说了。
2.2、在测试环境的tnsname.ora文件中,定义primary (INDS1:192.168.2.101)和standby(INDS2:192.168.2.102)
INDS1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.101)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = inds1)
)
)
INDS2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.102)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = inds2)
)
)
2.3、使用catalog 登陆到standby,配置delete policy
[oracle@node01 ~]$ rman catalog rman/rman target sys/oracle@inds2
Recovery Manager: Release 11.2.0.4.0 - Production on Sat Feb 25 00:22:28 2017
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: INDS (DBID=1007833489)
connected to recovery catalog database
RMAN> configure archivelog deletion policy to applied on standby;
new RMAN configuration parameters:
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
new RMAN configuration parameters are successfully stored
RMAN>
2.4、配置primary的delete policy
[oracle@node01 ~]$ rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Sat Feb 25 00:06:59 2017
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: INDS (DBID=1007833489)
RMAN> configure archivelog deletion policy to applied on standby;
new RMAN configuration parameters:
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
new RMAN configuration parameters are successfully stored
RMAN-08591: WARNING: invalid archived log deletion policy
在这里提示RMAN-08591告警,解释说明
8591, 3, "WARNING: invalid archived log deletion policy"
// *Cause: An invalid ARCHIVELOG DELETION POLICY was supplied. The archived
// log deletion policy was APPLIED but there was no mandatory
// archived log destinations.
// *Action: One of the following:
// 1) Change archived log deletion policy using CONFIGURE command
// 2) Make one or more of standby destination as MANDATORY.
需要修改log_archive_dest_1和log_archive_dest_2 ,增加MANDATORY 。再次配置CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY 告警消失
SQL> alter system set log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) mandatory DB_UNIQUE_NAME=INDS1';
SQL> alter system set log_archive_dest_2='SERVICE=INDS2 SYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) mandatory DB_UNIQUE_NAME=INDS2';
RMAN> configure archivelog deletion policy to applied on standby;
using target database control file instead of recovery catalog
old RMAN configuration parameters:
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
new RMAN configuration parameters:
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
new RMAN configuration parameters are successfully stored
参考博客
https://martincarstenbach.wordpress.com/2009/10/08/archivelog-retention-policy-changes-in-rman-11g/
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27039319/viewspace-2134255/
,如需转载,请注明出处,否则将追究法律责任。