使用恢复目录(catalog)数据库
2014-10-31 15:11
429 查看
创建恢复目录
1、创建表空间
[sql]
view plaincopyprint?
SQL> create tablespace rman datafile '/u01/app/oracle/oradata/orcl/rman1.dbf' size 50m;
表空间已创建。
2、创建用户
[sql]
view plaincopyprint?
SQL> create user rman identified by rman default tablespace rman temporary tablespace temp quota unlimited on rman;
用户已创建。
3、授权
[sql]
view plaincopyprint?
SQL> grant connect,resource,recovery_catalog_owner to rman;
授权成功。
4、连接到恢复目录
[sql]
view plaincopyprint?
[oracle@linux ~]$ rman catalog rman/rman@orcl
恢复管理器: Release 10.2.0.4.0 - Production on 星期四 10月 13 12:55:12 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到恢复目录数据库
5、创建catalog数据库
[sql]
view plaincopyprint?
RMAN> create catalog;
恢复目录已创建
6、连接
[sql]
view plaincopyprint?
[oracle@linux ~]$ rman target sys/oracle@orcl catalog rman/rman@orcl
恢复管理器: Release 10.2.0.4.0 - Production on 星期四 10月 13 12:56:55 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到目标数据库: ORCL (DBID=1292118315)
连接到恢复目录数据库
7、注册
[sql]
view plaincopyprint?
RMAN> register database;
注册在恢复目录中的数据库
正在启动全部恢复目录的 resync
完成全部 resync
说明:catalog数据库也需要备份,通常使用exp/imp既可。注意:强烈建议catalog数据库和要备份的数据库不要使用同一个数据库。(这里为了方便catalog数据库和备份数据库使用了同一个。)因为如果备份数据库宕了,你连rman都进不去了,更不要说利用catalog目录里面的信息来恢复数据库。
使用catalog的另外一个好处是可以在数据库中存储备份脚本
创建脚本
[sql]
view plaincopyprint?
RMAN> create script fullbak{
2> backup database; }
已创建脚本 fullbak
运行脚本
[sql]
view plaincopyprint?
RMAN> run {execute script fullbak;}
正在执行脚本: fullbak
启动 backup 于 13-10月-11
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=150 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf
输入数据文件 fno=00003 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf
输入数据文件 fno=00006 name=/u01/app/oracle/oradata/orcl/rman1.dbf
输入数据文件 fno=00002 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf
输入数据文件 fno=00005 name=/u01/app/oracle/oradata/orcl/tb1.dbf
输入数据文件 fno=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
通道 ORA_DISK_1: 正在启动段 1 于 13-10月-11
通道 ORA_DISK_1: 已完成段 1 于 13-10月-11
段句柄=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_13/o1_mf_nnndf_TAG20111013T131009_79dwokbc_.bkp 标记=TAG20111013T131009 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:35
完成 backup 于 13-10月-11
启动 Control File and SPFILE Autobackup 于 13-10月-11
段 handle=/u01/app/oracle/flash_recovery_area/ORCL/autobackup/2011_10_13/o1_mf_s_764428246_79dwpq2f_.bkp comment=NONE
完成 Control File and SPFILE Autobackup 于 13-10月-11
RMAN> delete script fullbak;
删除脚本
[sql]
view plaincopyprint?
RMAN> delete script fullbak;
已删除脚本: fullbak
显示脚本内容
[sql]
view plaincopyprint?
RMAN> print script fullbak;
正在打印存储的脚本: fullbak
{backup database; }
列出所有脚本
[sql]
view plaincopyprint?
RMAN> list script names;
恢复目录中存储脚本的列表
目标数据库 ORCL 的脚本
脚本名
说明
-----------------------------------------------------------------------
fullbak
[b]管理恢复目录[/b]
卸载:RMAN> unregister database;
同步:RMAN> resync catalog;
升级(注意升级要运行两次):RMAN> upgrade catalog;
删除:RMAN> drop catalog;
查询恢复目录
查询恢复目录中注册的数据库
[sql]
view plaincopyprint?
SQL> conn rman/rman
已连接。
SQL> select * from rc_database;
DB_KEY DBINC_KEY DBID NAME RESETLOGS_CHANGE# RESETLOGS_TIME
---------- ---------- ---------- -------- ----------------- --------------
1 2 1292118315 ORCL 474701 12-10月-11
查询恢复目录中所记载的目标数据库的表空间信息
[sql]
view plaincopyprint?
SQL> select * from rc_tablespace;
DB_KEY DBINC_KEY DB_NAME TS# NAME CREATION_CHANGE# CREATION_TIME DROP_CHANGE# DROP_TIME INC BIG TEM ENC
---------- ---------- -------- ---------- ------------------------------ ---------------- -------------- ------------ -------------- --- --- --- ---
1 2 ORCL 0 SYSTEM 7 17-2月 -08 YES NO NO
1 2 ORCL 1 UNDOTBS1 462458 17-2月 -08 YES NO NO
1 2 ORCL 2 SYSAUX 6677 17-2月 -08 YES NO NO
1 2 ORCL 3 TEMP 464713 12-10月-11 NO NO YES
1 2 ORCL 4 USERS 10753 17-2月 -08 YES NO NO
1 2 ORCL 6 TB1 474104 12-10月-11 YES NO NO
1 2 ORCL 7 RMAN 478417 13-10月-11 YES NO NO
已选择7行。
查询恢复目录中所记载的目标数据库的数据文件信息
[sql]
view plaincopyprint?
SQL> select DB_KEY,DBINC_KEY,DB_NAME,TS#,TABLESPACE_NAME,FILE#,NAME from rc_datafile;
DB_KEY DBINC_KEY DB_NAME TS# TABLESPACE_NAME FILE# NAME
---------- ---------- -------- ---------- ------------------------------ ---------- ------------------------------------------------------------
1 2 ORCL 0 SYSTEM 1 /u01/app/oracle/oradata/orcl/system01.dbf
1 2 ORCL 1 UNDOTBS1 2 /u01/app/oracle/oradata/orcl/undotbs01.dbf
1 2 ORCL 2 SYSAUX 3 /u01/app/oracle/oradata/orcl/sysaux01.dbf
1 2 ORCL 4 USERS 4 /u01/app/oracle/oradata/orcl/users01.dbf
1 2 ORCL 6 TB1 5 /u01/app/oracle/oradata/orcl/tb1.dbf
1 2 ORCL 7 RMAN 6 /u01/app/oracle/oradata/orcl/rman1.dbf
已选择6行。
查询恢复目录中所记载的存储脚本信息
[sql]
view plaincopyprint?
SQL> select * from rc_stored_script;
DB_KEY DB_NAME SCRIPT_NAME SCRIPT_COMMENT
---------- -------- --------------- --------------------
1 ORCL fullbak
查询恢复目录中所记载的存储脚本内容
[sql]
view plaincopyprint?
SQL> select * from rc_stored_script_line;
DB_KEY SCRIPT_NAME LINE TEXT
---------- --------------- ---------- ------------------------------
1 fullbak 1 {backup database; }
1、创建表空间
[sql]
view plaincopyprint?
SQL> create tablespace rman datafile '/u01/app/oracle/oradata/orcl/rman1.dbf' size 50m;
表空间已创建。
SQL> create tablespace rman datafile '/u01/app/oracle/oradata/orcl/rman1.dbf' size 50m; 表空间已创建。
2、创建用户
[sql]
view plaincopyprint?
SQL> create user rman identified by rman default tablespace rman temporary tablespace temp quota unlimited on rman;
用户已创建。
SQL> create user rman identified by rman default tablespace rman temporary tablespace temp quota unlimited on rman; 用户已创建。
3、授权
[sql]
view plaincopyprint?
SQL> grant connect,resource,recovery_catalog_owner to rman;
授权成功。
SQL> grant connect,resource,recovery_catalog_owner to rman; 授权成功。
4、连接到恢复目录
[sql]
view plaincopyprint?
[oracle@linux ~]$ rman catalog rman/rman@orcl
恢复管理器: Release 10.2.0.4.0 - Production on 星期四 10月 13 12:55:12 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到恢复目录数据库
[oracle@linux ~]$ rman catalog rman/rman@orcl 恢复管理器: Release 10.2.0.4.0 - Production on 星期四 10月 13 12:55:12 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved. 连接到恢复目录数据库
5、创建catalog数据库
[sql]
view plaincopyprint?
RMAN> create catalog;
恢复目录已创建
RMAN> create catalog; 恢复目录已创建
6、连接
[sql]
view plaincopyprint?
[oracle@linux ~]$ rman target sys/oracle@orcl catalog rman/rman@orcl
恢复管理器: Release 10.2.0.4.0 - Production on 星期四 10月 13 12:56:55 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到目标数据库: ORCL (DBID=1292118315)
连接到恢复目录数据库
[oracle@linux ~]$ rman target sys/oracle@orcl catalog rman/rman@orcl 恢复管理器: Release 10.2.0.4.0 - Production on 星期四 10月 13 12:56:55 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved. 连接到目标数据库: ORCL (DBID=1292118315) 连接到恢复目录数据库
7、注册
[sql]
view plaincopyprint?
RMAN> register database;
注册在恢复目录中的数据库
正在启动全部恢复目录的 resync
完成全部 resync
RMAN> register database; 注册在恢复目录中的数据库 正在启动全部恢复目录的 resync 完成全部 resync
说明:catalog数据库也需要备份,通常使用exp/imp既可。注意:强烈建议catalog数据库和要备份的数据库不要使用同一个数据库。(这里为了方便catalog数据库和备份数据库使用了同一个。)因为如果备份数据库宕了,你连rman都进不去了,更不要说利用catalog目录里面的信息来恢复数据库。
使用catalog的另外一个好处是可以在数据库中存储备份脚本
创建脚本
[sql]
view plaincopyprint?
RMAN> create script fullbak{
2> backup database; }
已创建脚本 fullbak
RMAN> create script fullbak{ 2> backup database; } 已创建脚本 fullbak
运行脚本
[sql]
view plaincopyprint?
RMAN> run {execute script fullbak;}
正在执行脚本: fullbak
启动 backup 于 13-10月-11
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=150 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf
输入数据文件 fno=00003 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf
输入数据文件 fno=00006 name=/u01/app/oracle/oradata/orcl/rman1.dbf
输入数据文件 fno=00002 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf
输入数据文件 fno=00005 name=/u01/app/oracle/oradata/orcl/tb1.dbf
输入数据文件 fno=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
通道 ORA_DISK_1: 正在启动段 1 于 13-10月-11
通道 ORA_DISK_1: 已完成段 1 于 13-10月-11
段句柄=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_13/o1_mf_nnndf_TAG20111013T131009_79dwokbc_.bkp 标记=TAG20111013T131009 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:35
完成 backup 于 13-10月-11
启动 Control File and SPFILE Autobackup 于 13-10月-11
段 handle=/u01/app/oracle/flash_recovery_area/ORCL/autobackup/2011_10_13/o1_mf_s_764428246_79dwpq2f_.bkp comment=NONE
完成 Control File and SPFILE Autobackup 于 13-10月-11
RMAN> delete script fullbak;
RMAN> run {execute script fullbak;} 正在执行脚本: fullbak 启动 backup 于 13-10月-11 分配的通道: ORA_DISK_1 通道 ORA_DISK_1: sid=150 devtype=DISK 通道 ORA_DISK_1: 启动全部数据文件备份集 通道 ORA_DISK_1: 正在指定备份集中的数据文件 输入数据文件 fno=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf 输入数据文件 fno=00003 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf 输入数据文件 fno=00006 name=/u01/app/oracle/oradata/orcl/rman1.dbf 输入数据文件 fno=00002 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf 输入数据文件 fno=00005 name=/u01/app/oracle/oradata/orcl/tb1.dbf 输入数据文件 fno=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf 通道 ORA_DISK_1: 正在启动段 1 于 13-10月-11 通道 ORA_DISK_1: 已完成段 1 于 13-10月-11 段句柄=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_13/o1_mf_nnndf_TAG20111013T131009_79dwokbc_.bkp 标记=TAG20111013T131009 注释=NONE 通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:35 完成 backup 于 13-10月-11 启动 Control File and SPFILE Autobackup 于 13-10月-11 段 handle=/u01/app/oracle/flash_recovery_area/ORCL/autobackup/2011_10_13/o1_mf_s_764428246_79dwpq2f_.bkp comment=NONE 完成 Control File and SPFILE Autobackup 于 13-10月-11 RMAN> delete script fullbak;
删除脚本
[sql]
view plaincopyprint?
RMAN> delete script fullbak;
已删除脚本: fullbak
RMAN> delete script fullbak; 已删除脚本: fullbak
显示脚本内容
[sql]
view plaincopyprint?
RMAN> print script fullbak;
正在打印存储的脚本: fullbak
{backup database; }
RMAN> print script fullbak; 正在打印存储的脚本: fullbak {backup database; }
列出所有脚本
[sql]
view plaincopyprint?
RMAN> list script names;
恢复目录中存储脚本的列表
目标数据库 ORCL 的脚本
脚本名
说明
-----------------------------------------------------------------------
fullbak
RMAN> list script names; 恢复目录中存储脚本的列表 目标数据库 ORCL 的脚本 脚本名 说明 ----------------------------------------------------------------------- fullbak
[b]管理恢复目录[/b]
卸载:RMAN> unregister database;
同步:RMAN> resync catalog;
升级(注意升级要运行两次):RMAN> upgrade catalog;
删除:RMAN> drop catalog;
查询恢复目录
查询恢复目录中注册的数据库
[sql]
view plaincopyprint?
SQL> conn rman/rman
已连接。
SQL> select * from rc_database;
DB_KEY DBINC_KEY DBID NAME RESETLOGS_CHANGE# RESETLOGS_TIME
---------- ---------- ---------- -------- ----------------- --------------
1 2 1292118315 ORCL 474701 12-10月-11
SQL> conn rman/rman 已连接。 SQL> select * from rc_database; DB_KEY DBINC_KEY DBID NAME RESETLOGS_CHANGE# RESETLOGS_TIME ---------- ---------- ---------- -------- ----------------- -------------- 1 2 1292118315 ORCL 474701 12-10月-11
查询恢复目录中所记载的目标数据库的表空间信息
[sql]
view plaincopyprint?
SQL> select * from rc_tablespace;
DB_KEY DBINC_KEY DB_NAME TS# NAME CREATION_CHANGE# CREATION_TIME DROP_CHANGE# DROP_TIME INC BIG TEM ENC
---------- ---------- -------- ---------- ------------------------------ ---------------- -------------- ------------ -------------- --- --- --- ---
1 2 ORCL 0 SYSTEM 7 17-2月 -08 YES NO NO
1 2 ORCL 1 UNDOTBS1 462458 17-2月 -08 YES NO NO
1 2 ORCL 2 SYSAUX 6677 17-2月 -08 YES NO NO
1 2 ORCL 3 TEMP 464713 12-10月-11 NO NO YES
1 2 ORCL 4 USERS 10753 17-2月 -08 YES NO NO
1 2 ORCL 6 TB1 474104 12-10月-11 YES NO NO
1 2 ORCL 7 RMAN 478417 13-10月-11 YES NO NO
已选择7行。
SQL> select * from rc_tablespace; DB_KEY DBINC_KEY DB_NAME TS# NAME CREATION_CHANGE# CREATION_TIME DROP_CHANGE# DROP_TIME INC BIG TEM ENC ---------- ---------- -------- ---------- ------------------------------ ---------------- -------------- ------------ -------------- --- --- --- --- 1 2 ORCL 0 SYSTEM 7 17-2月 -08 YES NO NO 1 2 ORCL 1 UNDOTBS1 462458 17-2月 -08 YES NO NO 1 2 ORCL 2 SYSAUX 6677 17-2月 -08 YES NO NO 1 2 ORCL 3 TEMP 464713 12-10月-11 NO NO YES 1 2 ORCL 4 USERS 10753 17-2月 -08 YES NO NO 1 2 ORCL 6 TB1 474104 12-10月-11 YES NO NO 1 2 ORCL 7 RMAN 478417 13-10月-11 YES NO NO 已选择7行。
查询恢复目录中所记载的目标数据库的数据文件信息
[sql]
view plaincopyprint?
SQL> select DB_KEY,DBINC_KEY,DB_NAME,TS#,TABLESPACE_NAME,FILE#,NAME from rc_datafile;
DB_KEY DBINC_KEY DB_NAME TS# TABLESPACE_NAME FILE# NAME
---------- ---------- -------- ---------- ------------------------------ ---------- ------------------------------------------------------------
1 2 ORCL 0 SYSTEM 1 /u01/app/oracle/oradata/orcl/system01.dbf
1 2 ORCL 1 UNDOTBS1 2 /u01/app/oracle/oradata/orcl/undotbs01.dbf
1 2 ORCL 2 SYSAUX 3 /u01/app/oracle/oradata/orcl/sysaux01.dbf
1 2 ORCL 4 USERS 4 /u01/app/oracle/oradata/orcl/users01.dbf
1 2 ORCL 6 TB1 5 /u01/app/oracle/oradata/orcl/tb1.dbf
1 2 ORCL 7 RMAN 6 /u01/app/oracle/oradata/orcl/rman1.dbf
已选择6行。
SQL> select DB_KEY,DBINC_KEY,DB_NAME,TS#,TABLESPACE_NAME,FILE#,NAME from rc_datafile; DB_KEY DBINC_KEY DB_NAME TS# TABLESPACE_NAME FILE# NAME ---------- ---------- -------- ---------- ------------------------------ ---------- ------------------------------------------------------------ 1 2 ORCL 0 SYSTEM 1 /u01/app/oracle/oradata/orcl/system01.dbf 1 2 ORCL 1 UNDOTBS1 2 /u01/app/oracle/oradata/orcl/undotbs01.dbf 1 2 ORCL 2 SYSAUX 3 /u01/app/oracle/oradata/orcl/sysaux01.dbf 1 2 ORCL 4 USERS 4 /u01/app/oracle/oradata/orcl/users01.dbf 1 2 ORCL 6 TB1 5 /u01/app/oracle/oradata/orcl/tb1.dbf 1 2 ORCL 7 RMAN 6 /u01/app/oracle/oradata/orcl/rman1.dbf 已选择6行。
查询恢复目录中所记载的存储脚本信息
[sql]
view plaincopyprint?
SQL> select * from rc_stored_script;
DB_KEY DB_NAME SCRIPT_NAME SCRIPT_COMMENT
---------- -------- --------------- --------------------
1 ORCL fullbak
SQL> select * from rc_stored_script; DB_KEY DB_NAME SCRIPT_NAME SCRIPT_COMMENT ---------- -------- --------------- -------------------- 1 ORCL fullbak
查询恢复目录中所记载的存储脚本内容
[sql]
view plaincopyprint?
SQL> select * from rc_stored_script_line;
DB_KEY SCRIPT_NAME LINE TEXT
---------- --------------- ---------- ------------------------------
1 fullbak 1 {backup database; }
相关文章推荐
- 使用恢复目录(catalog)数据库!
- 恢复目录数据库(Recover Catalog)
- Oracle DB 使用DBCA创建单实例ASM数据库用作恢复目录数据库
- 恢复目录数据库(Recover Catalog)
- 恢复目录数据库发生 ORACLE 错误: ORA-00955: 名称已由现有对象使用
- RMAN-使用catalog恢复目录进行备份与恢复
- RMAN复制数据库(使用恢复目录库)
- (RMAN)使用恢复目录数据库执行RMAN步骤
- 连接目标数据库+无恢复目录连接目标数据库+使用有恢复目录连接目标数据库+注册数据库+目录同步+取消目标数据库的连接
- 恢复目录数据库(Recover Catalog)
- (RMAN)使用恢复目录数据库执行RMAN步骤 推荐
- (RMAN)使用恢复目录数据库执行RMAN
- Rman使用前的准备工作,创建恢复目录所需要使用的表空间,在目录数据库创建rman用户,在目录数据库建立恢复目录
- 使用MSSQL数据库的网站论坛(PHP)恢复与配置
- Tools:使用oradim恢复windows上的数据库
- 恢复指定目录下的所有数据库-改进版
- 使用重定向恢复克隆 DB2 数据库(摘自IBM developerWorks)
- 使用现有ECC数据库进行安装或者恢复系统
- ASP.NET2.0 TreeView控件使用数据库生成目录
- 20.4 使用FLASHBACK DATABASE 恢复数据库到先前状态