微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Oracle 如何规范清理v$archived_log记录实例详解

Oracle 如何规范清理v$archived_log记录实例详解

单机实例上面,v$archived_log 很多,有上万条记录了,所以得清理一下,不然每次查询都直接滚屏幕了

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

SEQUENCE# APPLIED
....................
SEQUENCE# APPLIED


9376 NO
9377 NO
9377 NO
9378 NO
9378 NO
9379 NO
9379 NO
9380 NO
9380 NO
9381 NO
9381 NO

SEQUENCE# APPLIED


9382 NO
9382 NO

11200 rows selected.

sql>

然后查看下当前的归档记录

archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 164 Next log sequence to archive 166 Current log sequence 166 sql>

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

清理记录,采用sys.dbms_backup_restore.resetCfileSection(11);清理:

execute sys.dbms_backup_restore.resetCfileSection(11);

PL/sql procedure successfully completed.

sql> select sequence#,applied from v$archived_log order by sequence# ;

no rows selected

sql>

再次测试,可以查看到日志记录变化了,v$archived_log已经是最新的,只有一条记录数存在了:

alter system switch logfile;

System altered.

sql> select sequence#,applied from v$archived_log order by sequence# ;

SEQUENCE# APPLIED


166 NO

sql> execute sys.dbms_backup_restore.resetCfileSection(11);

PL/sql procedure successfully completed.

sql> select sequence#,applied from v$archived_log order by sequence# ;

no rows selected

sql>

扩展话题,单机实例可以用上,述办法操作,那么Oracle集群比如dg呢,分析master库、standby库

select count(1) from v$archived_log;

COUNT(1)

623616

sql>

standby库上v$archived_log表记录数:

sql> select count(1) from v$archived_log;

COUNT(1)

2226823

sql>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持

原文地址:https://www.jb51.cc/oracle/64867.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐