Oracle 12C DG环境,备库归档目录告警,查看crontab脚本,发现有删除操作,保持两天的,后手动执行,查看具体报错原因;

RMAN> delete noprompt expired archivelog all;

released channel: ORA_DISK_1 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=5408 device type=DISK specification does not match any archived log in the repository

RMAN> delete noprompt archivelog until time 'sysdate-2';

released channel: ORA_DISK_1 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=5408 device type=DISK RMAN-08137: warning: archived log not deleted, needed for standby or upstream capture process archived log file name=/u01/arch/fcdstdydb1_948_973216253.dbf thread=1 sequence=948 RMAN-08137: warning: archived log not deleted, needed for standby or upstream capture process archived log file name=/u01/arch/fcdstdydb1_949_973216253.dbf thread=1 sequence=949 RMAN-08137: warning: archived log not deleted, needed for standby or upstream capture process archived log file name=/u01/arch/fcdstdydb1_950_973216253.dbf thread=1 sequence=950 RMAN-08137: warning: archived log not deleted, needed for standby or upstream capture process archived log file name=/u01/arch/fcdstdydb1_951_973216253.dbf thread=1 sequence=951 RMAN-08137: warning: archived log not deleted, needed for standby or upstream capture process archived log file name=/u01/arch/fcdstdydb1_952_973216253.dbf thread=1 sequence=952 RMAN-08137: warning: archived log not deleted, needed for standby or upstream capture process

---解决---

RMAN> delete noprompt force archivelog all completed before 'sysdate-2';

released channel: ORA_DISK_1 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=5408 device type=DISK List of Archived Log Copies for database with db_unique_name FCDSTDYDB

Key Thrd Seq S Low Time


935 1 948 A 2018:06:05 02:23:34 Name: /u01/arch/fcdstdydb1_948_973216253.dbf

936 1 949 A 2018:06:05 02:28:52 Name: /u01/arch/fcdstdydb1_949_973216253.dbf

937 1 950 A 2018:06:05 02:32:32

---说明---

此为11g的bug,需要在delete后加上force关键字,metalink上有记载 RMAN-08137 When deleting archivelogs even when Streams CAPTURE does not require them [ID 1079953.1]

In this Document   Symptoms   Changes   Cause   Solution   References

Symptoms Applies To: 11gR1-11gR2

RMAN is unable to delete archive logs from database even though they are not needed by CAPTURE process anymore.

Changes  

Cause In 11g, RMAN looks at MIN_REQUIRED_CAPTURE_CHANGE# in v$database and not at DBA_CAPTURE. By default this value is updated every 6 hours. So by default the value in v$database will be six hours behind the current value.

Solution Since changing frequency of update to MIN_REQUIRED_CAPTURE_CHANGE# in v$database can not be controlled, following workaround can be used:

Archive log which are not needed by capture process can be deleted using:

delete noprompt force archivelog all completed before 'sysdate-10/1440';

PS:我们的环境是12C DG,该BUG在11g中有明确标识,12C就此MARK一下;