使用Catalog命令注册RMAN备份集
来源:互联网 发布:淘宝账户能注销吗 编辑:程序博客网 时间:2024/06/04 19:21
使用Catalog命令注册RMAN备份集
链接:http://www.eygle.com/archives/2008/06/10g_catalog_rman.html
只有原库数据文件的RMAN备份集(此备份集不包含控制文件,log,参数文件等等,单纯只有数据库的所有数据文件的备份集),主库废了(可以理解为机房所在地地震了).
现在要求在新实例中恢复这个RMAN的数据文件备份集.
1.原数据库的表空间名称,数据文件结构\名称\数量--未知.
2.原数据文件的FILE#也许是不连续的.(可能5号文件后6.7.8都空闲,然后是9号数据文件.)
这样说吧,可以说你对原数据库一无所知.
我试过dbms_backup_restore抽取RMAN备份集中数据文件,再建立控制文件,确实可以恢复但,这个方法有局限性,不够完美.
抽取的时候需要指明FILE#,NEW_DATAFILE_NAME...
可以说抽取是尝试的抽取.FILE#=5,6,7这样一个一个的尝试,这就对多数据文件的库很麻烦,而且文件号不连续会报错停止抽取动作.下一条抽取动作就无法继续执行.要手动关闭通道后再次抽取.
迫切的想知道如何查出RMAN的备份集中的数据文件信息.
想知道如何收集全建立出支持这个备份集的控制文件.
我们知道Oracle10g丰富了catalog命令,使用这个命令,可以将RMAN的备份集注册到控制文件(或者目录数据库中)
类似的一系列命令有:
CATALOG ARCHIVELOG '?/oradata/archive1_30.dbf','?/oradata/archive1_31.dbf',
'?/oradata/archive1_32.dbf';
CATALOG DATAFILECOPY '?/oradata/users01.bak' LEVEL 0;
CATALOG START WITH '/tmp/arch_logs';
CATALOG RECOVERY AREA NOPROMPT;
CATALOG BACKUPPIECE'?/oradata/01dmsbj4_1_1.bcp';
但是注意这些命令是有限制的,其中的一个限制是不能注册备份文件到不同的数据库:
You cannot use CATALOG to catalog a file that belongs to adifferent database.
也就是说你至少还需要原数据库的控制文件。
否则就会出现类似如下的错误:
[oracle@standby ~]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Thu May 2201:02:56 2008
Copyright (c) 1982, 2005, Oracle.All rightsreserved.
connected to target database (not started)
RMAN> set dbid=1490303982
executing command: SET DBID
RMAN> startup mount;
Oracle instance started
database mounted
Total System Global Area285212672 bytes
Fixed Size1218992 bytes
Variable Size92276304bytes
Database Buffers188743680 bytes
Redo Buffers2973696 bytes
RMAN-00571:===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS===============
RMAN-00571:===========================================================
RMAN-03002: failure of startup command at 05/22/2008 01:03:08
RMAN-06189: current DBID 1490303982 does not match target mounteddatabase (1492784050)
是否没有办法呢?当然是有的,我们可以先修改一个恢复数据库的DBID,然后再来注册这个备份集。
修改DBID可以使用之前我曾经写过的,Oracle10g的 dbms_backup_restore 包。
修改之后就可以用来注册了,看看我注册一个种子数据库备份集的过程:
C:\>rman target /
恢复管理器: Release 10.2.0.3.0 - Production on 星期三 5月 21 22:25:342008
Copyright (c) 1982, 2005, Oracle.All rightsreserved.
已连接到目标数据库 (未启动)
RMAN> startup mount;
Oracle 实例已启动
数据库已装载
系统全局区域总计251658240 字节
Fixed Size1289988 字节
Variable Size171966716字节
Database Buffers75497472 字节
Redo Buffers2904064 字节
RMAN> catalog start with 'd:\obak';
使用目标数据库控制文件替代恢复目录
搜索与样式 d:\obak 匹配的所有文件
数据库未知文件的列表
=====================================
文件名: D:\obak\FULL20080520
文件名: D:\obak\Seed_Database.dfb
是否确实要将上述文件列入目录 (输入 YES 或 NO)? YES
正在编制文件目录...
目录编制完毕
已列入目录的文件的列表
=======================
文件名: D:\obak\Seed_Database.dfb
未列入目录的文件的列表
=======================================
文件名: D:\obak\FULL20080520
RMAN-07518: 原因: 外部数据库文件 DBID:1052376487 数据库名: EEYGLE
RMAN> list backup;
备份集列表
===================
BS 关键字类型 LV 大小
------- ---- -- ----------
2Full 91.88M
备份集 2 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 538267 19-11月-06D:\ORACLE\ORADATA\EYGLE\DATAFILE\O1_MF_SYSTEM_3V7YLH8S_.DBF
2 Full 538267 19-11月-06D:\ORACLE\ORADATA\EYGLE\DATAFILE\O1_MF_UNDOTBS1_3V7YLHHN_.DBF
3 Full 538267 19-11月-06D:\ORACLE\ORADATA\EYGLE\DATAFILE\O1_MF_SYSAUX_3V7YLH9R_.DBF
4 Full 538267 19-11月-06D:\ORACLE\ORADATA\EYGLE\DATAFILE\O1_MF_USERS_3V7YLHJ3_.DBF
备份集 副本号 1 属于备份集 2
设备类型 经过时间 完成时间 压缩标记
----------- ------------ ---------- -------------
DISK 00:00:00 21-5月 -08 YES
备份集 2 副本号 1的备份段列表
BP 关键字 Pc#状态 段名称
------- --- ---------------------
1 1 AVAILABLE D:\OBAK\SEED_DATABASE.DFB
备份集 副本号 2 属于备份集 2
设备类型 经过时间 完成时间 压缩标记
----------- ------------ ---------- -------------
DISK 00:00:00 21-5月 -08 YES
备份集 2 副本号 2的备份段列表
BP 关键字 Pc#状态 段名称
------- --- ---------------------
2 1 AVAILABLE D:\OBAK\SEED_DATABASE.DFB
RMAN>
0 0
- 使用Catalog命令注册RMAN备份集
- 使用Catalog命令注册RMAN备份集
- 使用Catalog命令注册RMAN备份集
- 使用Catalog命令注册RMAN备份集
- 使用catalog的rman备份与恢复
- rman 使用catalog备份的演示
- rman备份之catalog
- rman中CATALOG命令的使用
- rman备份,未使用catalog,控制文件丢失的解决办法
- rman备份,未使用catalog,控制文件丢失的解决办法
- 使用NBU命令恢复CATALOG冷备份
- 基于catalog 的RMAN 备份与恢复
- -- 基于catalog 的RMAN 备份与恢复
- 创建RMAN catalog实现物理备份
- RMAN catalog自动备份脚本设计
- rman catalog方式备份配制与脚本
- 基于catalog 的RMAN 备份脚本
- ORACLE 11g RMAN备份恢复--catalog
- WARNING Inbound Connec…
- Oracle等待事件: resmgr:cpu quant…
- OpenSSL工具生成根证书与应用证书
- 关于SQLSERVER SQL性能优化
- ORA-40210 time-out occ…
- 使用Catalog命令注册RMAN备份集
- 面试题------全排列的非递归和递归实现(含重复元素)
- ORA-12709: error while…
- 由于 ORA-20100: 错误:&…
- RMAN-08591: WARNING: i…
- Android 错误汇总
- Device Checks for&nbsp…
- hdu 5974 A Simple Math Problem
- perl adcfgclone.pl appsTier卡住