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

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

  1. --删除归档日志之前查看v$archived_log视图,情况正常
  2. SQL> select dest_id,sequence#,name,blocks from v$archived_log;
  3.    DEST_ID SEQUENCE#                    NAME                         BLOCKS
  4. ---------- ---------- --------------------------------------------- ----------
  5.      1     101          /oradata/archive/orcl_1_101_851966182.arc      2730
  6.      1     102          /oradata/archive/orcl_1_102_851966182.arc      95711
  7.      1     103          /oradata/archive/orcl_1_103_851966182.arc      94813
  8.      1     104          /oradata/archive/orcl_1_104_851966182.arc      95048
  9.      1     105          /oradata/archive/orcl_1_105_851966182.arc      94677
  10.      1     106          /oradata/archive/orcl_1_106_851966182.arc      97494
  11.      1     107          /oradata/archive/orcl_1_107_851966182.arc      94300
  12.      1     108          /oradata/archive/orcl_1_108_851966182.arc      97494
  13.     
  14. --使用RAMN命令删除归档
  15. RMAN> delete archivelog all;
  16. --再次查询v$archived_log视图,name列为空
  17. SQL> select dest_id,sequence#,name,blocks from v$archived_log;
  18.    DEST_ID SEQUENCE#                    NAME                         BLOCKS
  19. ---------- ---------- --------------------------------------------- ----------
  20.      1     101                                                        2730
  21.      1     102                                                        95711
  22.      1     103                                                        94813
  23.      1     104                                                        95048
  24.      1     105                                                        94677
  25.      1     106                                                        97494
  26.      1     107                                                        94300
  27.      1     108                                                        97494

      出现这样的现象是因为使用RMAN命令在删除归档日志的时候不能够清楚控制文件中的内容,导致v$archived_log留下的过期的不完整信息。下面将归档信息进行清除:

  1. --清除控制文件中关于v$archived_log的信息
  2. SQL> execute sys.dbms_backup_restore.resetCfileSection(11);
  3. PL/SQL procedure successfully completed.
  4. --再次查询v$archived_log,信息已经被清除
  5. SQL> select dest_id,sequence#,name,blocks from v$archived_log;
  6. no rows selected

      但是这样是把所有的v$archive_log信息都清除了,包括未过期的也会不清除。下面再将未过期的归档文件信息注册进来。

  1. --我测试环境上归档日志都在/oradata/archive/中
  2. RMAN> catalog start with '/oradata/archive/';
  3. --再次查询v$archived_log,未被删除的归档信息可以查询到了
  4. SQL> select dest_id,sequence#,name,blocks from v$archived_log;
  5.    DEST_ID SEQUENCE#                     NAME                        BLOCKS
  6. ---------- ---------- --------------------------------------------- ----------
  7.      1     110           /oradata/archive/orcl_1_110_851966182.arc      1
  8.      1     111           /oradata/archive/orcl_1_111_851966182.arc      2
  9.      1     109           /oradata/archive/orcl_1_109_851966182.arc      31079
时间: 2024-10-23 08:48:44

怎样清除v$archived_log视图中的过期信息的相关文章

物化视图中的统计信息导致的查询问题分析和修复

今天开发的同事下午反馈给我一个问题,说有操作直接卡住了,听这个描述,感觉很可能是查询慢了. 于是连接到环境中,查看了一下正在执行的sql语句情况,发现下面的语句已经执行了一段时间. 语句类似下面的形式: select t1.SECURITY_PHONE as MOBILE_PHONE, t1.SECURITY_EMAIL as OTHER_EMAIL, t2.* from accstat.ACCOUNT_DELTA t1, bidata.TMP_CN06 t2 where t1.CN_MASTE

MFC框架下 单文档视图中多视图切换问题

问题描述 MFC框架下 单文档视图中多视图切换问题 在MainFrm.cpp 里对主视图进行了切分 BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs CCreateContext* pContext){ // TODO: Add your specialized code here and/or call the base class // CRect rc; // 获取框架窗口客户区的CRect对象 GetClientRect(&rc);

在视图中使用ORDER BY子句

视图 问:为什么SQL Server不允许在视图定义使用ORDER BY子句? 答: SQL Server之所以不允许在视图定义中使用ORDER BY子句是为了遵守ANSI SQL-92标准.因为对该标准的原理分析需要对结构化查询语言(SQL)的底层结构和它所基于的数学理论进行讨论,我们不能在这里对它进行充分的解释.但是,如果你需要在视图中指定ORDER BY子句,可以考虑使用以下方法: USE pubsGO CREATE VIEW AuthorsByNameASSELECT TOP 100 P

在设计视图中Access允许的九种数据类型

在表的设计视图中,每一个字段都有设计类型,Access允许九种数据类型:文本.备注.数值.日期/时间.货币.自动编号.是/否.OLE对象.超级链接.查询向导. 文本:这种类型允许最大255个字符或数字,Access默认的大小是50个字符,而且系统只保存输入到字段中的字符,而不保存文本字段中未用位置上的空字符.可以设置"字段大小"属性控制可输入的最大字符长度. 备注: 这种类型用来保存长度较长的文本及数字,它允许字段能够存储长达64000个字符的内容.但Access不能对备注字段进行排序

如何在Word 2013页面视图中显示背景色

在设置了背景色的Word2013文档中,用户可以根据需要显示页面背景色,操作步骤如下所述: 第1步,打开Word2013文档窗口,依次单击"文件"→"选项"按钮,如图2013072505所示. 图2013072505 单击"选项"按钮 第2步,打开"Word选项"对话框,切换到"高级"选项卡.在"显示文档内容"区域选中"在页面视图中显示背景色和图像"复选框,并单击&q

如何在Word 2013文档大纲视图中显示样式

在Word2013文档中,如果用户希望能够在大纲视图中显示每个段落所应用的样式,则可以按照如下步骤进行操作: 第1步,打开Word2013文档窗口,依次单击"文件"→"选项"按钮,如图2013081017所示. 图2013081017 单击"选项"按钮 第2步,在打开的"Word选项"对话框中切换到"高级"选项卡,在"显示"区域中,将"草稿和大纲视图中的样式区窗格宽度"

如何在Word 2013草稿和大纲视图中使用草稿字体

在Word2013文档中,用户可以设置一种字体作为草稿字体.当启用"在草稿和大纲视图中使用草稿字体"功能后,则草稿和大纲视图中的Word文档内容将只以草稿字体显示,而不再显示其他字体效果.具体设置步骤如下所述: 第1步,打开Word2013文档窗口,依次单击"文件"→"选项"按钮,如图2013072526所示. 图2013072526 单击"选项"按钮 第2步,打开"Word选项"对话框,切换到"

在Word 2007的草稿和大纲视图中使用草稿字体

在Word2007文档中,用户可以设置一种字体作为草稿字体.当启用"在草稿和 大纲视图中使用草稿字体"功能后,则草稿和大纲视图中的Word文档内容将只以 草稿字体显示,而不再显示其他字体效果.具体设置步骤如下所述: 第1 步,打开Word2007文档窗口,依次单击"Office按钮"→"Word选项"按钮,如 图2012040436所示. 图2012040436 单击"Word选项"按钮 第2步,打开" Word选项

在Word 2010草稿和大纲视图中使用草稿字体

在Word 2010文档中,用户可以设置一种字体作为草稿字体.当启用"在 草稿和大纲视图中使用草稿字体"功能后,则草稿和大纲视图中的Word文档 内容将只以草稿字体显示,而不再显示其他字体效果.具体设置步骤如下所述: 第1步,打开Word 2010文档窗口,依次单击"文件 "→"选项"按钮,如图2012011605所示. 图 2012011605 单击"选项"按钮 第2步,打开"Word选项"对话框,切换到