源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-01-18 02:33 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Oracle 如何规范清理v$archived_log记录实例详解
[b]Oracle 如何规范清理v$archived_log记录实例详解[/b] 单机实例上面,v$archived_log 很多,有上万条记录了,所以得清理一下,不然每次查询都直接滚屏幕了
SQL> 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> 

然后查看下当前的归档记录
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);清理:
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> 

再次测试,可以查看到日志记录变化了,v$archived_log已经是最新的,只有一条记录数存在了:
SQL> 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库
#master库上v$archived_log表记录数:
SQL> 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> 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部