• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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
    ---------- ---------
       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> 
    
    

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

    您可能感兴趣的文章:
    • Oracle中的游标和函数详解
    • oracle获取当前时间,精确到毫秒并指定精确位数的实现方法
    • Linux静默安装Oracle11g部分问题的解决方法
    • win10 oracle11g安装报错问题集合 附解决方法
    • Oracle连接远程数据库的四种方法
    • Oracle解析复杂json的方法实例详解
    • Oracle存储过程、包、方法使用总结(推荐)
    • oracle创建表空间、授权、创建用户、导入dmp文件
    上一篇:Oracle基本PLSQL的使用实例详解
    下一篇:关于sql脚本导入Oracle时重复生成check约束的问题解决
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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