时间:2021-07-01 10:21:17 帮助过:27人阅读
rman catalog是为数据备份恢复时,使用恢复目录catalog,与nocatalog的不同是,nocatalog将备份相关的信息记录在了控制文件中,而catalog将备份信息记录在了恢复目录中。 本文做的实验是将恢复目录创建在oracle 12c上,需要备份的数据库在oracle 11g上。 STE
rman catalog是为数据备份恢复时,使用恢复目录catalog,与nocatalog的不同是,nocatalog将备份相关的信息记录在了控制文件中,而catalog将备份信息记录在了恢复目录中。
本文做的实验是将恢复目录创建在oracle 12c上,需要备份的数据库在oracle 11g上。
STEP1:在恢复目录catalog数据库上创建专门用于恢复的的用户c##rman,并赋予相关的权限(oracle 12c创建用户前加c##, 可以参考http://blog.csdn.net/wenchu20/article/details/43196577)
--创建恢复目录的表空间 SQL> create tablespace TBS_RMAN datafile '/u01/app/oradata/rman1.dbf' size 5M autoextend on next 2M; Tablespace created. --创建用户 SQL> create user c##rman identified by rman default tablespace tbs_rman temporary tablespace TEMP; User created. --对用户rman赋权 SQL> grant connect,resource,recovery_catalog_owner to rman; Grant succeeded.
STEP2:连接rman的target 和catalog
[oracle@REDHAT6 ~]$ rman target sys/oracle catalog rman/rman -- 或者使用下面的方式登录 [oracle@REDHAT6 ~]$ rman Recovery Manager: Release 11.2.0.3.0 - Production on Wed Jan 28 00:27:14 2015 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. RMAN> connect target sys/oracle; connected to target database: ORCL (DBID=1396675707) RMAN> connect catalog rman/rman; connected to recovery catalog database RMAN>
RMAN> create catalog tablespace TBS_RMAN; recovery catalog created
STEP4:恢复目录已经创建了, 需要将 target 和 catalog关联起来,即注册服务器(注册服务器之前 DB表是空的,注册后DB表中有数据)
RMAN> register database; database registered in recovery catalog starting full resync of recovery catalog full resync complete
SQL> select * from db; DB_KEY DB_ID CURR_DBINC_KEY ---------- ---------- -------------- 1 1396675707 2
OK, catalog恢复目录已经创建完毕
本实验,如果数据库shutdown(或数据库处于nomount, mount状态),都将不能查看备份相关的信息,因为恢复目录catalog与目标库target在同一个实例上,数据库没有打开,所以无法获取相关的信息。
如果有两台机器,target是一台机器,catalog是一台机器,target目标库停掉,也能连接catalog 。