SQL> select * from v$version;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionPL/SQL Release 11.2.0.3.0 - ProductionCORE 11.2.0.3.0 ProductionTNS for Linux: Version 11.2.0.3.0 - ProductionNLSRTL Version 11.2.0.3.0 - Production
11g dataguard 环境中用rman删除主库的归档,出现 RMAN-08137:sql
WARNING: archived log not deleted, needed for standby or upstream capture process数据库
经过下述两个sql检查,发现主库的归档都已经应用到standby库。app
SQL> select max(sequence#) from v$archived_log; SQL>select max(sequence#) from v$archived_log where applied='YES';
尝试用下述命令删除7天前的归档spa
RMAN>crosscheck archivelog all; RMAN> delete noprompt archivelog until time 'sysdate-7';
错误以下: 日志
RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture processcode
检查发现数据库开启了附加日志:同步
SQL> select force_logging,supplemental_log_data_min from v$database; FORCE_LOGGING SUPPLEMENTAL_LOG_DATA_MIN ------------- ------------------------- YES YES
附加日志是goldengate同步数据时用到的,如今数据已经迁移完毕。能够关闭掉附加日志。
it
SQL> alter database drop supplemental log data; Database altered
检查dba_capture,发现有记录
io
SQL> select capture_name, status, captured_scn, applied_scn, capture_type 2 from dba_capture; CAPTURE_NAME STATUS CAPTURED_SCN APPLIED_SCN CAPTURE_TYPE ------------------------------ -------- ------------ ----------- ------------ OGG2$EXT_EMCF3359B3 DISABLED LOCAL
利用 dbms_capture_adm.drop_capture删除相关记录class
SQL> exec dbms_capture_adm.drop_capture(capture_name =>'OGG2$EXT_EMCF3359B3'); PL/SQL procedure successfully completed
删除归档正常。
RMAN> delete noprompt archivelog until time 'sysdate-7'; ... Deleted 49 objects