当前位置:  数据库>oracle

怎样清除v$archived_log视图中的过期信息

    来源: 互联网  发布时间:2017-06-18

    本文导语: 在使用RMAN命令删除归档后,查询v$archived_log视图会发现name列为空了,但其他列的信息还保留,时间长了会留下很多过期的信息,影响维护工作,需要将过期的信息删除。首先模拟下问题的出现过程: --删除归档日志之前查看v$ar...

在使用RMAN命令删除归档后,查询v$archived_log视图会发现name列为空了,但其他列的信息还保留,时间长了会留下很多过期的信息,影响维护工作,需要将过期的信息删除。首先模拟下问题的出现过程:

  • --删除归档日志之前查看v$archived_log视图,情况正常
  • SQL> select dest_id,sequence#,name,blocks from v$archived_log;
  •    DEST_ID SEQUENCE#                    NAME                        BLOCKS
  • ---------- ---------- --------------------------------------------- ----------
  •     1    101          /oradata/archive/orcl_1_101_851966182.arc     2730
  •     1    102          /oradata/archive/orcl_1_102_851966182.arc     95711
  •     1    103          /oradata/archive/orcl_1_103_851966182.arc     94813
  •     1    104          /oradata/archive/orcl_1_104_851966182.arc     95048
  •     1    105          /oradata/archive/orcl_1_105_851966182.arc     94677
  •     1    106          /oradata/archive/orcl_1_106_851966182.arc     97494
  •     1    107          /oradata/archive/orcl_1_107_851966182.arc     94300
  •     1    108          /oradata/archive/orcl_1_108_851966182.arc     97494
  •    
  • --使用RAMN命令删除归档
  • RMAN> delete archivelog all;
  • --再次查询v$archived_log视图,name列为空
  • SQL> select dest_id,sequence#,name,blocks from v$archived_log;
  •    DEST_ID SEQUENCE#                    NAME                        BLOCKS
  • ---------- ---------- --------------------------------------------- ----------
  •     1    101                                                        2730
  •     1    102                                                        95711
  •     1    103                                                        94813
  •     1    104                                                        95048
  •     1    105                                                        94677
  •     1    106                                                        97494
  •     1    107                                                        94300
  •     1    108                                                        97494
  •       出现这样的现象是因为使用RMAN命令在删除归档日志的时候不能够清楚控制文件中的内容,导致v$archived_log留下的过期的不完整信息。下面将归档信息进行清除:

  • --清除控制文件中关于v$archived_log的信息
  • SQL> sys.dbms_backup_restore.resetCfileSection(11);
  • PL/SQL procedure successfully completed.
  • --再次查询v$archived_log,信息已经被清除
  • SQL> select dest_id,sequence#,name,blocks from v$archived_log;
  • no rows selected
  •       但是这样是把所有的v$archive_log信息都清除了,包括未过期的也会不清除。下面再将未过期的归档文件信息注册进来。

  • --我测试环境上归档日志都在/oradata/archive/中
  • RMAN> catalog start with '/oradata/archive/';
  • --再次查询v$archived_log,未被删除的归档信息可以查询到了
  • SQL> select dest_id,sequence#,name,blocks from v$archived_log;
  •    DEST_ID SEQUENCE#                     NAME                        BLOCKS
  • ---------- ---------- --------------------------------------------- ----------
  •     1    110           /oradata/archive/orcl_1_110_851966182.arc     1
  •     1    111           /oradata/archive/orcl_1_111_851966182.arc     2
  •     1    109           /oradata/archive/orcl_1_109_851966182.arc     31079

  •     
     
     

    您可能感兴趣的文章:

     
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 clear():清除状态标志
  • php压缩html(清除换行符,清除制表符,去掉注释标记)
  • C++ I/O 成员 unsetf():清除格式标志
  • android开发教程之清除android数据缓存示例(清除本地数据缓存)
  • 不同版本MSSQL清除日志方法介绍
  • 如何清除Linux命令的历史记录(清除不该保留的命令)
  • linux僵尸(zombie)进程介绍及清除
  • 文件清除工具 Eraser
  • Linux/Centos/Ubuntu清除系统缓存释放内存命令介绍
  • 如何清除history和last命令中显示的东东?
  • wtmp清除工具 wtmpclean
  • 如何用按钮触发事件以清除session中的变量?
  • 我的IE输入form中保存了我以前输入的历史记录,我怎么清除?
  • 简单问题,怎么清除命令提示
  • Ubuntu回收站自动清除工具 Autotrash
  • 如何清除刚刚被绑定的端口???
  • rootkit清除工具 GMER
  • 请教各位:javabean被使用后需要清除吗?
  • 清除CMOS密码
  • 清除ComBox中所有项的方法是CleanItem还是别的什么?
  • 如何手动清除一个对象


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3