问题描述:
近期的rman备份中,归档日志的备份没有被删除,rman的脚本和策略都没变过,归档的备份一直保留,每过一段时间就要物理删除备份,很是奇怪。
rman的configure如下
RMAN> show all;
RMAN configuration parameters for database with db_unique_name HUBSRAC are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1;
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 'MEDIUM' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE;
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 20 TIMES TO DISK;
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+dg_redo/hubsrac/snapcf_hubsrac.f';
RMAN> corsscheck backup;
RMAN> report obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 2
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Control File Copy 44 2016/05/31 14:14:26 +DG_REDO01/orclrac/control_snapshot/snapcf_orclrac1.f
发现obsolete的列表里,只有一个controlfile的copy,而且是三个月前的?推算一下,应该是这个库之前做standby的时候遗留下来的,尝试删除这个过期的备份
RMAN> delete obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 2
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Control File Copy 44 2016/05/31 14:14:26 +DG_REDO01/orclrac/control_snapshot/snapcf_orclrac1.f
Do you really want to delete the above objects (enter YES or NO)? YES
deleted control file copy
control file copy file name=+DG_REDO01/orclrac/control_snapshot/snapcf_orclrac1.f RECID=44 STAMP=913299266
Deleted 1 objects
注意已经提示Deleted 1 objects,但是在此report时会发现,这个记录仍然存在
RMAN> report obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 2
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Control File Copy 44 2016/05/31 14:14:26 +DG_REDO01/orclrac/control_snapshot/snapcf_orclrac1.f
换一种方法删除
RMAN> CROSSCHECK CONTROLFILECOPY '+DG_REDO01/orclrac/control_snapshot/snapcf_orclrac1.f';
released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=2064 instance=orclrac2 device type=DISK
validation failed for control file copy
control file copy file name=+DG_REDO01/orclrac/control_snapshot/snapcf_orclrac1.f RECID=44 STAMP=913299266
Crosschecked 1 objects
RMAN> delete obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 2
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Control File Copy 44 2016/05/31 14:14:26 +DG_REDO01/orclrac/control_snapshot/snapcf_orclrac1.f
Do you really want to delete the above objects (enter YES or NO)? YES
deleted control file copy
control file copy file name=+DG_REDO01/orclrac/control_snapshot/snapcf_orclrac1.f RECID=44 STAMP=913299266
Deleted 1 objects
仍让存在。。。
RMAN> report obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 2
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Control File Copy 44 2016/05/31 14:14:26 +DG_REDO01/orclrac/control_snapshot/snapcf_orclrac1.f
再换一种方法
RMAN> DELETE FORCE NOPROMPT OBSOLETE DEVICE TYPE DISK;
If RMAN-06214 still occurs, then try
RMAN> CROSSCHECK COPY OF CONTROLFILE;
还是存在
RMAN> report obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 2
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Control File Copy 44 2016/05/31 14:14:26 +DG_REDO01/orclrac/control_snapshot/snapcf_orclrac1.f
没办法了,uncatalog之后就没有了,官方上给出的方法:
RMAN> change controlfilecopy '+DG_REDO01/orclrac/control_snapshot/snapcf_orclrac1.f' uncatalog;
uncataloged control file copy
control file copy file name=+DG_REDO01/orclrac/control_snapshot/snapcf_orclrac1.f RECID=44 STAMP=913299266
Uncataloged 1 objects
过期的控制文件备份是干掉了,可是再次去检查obsolete,发现那些老的归档日志备份仍然不是obsolete~
查看一下capture,发现有ogg的capture注册在数据库
SQL> col required_checkpoint_scn for 9999999999999999999
SQL> select capture_name, required_checkpoint_scn from dba_capture;
CAPTURE_NAME REQUIRED_CHECKPOINT_SCN
------------------------------ -----------------------
OGG$CAP_FM1 46264409580
OGG$CAP_ET1 46264410538
根源就在这里,这个库以前作为ogg的source端使用过一段时间,后来业务变更,ogg就停掉了。但是配置ogg时注册进ogg的一些服务并没有清除,ogg 11g的 logretention和12c的integrated在日志没有被抽取的时候,会阻止rman中的归档备份被清除。
登入ogg把之前的两个抽取进程unregister一下
GGSCI (hubsrac01 as oggadmin@orclrac1) 7> dblogin userid oggadmin,password oggadmin
GGSCI (hubsrac01 as oggadmin@orclrac1) 7> unregister extract fm1 database
GGSCI (hubsrac01 as oggadmin@orclrac1) 7> unregister extract et1 database
清除过程中数据库的alert信息如下
GoldenGate Apply: OGG$FM1 APPLY Dropped
APPLY OGG$FM1: Apply User: OGGADMIN
APPLY OGG$FM1: Apply Tag: 00
Tue Aug 30 15:05:40 2016
Streams Capture: OGG$CAP_FM1 CAPTURE Dropped
CAPTURE OGG$CAP_FM1: Start SCN: 46167477979 (0xbfcbcedb.0000000a)
CAPTURE OGG$CAP_FM1: First SCN: 46167477979 (0xbfcbcedb.0000000a)
CAPTURE OGG$CAP_FM1: Required Checkpoint SCN: 46264409580 (0xc592ddec.0000000a)
CAPTURE OGG$CAP_FM1: Captured SCN: 46264409883 (0xc592df1b.0000000a)
CAPTURE OGG$CAP_FM1: Applied SCN: 46264409580 (0xc592ddec.0000000a)
CAPTURE OGG$CAP_FM1: Capture Type: LOCAL
CAPTURE OGG$CAP_FM1: Logminer Id: 4
CAPTURE OGG$CAP_FM1: Source Database: ORCLRAC
Tue Aug 30 15:05:53 2016
ALTER SYSTEM SET service_names='SYS$OGGADMIN.OGG$Q_ET1.ORCLRAC' SCOPE=MEMORY SID='orclrac2';
Tue Aug 30 15:06:31 2016
GoldenGate Apply: OGG$ET1 APPLY Dropped
APPLY OGG$ET1: Apply User: OGGADMIN
APPLY OGG$ET1: Apply Tag: 00
Tue Aug 30 15:06:32 2016
Streams Capture: OGG$CAP_ET1 CAPTURE Dropped
CAPTURE OGG$CAP_ET1: Start SCN: 46165434320 (0xbfac9fd0.0000000a)
CAPTURE OGG$CAP_ET1: First SCN: 46165434320 (0xbfac9fd0.0000000a)
CAPTURE OGG$CAP_ET1: Required Checkpoint SCN: 46264410538 (0xc592e1aa.0000000a)
CAPTURE OGG$CAP_ET1: Captured SCN: 46264410853 (0xc592e2e5.0000000a)
CAPTURE OGG$CAP_ET1: Applied SCN: 46264410538 (0xc592e1aa.0000000a)
CAPTURE OGG$CAP_ET1: Capture Type: LOCAL
CAPTURE OGG$CAP_ET1: Logminer Id: 2
CAPTURE OGG$CAP_ET1: Source Database: ORCLRAC
Tue Aug 30 15:06:42 2016
ALTER SYSTEM SET service_names='hubsrac' SCOPE=MEMORY SID='orclrac2';
再次检查obsolete
RMAN> report obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 2
Report of obsolete backups and copies
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 326851 2016/08/28 00:01:42
Backup Piece 326851 2016/08/28 00:01:42 /mnt/orclbackup/log_20160828_328204_1
Backup Set 326855 2016/08/28 01:01:55
Backup Piece 326855 2016/08/28 01:01:55 /mnt/orclbackup/log_20160828_328208_1
Backup Set 326859 2016/08/28 02:01:54
Backup Piece 326859 2016/08/28 02:01:54 /mnt/orclbackup/log_20160828_328212_1
Backup Set 326872 2016/08/28 03:01:44
Backup Piece 326872 2016/08/28 03:01:44 /mnt/orclbackup/log_20160828_328227_1
Backup Set 326880 2016/08/28 04:01:33
Backup Piece 326880 2016/08/28 04:01:33 /mnt/orclbackup/log_20160828_328234_1
Backup Set 326884 2016/08/28 05:01:35
Backup Piece 326884 2016/08/28 05:01:35 /mnt/orclbackup/log_20160828_328238_1
Backup Set 326888 2016/08/28 06:02:08
Backup Piece 326888 2016/08/28 06:02:08 /mnt/orclbackup/log_20160828_328242_1
Backup Set 326892 2016/08/28 07:01:20
Backup Piece 326892 2016/08/28 07:01:20 /mnt/orclbackup/log_20160828_328246_1
Backup Set 326893 2016/08/28 07:02:27
Backup Piece 326893 2016/08/28 07:02:27 /mnt/orclbackup/log_20160828_328247_1
Backup Set 326897 2016/08/28 08:01:17
Backup Piece 326897 2016/08/28 08:01:17 /mnt/orclbackup/log_20160828_328251_1
Backup Set 326898 2016/08/28 08:02:24
Backup Piece 326898 2016/08/28 08:02:24 /mnt/orclbackup/log_20160828_328252_1
Backup Set 326902 2016/08/28 09:01:14
Backup Piece 326902 2016/08/28 09:01:14 /mnt/orclbackup/log_20160828_328256_1
Backup Set 326903 2016/08/28 09:02:19
Backup Piece 326903 2016/08/28 09:02:19 /mnt/orclbackup/log_20160828_328257_1
Backup Set 326907 2016/08/28 10:01:17
Backup Piece 326907 2016/08/28 10:01:17 /mnt/orclbackup/log_20160828_328261_1
Backup Set 326908 2016/08/28 10:02:24
Backup Piece 326908 2016/08/28 10:02:24 /mnt/orclbackup/log_20160828_328262_1
Backup Set 326912 2016/08/28 11:02:08
Backup Piece 326912 2016/08/28 11:02:08 /mnt/orclbackup/log_20160828_328266_1
Backup Set 326916 2016/08/28 12:02:13
Backup Piece 326916 2016/08/28 12:02:13 /mnt/orclbackup/log_20160828_328270_1
Backup Set 326920 2016/08/28 13:02:23
Backup Piece 326920 2016/08/28 13:02:23 /mnt/orclbackup/log_20160828_328274_1
Backup Set 326924 2016/08/28 14:01:26
Backup Piece 326924 2016/08/28 14:01:26 /mnt/orclbackup/log_20160828_328278_1
Backup Set 326925 2016/08/28 14:02:41
删除即可
RMAN> delete obsolete;
--------------------------------------推荐阅读 --------------------------------------
RMAN备份时遭遇ORA-19571
RMAN 配置归档日志删除策略
Oracle基础教程之通过RMAN复制数据库
RMAN备份策略制定参考内容
RMAN备份学习笔记
Oracle数据库备份加密 RMAN加密
RMAN备份时遇到ORA-19588
--------------------------------------分割线 --------------------------------------
: