恢复目录视图调用的问题

我们在用RMAN做备份以后,可以通过目标数据库的视图和恢复目录的视图查看备份结果,也可以用list backup,report来查看.

SQL> select count(*) from v$backup_files;

  COUNT(*)
----------
        39

SQL> conn rman_user/rman_user@rman
已连接。
SQL> select count(*) from rc_backup_files;
select count(*) from rc_backup_files
*
第 1 行出现错误:
ORA-20021: database not set
ORA-06512: 在 "RMAN_USER.DBMS_RCVMAN", line 18877
ORA-06512: 在 "RMAN_USER.RC_LBRECSETIMPL_T", line 58

但是查看恢复目录视图时出现错误.


C:\Documents and Settings\oracle>set ORACLE_SID=devdb

C:\Documents and Settings\oracle>rman target / catalog rman_user/rman_user@rman

恢复管理器: Release 10.2.0.4.0 - Production on 星期三 5月 21 10:20:05 2008

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

连接到目标数据库: DEVDB (DBID=557726576)
连接到恢复目录数据库

RMAN> register database;

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: register 命令 (default 通道上, 在 05/21/2008 10:20:20 上) 失败
RMAN-20002: 目标数据库已经在恢复目录中注册

我们看到恢复目录中已经注册了.


SQL> select * from rc_database_incarnation;


    DB_KEY       DBID  DBINC_KEY NAME     RESETLOGS_CHANGE# RESETLOGS_TIME
---------- ---------- ---------- -------- ----------------- -------------------
         1  557726576          2 DEVDB               564341 2008-04-25 19:56:36
         1  557726576          5 DEVDB                    1 2008-03-14 18:46:22

两个数据库实体信息.

SQL> select * from rc_database;

    DB_KEY  DBINC_KEY       DBID NAME     RESETLOGS_CHANGE# RESETLOGS_TIME
---------- ---------- ---------- -------- ----------------- -------------------
         1          2  557726576 DEVDB               564341 2008-04-25 19:56:36

当前最新的数据库信息.

SQL> exec dbms_rcvcat.unregisterdatabase(1,557726576);

PL/SQL 过程已成功完成。

取消注册,重新注册.

RMAN> list incarnation;


数据库原型列表
DB 关键字  Inc 关键字 DB 名  DB ID            STATUS  重置 SCN  重置时间
------- ------- -------- ---------------- --- ---------- ----------
1       5       DEVDB    557726576        PARENT  1          2008-03-14 18:46:22
1       2       DEVDB    557726576        CURRENT 564341     2008-04-25 19:56:36

RMAN> list incarnation;


RMAN> reset database;

数据库原型已经注册
正在启动全部恢复目录的 resync
完成全部 resync

RMAN> list incarnation;


数据库原型列表
DB 关键字  Inc 关键字 DB 名  DB ID            STATUS  重置 SCN  重置时间
------- ------- -------- ---------------- --- ---------- ----------
294     299     DEVDB    557726576        PARENT  1          2008-03-14 18:46:22
294     295     DEVDB    557726576        CURRENT 564341     2008-04-25 19:56:36

 

SQL> l
  1* select * from rc_backup_files
SQL> /
select * from rc_backup_files
*
第 1 行出现错误:
ORA-20021: database not set
ORA-06512: 在 "RMAN_USER.DBMS_RCVMAN", line 18877
ORA-06512: 在 "RMAN_USER.RC_LBRECSETIMPL_T", line 58

仍然报错.

SQL> select * from db;

    DB_KEY      DB_ID HIGH_CONF_RECID LAST_KCCDIVTS HIGH_IC_RECID CURR_DBINC_KEY
---------- ---------- --------------- ------------- ------------- --------------
       294  557726576                     652996592             2            295

查看Metalink才明白:

主题:  Query of RC_BACKUP_FILES View Returns error Ora-20021
  文档 ID:  注释:363125.1 类型:  HOWTO
  上次修订日期:  30-MAR-2006 状态:  MODERATED

要查询这个视图,必须在执行DBMS_RCVMAN.SETDATABASE以后才能查询,在执行中指定目标数据库的DBID.

 

RC_BACKUP_FILES 这个视图列出的备份是反映在RMAN恢复目录中 repository的结果. 这个视图和控制文件中的视图V$BACKUP_FILES 相对应.


SQL> CALL DBMS_RCVMAN.SETDATABASE(null,null,null,557726576,null);

调用完成。

SQL> select count(*) from rc_backup_files;

  COUNT(*)
----------
        50

It is usually more convenient to access this information using the LIST BACKUP and LIST COPY
commands from within RMAN.
You must use DBMS_RCVMAN.SetDatabase to select a database from the recovery catalog schema before
you can use this view.

看metalink的意思,如果要查询这个视图,需要执行恢复目录中的哪个数据库,即使就一个数据库也需要set

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/175005/viewspace-281132/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/175005/viewspace-281132/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值