Oracle 如何规范清理v$archived_log记录

前端之家收集整理的这篇文章主要介绍了Oracle 如何规范清理v$archived_log记录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

 SEQUENCE# APPLIED
....................
 SEQUENCE# APPLIED
---------- ---------
      @H_404_10@9376 NO
      @H_404_10@9377 NO
      @H_404_10@9377 NO
      @H_404_10@9378 NO
      @H_404_10@9378 NO
      @H_404_10@9379 NO
      @H_404_10@9379 NO
      @H_404_10@9380 NO
      @H_404_10@9380 NO
      @H_404_10@9381 NO
      @H_404_10@9381 NO

 SEQUENCE# APPLIED
---------- ---------
      @H_404_10@9382 NO
      @H_404_10@9382 NO

@H_404_10@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     @H_404_10@164
Next log sequence to archive   @H_404_10@166
Current log sequence           @H_404_10@166
sql>

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


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

sql> execute sys.dbms_backup_restore.resetCfileSection(@H_404_10@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
---------- ---------
       @H_404_10@166 NO

sql> execute sys.dbms_backup_restore.resetCfileSection(@H_404_10@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>

猜你在找的Oracle相关文章