前不久因工作需要使用RMAN异机恢复,很基础也很具有代表性和普遍性,希望对需要的人有所帮助。
具体过程如下:
先拷贝原库的口令文件和参数文件到备库。
然后使用如下脚本对原库进行备份:
run {
allocate channel d1 type disk;
allocate channel d2 type disk;
backup full database format'c: manbakdate%Y%m%d_full_%d_%s_%p_篔'
tag='full' include current controlfile;
sql 'alter system archive log current';
backup archivelog all format'c: manbakdate%Y%m%d_archivelog_%d_%s_%p_篔' delete all input;
release channel d2;
release channel d1;
}
备份完成后把这些备份文件全部拷到备库中已经事先创建好的目录C: manbak,注意一定要拷全。
由于我异机恢复的时候的数据文件是和原库不同的目录所以在恢复时使用如下的脚本:
run{
set newname for datafile 1 to"C:PRODUCT10.2.0ORADATATESTSYSTEM01.DBF";
set newname for datafile 2 to"C:ORACLEPRODUCT10.2.0ORADATATESTUNDOTBS01.DBF";
set newname for datafile 3 to"C:ORACLEPRODUCT10.2.0ORADATATESTSYSAUX01.DBF";
set newname for datafile 4 to"C:ORACLEPRODUCT10.2.0ORADATATESTUSERS01.DBF";
set newname for datafile 5 to"C:ORACLEPRODUCT10.2.0ORADATATESTOEEDATA.DBF";
set newname for datafile 6 to"C:ORACLEPRODUCT10.2.0ORADATATESTOEEINDEX.DBF";
set newname for datafile 7 to"C:ORACLEPRODUCT10.2.0ORADATATESTSMLDATA.DBF";
set newname for datafile 8 to"C:ORACLEPRODUCT10.2.0ORADATATESTSMLINDX.DBF";
set newname for datafile 9 to"C:ORACLEPRODUCT10.2.0ORADATATESTMEDDATA.DBF";
set newname for datafile 10 to"C:ORACLEPRODUCT10.2.0ORADATATESTMEDINDX.DBF";
set newname for datafile 11 to"C:ORACLEPRODUCT10.2.0ORADATATESTLRGDATA.DBF";
set newname for datafile 12 to"C:ORACLEPRODUCT10.2.0ORADATATESTLRGINDX.DBF";
restore database;
switch datafile all;
}
在执行这一步是总是报错如下:
Starting restore at 01-JUN-11
using channel ORA_DISK_1
RMAN-00571:=================================================
RMAN-00569: ===== ERROR MESSAGE STACKFOLLOWS ====
RMAN-00571:==========================================
RMAN-03002: failure of restore command at06/01/2011 21:21:28
RMAN-06026: some targets notfound - aborting restore
RMAN-06023: no backup or copy ofdatafile 3 found to restore
RMAN-06023: no backup or copy of datafile2 found to restore
RMAN-06023: no backup or copy of datafile1 found to restore
提示找不到备份集,我的备份是全备的,而且不存在拷贝不完全的情况啊,我又从原库备份了一份数据,还是不行。百思不得其解,也曾经怀疑是不是controlfile和backupset是不是不一致啊,controlfile过旧的原因呢,controlfile就是从全备中恢复过来的应该不是这个原因。最后,发现在恢复过程中RMAN提示信息,只是查找C:RMANBAKDATE_2013%MTEST_FULL_TEST_16_1_0GOOMADP.BAK这样一个backupset,其他的rman备份就没有查到,使用listbackup列出rman的备份集,如下:
RMAN> list backup;
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------------------- ----------
16 Full 2.53G DISK 00:03:47 11-11月-13
BP 关键字: 16 状态:AVAILABLE 已压缩: NO 标记: FULL
段名:C:RMANBAKDATE_2013%MTEST_FULL_TEST_16_1_0GOOMADP.BAK
备份集 16 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATAOEENET
CHSYSTEM01.DBF
4 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATAOEENET
CHUSERS01.DBF
6 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATAOEEIND
EX.DBF
7 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATASMLDAT
A.DBF
9 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATAMEDDAT
A.DBF
12 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATALRGIND
X.DBF
果然其他的backupset都没有认到,使用RMAN>catalog start with 'C: manbak';手动把这些没有追加进去的backupset追加进去。
RMAN> catalog start with 'C: manbak';
搜索与样式 C: manbak 匹配的所有文件
数据库未知文件的列表
=====================================
文件名:C:RMANBAKDATE_2013%MTEST_ARCHIVELOG_TEST_20_1_0KOOMALD.BAK
文件名:C:RMANBAKDATE_2013%MTEST_ARCHIVELOG_TEST_21_1_0LOOMALD.BAK
文件名:C:RMANBAKDATE_2013%MTEST_ARCHIVELOG_TEST_22_1_0MOOMANT.BAK
文件名:C:RMANBAKDATE_2013%MTEST_FULL_TEST_17_1_0HOOMADP.BAK
文件名:C:RMANBAKDATE_2013%MTEST_FULL_TEST_18_1_0IOOMAL5.BAK
文件名:C:RMANBAKDATE_2013%MTEST_FULL_TEST_19_1_0JOOMAL8.BAK
是否确实要将上述文件列入目录 (输入 YES 或 NO)? yes
正在编制文件目录...
目录编制完毕
已列入目录的文件的列表
=======================
文件名:C:RMANBAKDATE_2013%MTEST_ARCHIVELOG_TEST_20_1_0KOOMALD.BAK
文件名:C:RMANBAKDATE_2013%MTEST_ARCHIVELOG_TEST_21_1_0LOOMALD.BAK
文件名:C:RMANBAKDATE_2013%MTEST_ARCHIVELOG_TEST_22_1_0MOOMANT.BAK
文件名:C:RMANBAKDATE_2013%MTEST_FULL_TEST_17_1_0HOOMADP.BAK
文件名:C:RMANBAKDATE_2013%MTEST_FULL_TEST_18_1_0IOOMAL5.BAK
文件名:C:RMANBAKDATE_2013%MTEST_FULL_TEST_19_1_0JOOMAL8.BAK
再次查看ok了。
RMAN> list backup;
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------------------- ----------
16 Full 2.53G DISK 00:03:47 11-11月-13
BP 关键字: 16 状态:AVAILABLE 已压缩: NO 标记: FULL
段名:C:RMANBAKDATE_2013%MTEST_FULL_TEST_16_1_0GOOMADP.BAK
备份集 16 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATAOEENET
CHSYSTEM01.DBF
4 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATAOEENET
CHUSERS01.DBF
6 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATAOEEIND
EX.DBF
7 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATASMLDAT
A.DBF
9 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATAMEDDAT
A.DBF
12 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATALRGIND
X.DBF
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------------------- ----------
17 830.54M DISK 00:00:00 11-11月-13
BP 关键字: 17 状态:AVAILABLE 已压缩: NO 标记:TAGT
段名:C:RMANBAKDATE_2013%MTEST_ARCHIVELOG_TEST_20_1_0KOOMALD.BAK
备份集 17 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 90328 10-11月-13 11-11月-13
1 90329 11-11月-13 11-11月-13
1 90330 11-11月-13 11-11月-13
1 90331 11-11月-13 11-11月-13
1 90332 11-11月-13 11-11月-13
1 90333 11-11月-13 11-11月-13
1 90334 11-11月-13 11-11月-13
1 90335 11-11月-13 11-11月-13
1 90336 11-11月-13 11-11月-13
1 90337 11-11月-13 11-11月-13
1 90338 11-11月-13 11-11月-13
1 90339 11-11月-13 11-11月-13
1 90340 11-11月-13 11-11月-13
1 90341 11-11月-13 11-11月-13
1 90342 11-11月-13 11-11月-13
1 90343 11-11月-13 11-11月-13
1 90344 11-11月-13 11-11月-13
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------------------- ----------
18 759.59M DISK 00:00:00 11-11月-13
BP 关键字: 18 状态:AVAILABLE 已压缩: NO 标记:TAGT
段名:C:RMANBAKDATE_2013%MTEST_ARCHIVELOG_TEST_21_1_0LOOMALD.BAK
备份集 18 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 90345 11-11月-13 11-11月-13
1 90346 11-11月-13 11-11月-13
1 90347 11-11月-13 11-11月-13
1 90348 11-11月-13 11-11月-13
1 90349 11-11月-13 11-11月-13
1 90350 11-11月-13 11-11月-13
1 90351 11-11月-13 11-11月-13
1 90352 11-11月-13 11-11月-13
1 90353 11-11月-13 11-11月-13
1 90354 11-11月-13 11-11月-13
1 90355 11-11月-13 11-11月-13
1 90356 11-11月-13 11-11月-13
1 90357 11-11月-13 11-11月-13
1 90358 11-11月-13 11-11月-13
1 90359 11-11月-13 11-11月-13
1 90360 11-11月-13 11-11月-13
1 90361 11-11月-13 11-11月-13
1 90362 11-11月-13 11-11月-13
BS 关键字 大小 设备类型占用时间 完成时间
------- ---------- ----------------------- ----------
19 36.50K DISK 00:00:00 11-11月-13
BP 关键字: 19 状态:AVAILABLE 已压缩: NO 标记:TAGT
段名:C:RMANBAKDATE_2013%MTEST_ARCHIVELOG_TEST_22_1_0MOOMANT.BAK
备份集 19 中的已存档日志列表
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 90363 11-11月-13 11-11月-13
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------------------- ----------
20 Full 2.80G DISK 00:00:00 11-11月-13
BP 关键字: 20 状态:AVAILABLE 已压缩: NO 标记: FULL
段名:C:RMANBAKDATE_2013%MTEST_FULL_TEST_17_1_0HOOMADP.BAK
备份集 20 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
2 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATAOEENET
CHUNDOTBS01.DBF
3 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATAOEENET
CHSYSAUX01.DBF
5 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATAOEEDAT
A.DBF
8 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATASMLIND
X.DBF
10 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATAMEDIND
X.DBF
11 Full 11-11月-13C:ORACLE_STDPRODUCT10.2.0ORADATALRGDAT
A.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------------------- ----------
21 Full 7.83M DISK 00:00:00 11-11月-13
BP 关键字: 21 状态:AVAILABLE 已压缩: NO 标记: FULL
段名:C:RMANBAKDATE_2013%MTEST_FULL_TEST_18_1_0IOOMAL5.BAK
包括的控制文件: CkpSCN: Ckp 时间: 11-11月-13
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------------------- ----------
22 Full 80.00K DISK 00:00:00 11-11月-13
BP 关键字: 22 状态:AVAILABLE 已压缩: NO 标记: FULL
段名:C:RMANBAKDATE_2013%MTEST_FULL_TEST_19_1_0JOOMAL8.BAK
包含的 SPFILE: 修改时间: 09-11月-13
再次尝试restore database没有上述错误。
使用recover database完成,但报一个错误:
RMAN-06054: media recovery requestingunknown archived log for thread 1 with sequence 9 and starting SCN of
recover databaseuntil sequence 90364避免了此问题,当然我们可以使用set until scn或者set until time 。来避免提醒恢复到最后一个未知的scn号。
使用sql>alter database open resetlogs;还是报错。
这个错误为ORA-00344:unable to re-create online log
使用网上提供的方法尝试:
如果数据库正常关闭:
用命令清空日志组的方法:
1. 已归档,重建该日志
SQL> alter database clearlogfile group 2;
2. 归档模式下如果没有归档
SQL> alter database clearunarchived logfile group 2
依然不行。
接着执行如下操作:
SQL> select group#,status,member fromv$logfile;
GROUP# MEMBER
---------- ------------------------------------------------------
3 C:ORACLE_STDPRODUCT10.2.0ORADATATESTREDO03.LOG
2 C:ORACLE_STDPRODUCT10.2.0ORADATATESTREDO02.LOG
1 C:ORACLE_STDPRODUCT10.2.0ORADATATESTREDO01.LOG
SQL> selectgroup#,thread#,members,status from v$log;
GROUP# THREAD# MEMBERS STATUS
---------- ---------- --------------------------
1 1 1 CLEARING_CURRENT
3 1 1 INACTIVE
2 1 1 INACTIVE
SQL> alter database rename file'C:ORACLE_STDPRODUCT10.2.0ORADATATESTR
EDO01.LOG' to'C:ORACLEPRODUCT10.2.0ORADATATESTREDO01.LOG';
数据库已更改。
SQL> alter database rename file'C:ORACLE_STDPRODUCT10.2.0ORADATATESTR
EDO02.LOG' to'C:ORACLEPRODUCT10.2.0ORADATATESTREDO02.LOG';
数据库已更改。
SQL> alter database rename file'C:ORACLE_STDPRODUCT10.2.0ORADATATESTR
EDO03.LOG' to'C:ORACLEPRODUCT10.2.0ORADATATESTREDO03.LOG';
数据库已更改。
SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01092: ORACLE实例终止。强制断开连接
Fri Nov 15 14:13:52 2013
MTTR advisory is disabled becauseFAST_START_MTTR_TARGET is not set
Fri Nov 15 14:13:52 2013
ARC0: STARTING ARCH PROCESSES
Fri Nov 15 14:13:52 2013
SMON: enabling cache recovery
Fri Nov 15 14:13:52 2013
ARC2: Archival started
ARC2 started with pid=20, OS id=4156
Fri Nov 15 14:13:52 2013
Errors in filec:product10.2.0admin estᆙ est_ora_5904.trc:
ORA-00704: 引导程序进程失败
ORA-39700:必须用 UPGRADE 选项打开数据库
Fri Nov 15 14:13:52 2013
Error 704 happened during db open,shutting down database
USER: terminating instance due to error704
ARC1 started with pid=19, OS id=5352
Fri Nov 15 14:13:53 2013
ARC0: STARTING ARCH PROCESSES COMPLETE
Fri Nov 15 14:13:53 2013
ARC0: Becoming the 'no FAL' ARCH
ARC0: Becoming the 'no SRL' ARCH
Fri Nov 15 14:13:53 2013
Errors in filec:oracleproduct10.2.0admin estbdump est_pmon_3456.trc:
ORA-00704: bootstrap process failure
Fri Nov 15 14:13:54 2013
Errors in filec:oracleproduct10.2.0admin estbdump est_reco_4636.trc:
ORA-00704: bootstrap process failure
Fri Nov 15 14:13:54 2013
Errors in filec:oracleproduct10.2.0admin estbdump est_mman_5880.trc:
ORA-00704: bootstrap process failure
Fri Nov 15 14:13:54 2013
Errors in filec:oracleproduct10.2.0admin estbdump est_psp0_5936.trc:
ORA-00704: bootstrap process failure
Fri Nov 15 14:13:54 2013
Errors in filec:oracleproduct10.2.0admin estbdump est_lgwr_4820.trc:
ORA-00704: bootstrap process failure
Fri Nov 15 14:13:54 2013
Errors in filec:oracleproduct10.2.0admin estbdump est_smon_3068.trc:
ORA-00704: bootstrap process failure
Fri Nov 15 14:13:54 2013
Errors in filec:oracleproduct10.2.0admin estbdump est_dbw0_5212.trc:
ORA-00704: bootstrap process failure
Fri Nov 15 14:13:54 2013
Errors in filec:oracleproduct10.2.0admin estbdump est_ckpt_4836.trc:
ORA-00704: bootstrap process failure
这里报这个升级过程中经常报的错误,跟我数据库异机迁移版本不同可能有关系。
根据提示使用:alter database open upgrade;数据库正常打开,最后执行catupgrd.sql一切正常。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/3194.html