RAC恢复到单实例节点上.docx
《RAC恢复到单实例节点上.docx》由会员分享,可在线阅读,更多相关《RAC恢复到单实例节点上.docx(12页珍藏版)》请在冰豆网上搜索。
RAC恢复到单实例节点上
1简单说明:
版本:
11.2.0.3
平台:
linux-x86-64到win7-64bit
实例:
bdstar1,bdstar2还原到bdstar上
参考:
三思笔记数据库备份与恢复
2windows平台系统恢复环境创建
创建实例:
oradim-new-sidbdstar
编写一个简单的参数文件:
*.audit_file_dest='E:
\app\Administrator\admin\bdstar\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='E:
\app\Administrator\oradata\bdstar\control01.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='bdstar'
*.dispatchers='(PROTOCOL=TCP)(SERVICE=bdstarXDB)'
*.nls_language='SIMPLIFIEDCHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.pga_aggregate_target=184549376
*.processes=150
*.remote_login_passwordfile='exclusive'
*.sga_target=553648128
*.undo_tablespace='UNDOTBS1'
bdstar.__oracle_base='E:
\app\Administrator'#ORACLE_BASEsetfromenvironment
3控制文件的创建
setoracle_sid=bdstar--设置环境变量
C:
\Users\Administrator>sqlplus/assysdba
SQL*Plus:
Release11.2.0.3.0Productionon星期二9月1110:
02:
232012
Copyright(c)1982,2011,Oracle.Allrightsreserved.
已连接到空闲例程。
SQL>startupnomount
ORACLE例程已经启动。
TotalSystemGlobalArea551165952bytes
FixedSize2257072bytes
VariableSize171970384bytes
DatabaseBuffers369098752bytes
RedoBuffers7839744bytes
SQL>createspfilefrompfile;
--转入到RMAN还原控制文件
RMAN>setdbid=165487523--dbid可是从备份文件的log日志获得
--从linux中将备份全部复制到windows下的d:
\oraback\下
RMAN>restorecontrofilefrom'd:
\oraback\1_32_793037884.dbf'--该文件为linuxrac下autobackupcontrol文件
RMAN>alterdatabasemount;
--下面就可以看到RAC数据库中的一些基本情况了,根据这些基本情况进行还原
SQL>selectfile#,namefromv$datafile;
FILE#
----------
NAME
--------------------------------------------------------------------------------
1
+DATA/bdstar/datafile/system.256.793037767
2
+DATA/bdstar/datafile/sysaux.257.793037769
3
+DATA/bdstar/datafile/undotbs1.258.793037769
FILE#
----------
NAME
--------------------------------------------------------------------------------
4
+DATA/bdstar/datafile/users.259.793037771
5
+DATA/bdstar/datafile/undotbs2.264.793038149
6
+DATA/bdstar/datafile/tbs_spotlight.268.793381581
已选择6行。
SQL>selectfile#,namefromv$tempfile;
FILE#
----------
NAME
--------------------------------------------------------------------------------
1
+DATA/bdstar/tempfile/temp.263.793037901
SQL>selectmemberfromv$logfile;
MEMBER
--------------------------------------------------------------------------------
+DATA/bdstar/onlinelog/group_2.262.793037887
+DATA/bdstar/onlinelog/group_1.261.793037885
+DATA/bdstar/onlinelog/group_3.265.793038337
+DATA/bdstar/onlinelog/group_4.266.793038339
4恢复数据文件
--载入你的备份,使RMAN识别你的备份集
RMAN>catalogbackuppiece'd:
\oraback\cre0_16_793617290.db';
已将备份片段列入目录
备份片段句柄=D:
\ORABACK\CRE0_16_793617290.DBRECID=10STAMP=793646472
RMAN>catalogbackuppiece'd:
\oraback\cre0_17_793617290.db';
已将备份片段列入目录
备份片段句柄=D:
\ORABACK\CRE0_17_793617290.DBRECID=11STAMP=793646486
RMAN>catalogbackuppiece'd:
\oraback\cre0_18_793617292.db';
已将备份片段列入目录
备份片段句柄=D:
\ORABACK\CRE0_18_793617292.DBRECID=12STAMP=793646496
RMAN>catalogbackuppiece'd:
\oraback\cre0_19_793617316.db';
已将备份片段列入目录
备份片段句柄=D:
\ORABACK\CRE0_19_793617316.DBRECID=13STAMP=793646514
RMAN>catalogbackuppiece'd:
\oraback\cre0_23_793617422.arc';
已将备份片段列入目录
备份片段句柄=D:
\ORABACK\CRE0_23_793617422.ARCRECID=14STAMP=793646540
RMAN>catalogbackuppiece'd:
\oraback\cre0_24_793617499.arc';
已将备份片段列入目录
备份片段句柄=D:
\ORABACK\CRE0_24_793617499.ARCRECID=15STAMP=793646554
--将数据文件恢复到新的位置
RMAN>run{
2>setnewnamefordatafile1to'E:
\app\Administrator\oradata\bdstar\system.dbf
';
3>setnewnamefordatafile2to'E:
\app\Administrator\oradata\bdstar\sysaux.dbf
';
4>setnewnamefordatafile3to'E:
\app\Administrator\oradata\bdstar\undotbs1.d
bf';
5>setnewnamefordatafile4to'E:
\app\Administrator\oradata\bdstar\users.dbf'
;
6>setnewnamefordatafile5to'E:
\app\Administrator\oradata\bdstar\undotbs2.d
bf';
7>setnewnamefordatafile6to'E:
\app\Administrator\oradata\bdstar\tbs_spotli
ght.dbf';
8>setnewnamefortempfile1to'E:
\app\Administrator\oradata\bdstar\temp01.dbf
';
9>restoredatabase;
10>switchdatafileall;
11>switchtempfileall;
12>}
正在执行命令:
SETNEWNAME
正在执行命令:
SETNEWNAME
正在执行命令:
SETNEWNAME
正在执行命令:
SETNEWNAME
正在执行命令:
SETNEWNAME
正在执行命令:
SETNEWNAME
正在执行命令:
SETNEWNAME
启动restore于10-9月-12
使用通道ORA_DISK_1
数据文件2已经还原到文件E:
\app\Administrator\oradata\bdstar\sysaux.dbf中
数据文件4已经还原到文件E:
\app\Administrator\oradata\bdstar\users.dbf中
通道ORA_DISK_1:
正在开始还原数据文件备份集
通道ORA_DISK_1:
正在指定从备份集还原的数据文件
通道ORA_DISK_1:
将数据文件00001还原到E:
\app\Administrator\oradata\bdstar\sys
tem.dbf
通道ORA_DISK_1:
将数据文件00005还原到E:
\app\Administrator\oradata\bdstar\und
otbs2.dbf
通道ORA_DISK_1:
正在读取备份片段D:
\ORABACK\CRE0_16_793617290.DB
通道ORA_DISK_1:
段句柄=D:
\ORABACK\CRE0_16_793617290.DB标记=LEVEL_0
通道ORA_DISK_1:
已还原备份片段1
通道ORA_DISK_1:
还原完成,用时:
00:
00:
35
通道ORA_DISK_1:
正在开始还原数据文件备份集
通道ORA_DISK_1:
正在指定从备份集还原的数据文件
通道ORA_DISK_1:
将数据文件00003还原到E:
\app\Administrator\oradata\bdstar\und
otbs1.dbf
通道ORA_DISK_1:
将数据文件00006还原到E:
\app\Administrator\oradata\bdstar\tbs
_spotlight.dbf
通道ORA_DISK_1:
正在读取备份片段D:
\ORABACK\CRE0_17_793617290.DB
通道ORA_DISK_1:
段句柄=D:
\ORABACK\CRE0_17_793617290.DB标记=LEVEL_0
通道ORA_DISK_1:
已还原备份片段1
通道ORA_DISK_1:
还原完成,用时:
00:
00:
03
完成restore于10-9月-12
数据文件1已转换成数据文件副本
输入数据文件副本RECID=7STAMP=793646621文件名=E:
\APP\ADMINISTRATOR\ORADATA\BDS
TAR\SYSTEM.DBF
数据文件2已转换成数据文件副本
输入数据文件副本RECID=8STAMP=793646621文件名=E:
\app\Administrator\oradata\bds
tar\sysaux.dbf
数据文件3已转换成数据文件副本
输入数据文件副本RECID=9STAMP=793646621文件名=E:
\APP\ADMINISTRATOR\ORADATA\BDS
TAR\UNDOTBS1.DBF
数据文件4已转换成数据文件副本
输入数据文件副本RECID=10STAMP=793646621文件名=E:
\app\Administrator\oradata\bd
star\users.dbf
数据文件5已转换成数据文件副本
输入数据文件副本RECID=11STAMP=793646621文件名=E:
\APP\ADMINISTRATOR\ORADATA\BD
STAR\UNDOTBS2.DBF
数据文件6已转换成数据文件副本
输入数据文件副本RECID=12STAMP=793646621文件名=E:
\APP\ADMINISTRATOR\ORADATA\BD
STAR\TBS_SPOTLIGHT.DBF
临时文件1在控制文件中已重命名为E:
\app\Administrator\oradata\bdstar\temp01.dbf
RMAN>recoverdatabase
2>;
启动recover于10-9月-12
使用通道ORA_DISK_1
正在开始介质的恢复
通道ORA_DISK_1:
正在开始将归档日志还原到默认目标
通道ORA_DISK_1:
正在还原归档日志
归档日志线程=2序列=26
通道ORA_DISK_1:
正在读取备份片段D:
\ORABACK\CRE0_23_793617422.ARC
通道ORA_DISK_1:
段句柄=D:
\ORABACK\CRE0_23_793617422.ARC标记=TAG20120910T09
1635
通道ORA_DISK_1:
已还原备份片段1
通道ORA_DISK_1:
还原完成,用时:
00:
00:
03
通道ORA_DISK_1:
正在开始将归档日志还原到默认目标
通道ORA_DISK_1:
正在还原归档日志
归档日志线程=1序列=30
通道ORA_DISK_1:
正在还原归档日志
归档日志线程=1序列=31
通道ORA_DISK_1:
正在还原归档日志
归档日志线程=2序列=27
通道ORA_DISK_1:
正在读取备份片段D:
\ORABACK\CRE0_24_793617499.ARC
通道ORA_DISK_1:
段句柄=D:
\ORABACK\CRE0_24_793617499.ARC标记=TAG20120910T09
1635
通道ORA_DISK_1:
已还原备份片段1
通道ORA_DISK_1:
还原完成,用时:
00:
00:
03
归档日志文件名=E:
\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\RDBMS\ARC0000000030_
0793037884.0001线程=1序列=30
归档日志文件名=E:
\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\RDBMS\ARC0000000026_
0793037884.0002线程=2序列=26
RMAN-00571:
===========================================================
RMAN-00569:
===============ERRORMESSAGESTACKFOLLOWS===============
RMAN-00571:
===========================================================
RMAN-03002:
recover命令(在09/10/201217:
25:
54上)失败
RMAN-11003:
在分析/执行SQL语句期间失败:
alterdatabaserecoverlogfile'E:
\APP
\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\RDBMS\ARC0000000026_0793037884.0002'
ORA-10562:
Erroroccurredwhileapplyingredotodatablock(file#2,block#402
84)
ORA-10564:
tablespaceSYSAUX
ORA-01110:
数据文件2:
'E:
\APP\ADMINISTRATOR\ORADATA\BDSTAR\SYSAUX.DBF'
ORA-10561:
blocktype'TRANSACTIONMANAGEDINDEXBLOCK',dataobject#70514
ORA-00600:
内部错误代码,参数:
[6122],[0],[24024],[0],[],[],[],[],[],[]
[],[]
6重新编写控制文件
SQL>alterdatabasebackupcontrolfiletotraceas'd:
/oraback/controlfile.sql'
--转存目前数据库控制文件,根据该文件重新创建控制文件。
--以上的错误正常,由于日志不一致造成的。
关闭数据库启动到nomount阶段
SQL>STARTUPNOMOUNT
SQL>CREATECONTROLFILEREUSEDATABASE"BDSTAR"RESETLOGSNOARCHIVELOG
MAXLOGFILES192
MAXLOGMEMBERS3
MAXDATAFILES1024
MAXINSTANCES32
MAXLOGHISTORY292
LOGFILE
GROUP1'E:
\APP\ADMINISTRATOR\ORADATA\BDSTAR\redo01.dbf'SIZE50MBLOCKSIZE512,
GROUP2'E:
\APP\ADMINISTRATOR\ORADATA\BDSTAR\redo02.dbf'SIZE50MBLOCKSIZE512
DATAFILE
'E:
\APP\ADMINISTRATOR\ORADATA\BDSTAR\SYSTEM.DBF',
'E:
\APP\ADMINISTRATOR\ORADATA\BDSTAR\SYSAUX.DBF',
'E:
\APP\ADMINISTRATOR\ORADATA\BDSTAR\UNDOTBS1.DBF',
'E:
\APP\ADMINISTRATOR\ORADATA\BDSTAR\USERS.DBF',
'E:
\APP\ADMINISTRATOR\ORADATA\BDSTAR\UNDOTBS2.DBF',
'E:
\APP\ADMINISTRATOR\ORADATA\BDSTAR\TBS_SPOTLIGHT.DBF'
CHARACTERSETZHS16GBK
--关闭重启
SQL>startupmount
ORACLE例程已经启动。
TotalSystemGlobalArea551165952bytes
FixedSize2257072bytes
VariableSize167776080bytes
DatabaseBuffers373293056bytes
RedoBuffers7839744bytes
数据库装载完毕。
SQL>alterdatabaseopenresetlogs;--这一步很关键啊,为什么后加实例2的两个日志文件,这需要思考的地方。
alterdatabaseopenresetlogs
*
第1行出现错误:
ORA-38856:
无法将实例UNNAMED_INSTANCE_2(重做线程2)标记为启用
SQL>alterdatabaseaddlogfilethread2group3'E:
\APP\ADMINISTRATOR\ORADATA\B
DSTAR\redo03.dbf'size100M,group4'E:
\APP\ADMINISTRATOR\ORADATA\BDSTAR\redo04.
dbf'size100M;
数据库已更改。
SQL>alterdatabaseopenresetlogs;
数据库已更改。
7恢复成功后的后续处理
SQL>select*fromv$log;
GROUP#THREAD#SEQUENCE#BYTESBLOCKSIZEMEMBERSARC
---------------------------------------------------------------
STATUSFIRST_CHANGE#FIRST_TIMENEXT_CHANGE#NEXT_TIME
---------------------------------------------------------------------
111524288005121NO
CURRENT313418910-9月-122.8147E+14
210524288005121YES
UNUSED00
3211048576005121NO
CURRENT313418910-9月-122.8147E+14
GROUP#THREAD#SEQUENCE#BYTESBLOCKSIZEMEMBERSARC
---------------------------------------------------------------
STATUSFIRST_CHANGE#FIRST_TIMENEXT_CHANGE#NEXT_TIME
---------------------------------------------------------------------
4201048576005121YES
UNU