暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

在Oracle中,怎样清除V$ARCHIVED_LOG视图中的过期信息?

DB宝 2019-04-03
2582


Q
题目如下所示:

在Oracle中,怎样清除V$ARCHIVED_LOG视图中的过期信息?


     

A
答案如下所示:



在使用RMAN命令(DELETE NOPROMPT ARCHIVELOG ALL;)删除归档信息后V$ARCHIVED_LOG视图中的NAME列为空,但是依然可以查询到这些删除了的归档信息,出现这样的现象是因为使用RMAN命令在删除归档日志的时候不会清除控制文件中的内容,导致V$ARCHIVED_LOG留下的过期的不完整的失效信息。

使用如下的命令可以清除控制文件中关于V$ARCHIVED_LOG的信息:

SQL> EXECUTE SYS.DBMS_BACKUP_RESTORE.RESETCFILESECTION(11);

但是这样把所有的V$ARCHIVE_LOG信息都清除了,包括未过期未失效信息也会清除所以,需要再将未过期未失效的归档文件信息注册进来。假设归档日志都在/oradata/archive/则需要执行以下命令重新注册:

RMAN> catalog start with '/oradata/archive/';

再次查询V$ARCHIVED_LOG,未被删除的归档信息可以查询到了如果归档信息放在闪回恢复区中,那么可以使用如下的命令进行重新注册:

RMAN> catalog recovery area;

需要注意的是,对于命令SYS.DBMS_BACKUP_RESTORE.RESETCFILESECTION(11)”中的11代表的是归档文件(其实就是控制文件中的“record type”),那么其它数字分别代表什么含义呢?其实,可以通过视图V$CONTROLFILE_RECORD_SECTION来查看:

 1SYS@lhrdb> SELECT ROWNUM-1 "NUMBER"TYPE FROM V$CONTROLFILE_RECORD_SECTION;
2
3    number TYPE
4---------- --------------------------------------------------------
5         0 DATABASE
6         1 CKPT PROGRESS
7         2 REDO THREAD
8         3 REDO LOG
9         4 DATAFILE
10         5 FILENAME
11         6 TABLESPACE
12         7 TEMPORARY FILENAME
13         8 RMAN CONFIGURATION
14         9 LOG HISTORY
15        10 OFFLINE RANGE
16        11 ARCHIVED LOG
17        12 BACKUP SET
18        13 BACKUP PIECE
19        14 BACKUP DATAFILE
20        15 BACKUP REDOLOG
21        16 DATAFILE COPY
22        17 BACKUP CORRUPTION
23        18 COPY CORRUPTION
24        19 DELETED OBJECT
25        20 PROXY COPY
26        21 BACKUP SPFILE
27        22 DATABASE INCARNATION
28        23 FLASHBACK LOG
29        24 RECOVERY DESTINATION
30        25 INSTANCE SPACE RESERVATION
31        26 REMOVABLE RECOVERY FILES
32        27 RMAN STATUS
33        28 THREAD INSTANCE NAME MAPPING
34        29 MTTR
35        30 DATAFILE HISTORY
36        31 STANDBY DATABASE MATRIX
37        32 GUARANTEED RESTORE POINT
38        33 RESTORE POINT
39        34 DATABASE BLOCK CORRUPTION
40        35 ACM OPERATION
41        36 FOREIGN ARCHIVED LOG
42        37 PDB RECORD
43        38 AUXILIARY DATAFILE COPY
44        39 MULTI INSTANCE REDO APPLY
45        40 PDBINC RECORD
46        41 TABLESPACE KEY HISTORY

因此,输入不同的数字,会对不同的视图数据进行清理,例如:

1EXECUTE DBMS_BACKUP_RESTORE.RESETCFILESECTION(11); /** CLEAR V$ARCHIVED_LOG    */
2EXECUTE DBMS_BACKUP_RESTORE.RESETCFILESECTION(12) ; /** CLEAR V$BACKUP_SET    */  
3EXECUTE DBMS_BACKUP_RESTORE.RESETCFILESECTION(13) ; /** CLEAR V$BACKUP_PIECE    */ 
4EXECUTE DBMS_BACKUP_RESTORE.RESETCFILESECTION(17); /** CLEAR V$BACKUP_CORRUPTION   */
5EXECUTE DBMS_BACKUP_RESTORE.RESETCFILESECTION(18); /** CLEAR V$COPY_CORRUPTION    */
6EXECUTE DBMS_BACKUP_RESTORE.RESETCFILESECTION(19); /** CLEAR V$DELETED_OBJECT     */
7EXECUTE DBMS_BACKUP_RESTORE.RESETCFILESECTION(28); /** CLEAR V$RMAN_STATUS     */


& 说明:

有关清除V$ARCHIVED_LOG视图中的过期信息的更多内容可以参考我的BLOGhttp://blog.itpub.net/26736162/viewspace-2141732/http://blog.itpub.net/26736162/viewspace-1799884/


 



DB笔试面试历史连接

http://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w

About Me:小麦苗

 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

 版权所有,欢迎分享本文,转载请保留出处

 QQ:646634621  QQ群:230161599

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。


最后修改时间:2020-01-10 21:07:17
文章转载自DB宝,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论