oracle清理v$archived_log记录

2018-08-21

v$archived_log 记录越来越多,如何清理记录?

通过重建控制文件或设置control_file_record_keep_time=0。

或者

使用execute sys.dbms_backup_restore.resetCfileSection清理

1、select sequence#,applied from v$archived_log order by sequence# ;

set linesize 200
col name format a80
select name,sequence#,applied,first_time,next_time from v\$archived_log;

2、archive log list;

3、看到归档记录才是164,和v$archived_log里面上记录数不匹配,这是因为这是rman备份恢复遗留下来的记录,所以需要清理一下。

4、查看归档日志列表

crosscheck archivelog all;  

删除所有归档日志

DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE'; 

select rownum-1 session_id, type from v$controlfile_record_section;  行号作为session_ID

清理v$archived_log对应的记录,采用sys.dbms_backup_restore.resetCfileSection(11);清理:

SQL> execute sys.dbms_backup_restore.resetCfileSection(11);
清理v$rman_status对应的记录,执行execute sys.dbms_backup_restore.resetCfileSection(28);
分类:数据库 | 标签: |

相关日志

评论被关闭!