本文共 3737 字,大约阅读时间需要 12 分钟。
首先理解什么是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 中开头的名字)为ENMOEDURecovery 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 databaseRMAN> 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 databaseRMAN> 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 catalogcataloged backup piecebackup 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 areano files found to be unknown to the databaseList 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 Filenumber of files not managed by recovery area is 1, totaling 9.38MB
本文转自ICT时空 dbasdk博客,原文链接: ,如需转载请自行联系原博主。