|
Yong Huang 发表于 2012-10-13 00:09 ![]()
> 但好像指定删除是可行的
I remember so too. Regardless your retention policy, explicitly deleting ...
我来说一下最终是怎么做的吧.
我先说下数据库的版本:ORACLE10G
主库RMAN的设置如下:
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> show all;
RMAN configuration parameters for database with db_unique_name AIRDB are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ;
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '../snapcf_airdb.f'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;这个在10G中要修改一个参数才可以生效,这个参数的意思是在你执行归档删除的时候,不能删除没出息被备库应用的归档.
注意我这里说的是,这种情况的不能删除没有被备库应用的归档是在你执行类似以下语句时:
backup database format '/u01/dat%d_%u' plus archivelog format '/u01/arc%d_%u' delet all input;
只要你在备库的一个语句中有delete input,这个策略就会生效.但是如果你仅仅是单独执行,
delete archivelog all;
如果仅仅是单独这样一执行,这个策略并不会生效,它仍然后删除没有被备库应用的归档.
所以说上面那个策略,仅对于一个备份语句中包含delete input,如果有没有被备库应用的归档,在执行删除时,会有警告提示.
Starting backup at 17-OCT-12
current log archived
channel c1: starting archive log backupset
channel c1: specifying archive log(s) in backup set
input archive log thread=1 sequence=1430 recid=1477 stamp=796759212
input archive log thread=1 sequence=1431 recid=1478 stamp=796788801
channel c1: starting piece 1 at 17-OCT-12
channel c2: starting archive log backupset
channel c2: specifying archive log(s) in backup set
input archive log thread=1 sequence=1432 recid=1479 stamp=796788809
input archive log thread=1 sequence=1433 recid=1482 stamp=796875195
input archive log thread=1 sequence=1434 recid=1483 stamp=796875203
channel c2: starting piece 1 at 17-OCT-12
channel c2: finished piece 1 at 17-OCT-12
piece handle=/u01/app/oracle/backup/8vnnume3_1_1_20121017.arc tag=TAG20121017T021323 comment=NONE
channel c2: backup set complete, elapsed time: 00:00:08
RMAN-08137: WARNING: archive log not deleted as it is still needed
archive log filename=/u01/app/oracle/oraarch/1_1432_724848253.arc thread=1 sequence=1432
RMAN-08137: WARNING: archive log not deleted as it is still needed
archive log filename=/u01/app/oracle/oraarch/1_1433_724848253.arc thread=1 sequence=1433
RMAN-08137: WARNING: archive log not deleted as it is still needed
archive log filename=/u01/app/oracle/oraarch/1_1434_724848253.arc thread=1 sequence=1434
channel c1: finished piece 1 at 17-OCT-12
piece handle=/u01/app/oracle/backup/8unnume3_1_1_20121017.arc tag=TAG20121017T021323 comment=NONE
channel c1: backup set complete, elapsed time: 00:00:23
channel c1: deleting archive log(s)
archive log filename=/u01/app/oracle/oraarch/1_1430_724848253.arc recid=1477 stamp=796759212
archive log filename=/u01/app/oracle/oraarch/1_1431_724848253.arc recid=1478 stamp=796788801
Finished backup at 17-OCT-12
如上信息.我一般是先这样操作的
backup achivelog format '/u01/arc%d_%u' delete input;
这样就OK了
对于11G,这个策略很成熟了,但是设置上略有些不同.
对于备库的归档删除,其实也是设置了以上那个策略,当日档空间满时,是会自动删除被应用归档.
这个别没有做实验.
|
|