ITPub博客

首页 > 数据库 > Oracle > 使用RMAN恢复目录(catalog)解析

使用RMAN恢复目录(catalog)解析

Oracle 作者:dbasdk 时间:2014-08-22 11:27:38 0 删除 编辑
首先理解什么是catalog 恢复目录,实际上就是把数据库的一部分分出来作为catalog,来长时间存备份信息,在实际生产中,有时候会遇到要恢复数据库到一年或是更长时间之前的状态,我们知道控制文件存在很多重要的数据库结构信息,但是你的控制文件早已经被覆盖,你就不能完成任务,而catalog就不一样了,它可以保存很长时间,当然它也不只是可以存控制文件,也可以存别的备份副本,你可以把它简单的理解成保存时间长的控制文件,已经在控制文件清除的信息,重新加载回来。
1,创建恢复目录所有者默认表空间
SYS@ENMOEDU> create tablespace ts_catalog datafile '/u01/app/oracle/oradata/ENMOEDU/ts_catalog.dbf' size 15m; 

Tablespace created.
2,创建恢复目录所有者  
SYS@ENMOEDU> create user rcower identified by oracle default tablespace ts_catalog ; 

User created.
SYS@ENMOEDU> grant connect,resource ,recovery_catalog_owner to rcower;               

Grant succeeded.
3.创建恢复目录
[oracle@ENMOEDU ~]$ rman catalog rcower/oracle@ENMOEDU             #catalog库连接到另一个目标数据库的的网络服务名(就是tnsname.ora 中开头的名字)为ENMOEDU

Recovery Manager: Release 11.2.0.3.0 - Production on Fri Aug 15 00:37:55 2014 

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. 

connected to recovery catalog database 

RMAN> create catalog;    #自动创建了恢复目录相关的表,

recovery catalog created
注册目标数据库            注册之后目标数据库原文件会同步到catalog  
[oracle@ENMOEDU ~]$ rman target sys/oracle@ENMOEDU catalog rcower/oracle@ENMOEDU; 

Recovery Manager: Release 11.2.0.3.0 - Production on Fri Aug 15 00:47:57 2014 

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. 

connected to target database: ENMOEDU (DBID=87396644) 
connected to recovery catalog database
RMAN> register database; 

database registered in recovery catalog 
starting full resync of recovery catalog 
full resync complete 
查看已经注册的目标库
[oracle@ENMOEDU ~]$ sqlplus rcower/oracle@ENMOEDU                     

SQL*Plus: Release 11.2.0.3.0 Production on Fri Aug 15 00:51:27 2014 

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


Connected to: 
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production 
With the Partitioning, OLAP, Data Mining and Real Application Testing options 

RCOWER@ENMOEDU> SELECT * FROM RC_DATABASE; 

DB_KEY DBINC_KEY DBID NAME RESETLOGS_CHANGE# RESETLOGS 
---------- ---------- ---------- -------- ----------------- --------- 
1 2 87396644 ENMOEDU 1 07-OCT-13
从恢复目录中注销目标数据库
oracle@ENMOEDU ~]$ rman target sys/oracle@ENMOEDU catalog rcower/oracle@ENMOEDU;             #目标库和catalog库可以为同一个库,但是实际上是没有意义的,因为你库打不开时,是无法使用catalog的

Recovery Manager: Release 11.2.0.3.0 - Production on Fri Aug 15 00:47:57 2014 

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. 

connected to target database: ENMOEDU (DBID=87396644) 
connected to recovery catalog database
RMAN> unregister database; 
 将其他备份副本导入到恢复目录,
oracle@ENMOEDU ~]$ rman target sys/oracle@ENMOEDU catalog rcower/oracle@ENMOEDU;   
Recovery Manager: Release 11.2.0.3.0 - Production on Fri Aug 15 00:47:57 2014 

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. 

connected to target database: ENMOEDU (DBID=87396644) 
connected to recovery catalog database
将一个文件导入恢复目录  
RMAN> catalog backuppiece                               '/u01/app/oracle/fast_recovery_area/ENMOEDU/backupset/2014_08_16/o1_mf_nnndf_TAG20140816T113253_9yxn76sb_.bkp';
using target database control file instead of recovery catalog
cataloged backup piece
backup piece handle=/u01/app/oracle/fast_recovery_area/ENMOEDU/backupset/2014_08_16/o1_mf_nnndf_TAG20140816T113253_9yxn76sb_.bkp RECID=26 STAMP=855748159
如果使用了快速恢复区,可以这样一次性导入。
RMAN> catalog recovery area noprompt;
searching for all files in the recovery area
no files found to be unknown to the database
List of files in Recovery Area not managed by the database
==========================================================
File Name: /u01/app/oracle/fast_recovery_area/ENMOEDU/control02.ctl
  RMAN-07526: Reason: File is not an Oracle Managed File
number of files not managed by recovery area is 1, totaling 9.38MB

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

下一篇: ORACLE索引的管理
请登录后发表评论 登录
全部评论

注册时间:2014-07-02

  • 博文量
    490
  • 访问量
    1388103