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一下;