[三思笔记]-一步一步学RMAN:5454589君三思SQLconnsystem/manager已连接。SQLselect*fromtmp;COL--------------------------------------------------11111222223333344444SQL哈哈,成功啦。剩下的工作就简单了,你即可以通过dbca配置数据库,也可以通过orapwd命令重建密码文件等等,那就不在本节的讨论范围了。呵呵,另外,表忘了重建临时表空间,以及马上进行全备份。[三思笔记]-一步一步学RMAN:5454589君三思段handle=D:\BACKUP\MYDB\03INAL1I_1_1tag=TAG20070720T162417params=NULL通道ORA_DISK_1:恢复完成完成restore于20-7月-077.恢复数据库RMANrecoverdatabase;启动recover于20-7月-07使用通道ORA_DISK_1正在开始介质的恢复通道ORA_DISK_1:正在启动到默认目标的存档日志恢复通道ORA_DISK_1:正在恢复存档日志存档日志线程=1序列=10通道ORA_DISK_1:已恢复备份段1段handle=D:\BACKUP\MYDB\04INAL2V_1_1tag=TAG20070720T162503params=NULL通道ORA_DISK_1:恢复完成存档日志文件名=F:\ORAHOME1\ORADATA\MYDB\ARCHIVE\1_10.DBF线程=1序列=10无法找到存档日志存档日志线程=1序列=11RMAN-00571:===========================================================RMAN-00569:===============ERRORMESSAGESTACKFOLLOWS===============RMAN-00571:===========================================================RMAN-03002:failureofrecovercommandat07/20/200717:50:36RMAN-06054:mediarecoveryrequestingunknownlog:thread1scn143893报错了,但是没关系,并非严重错误,只是提醒你恢复到一个未知的scn号。如果要避免这个错误,可以在alterdatabasemount之后,通过setuntilscn或者setuntiltime命令设置恢复到的scn号或时间。8.然后通过openresetlogs方式打开数据库RMANalterdatabaseopenresetlogs;数据库已打开呵呵,成功打开,这是个好消息,我们需要连接到数据库来验证一下。C:\DocumentsandSettings\Administratorsqlplus/nologSQL*Plus:Release9.2.0.1.0-Productionon星期五7月2017:55:242007Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.[三思笔记]-一步一步学RMAN:5454589君三思===============RMAN-00571:===========================================================RMAN-03002:failureofalterdbcommandat07/20/200717:44:22ORA-01990:打开口令文件'F:\OraHome1\DATABASE\PWDmydb.ORA'时出错ORA-27041:无法打开文件OSD-04002:无法打开文件O/S-Error:(OS2)系统找不到指定的文件。#########奇怪,我这里报错了,但再次执行加载,发现提供已经是加载状态了,报错不奇怪,奇怪的是报错了还能进加载,呵呵,不就是缺少密码文件嘛,不管它,一会儿恢复完了再重建,继续进行。RMANalterdatabasemount;RMAN-00571:===========================================================RMAN-00569:===============ERRORMESSAGESTACKFOLLOWS===============RMAN-00571:===========================================================RMAN-03002:failureofalterdbcommandat07/20/200717:44:51ORA-01100:数据库已安装6.修复数据库,我这里是源路径修复,如果你要恢复的文件地址与源库地址不同的话,需要通过SETNEWNAMEFORDATAFILE命令来为数据文件重新设定路径。RMANrestoredatabase;启动restore于20-7月-07分配的通道:ORA_DISK_1通道ORA_DISK_1:sid=11devtype=DISK通道ORA_DISK_1:正在开始恢复数据文件备份集通道ORA_DISK_1:正在指定从备份集恢复的数据文件正将数据文件00001恢复到F:\ORAHOME1\ORADATA\MYDB\SYSTEM01.DBF正将数据文件00002恢复到F:\ORAHOME1\ORADATA\MYDB\UNDOTBS01.DBF正将数据文件00003恢复到F:\ORAHOME1\ORADATA\MYDB\DRSYS01.DBF正将数据文件00004恢复到F:\ORAHOME1\ORADATA\MYDB\INDX01.DBF正将数据文件00005恢复到F:\ORAHOME1\ORADATA\MYDB\TOOLS01.DBF正将数据文件00006恢复到F:\ORAHOME1\ORADATA\MYDB\USERS01.DBF正将数据文件00007恢复到F:\ORAHOME1\ORADATA\MYDB\XDB01.DBF通道ORA_DISK_1:已恢复备份段1[三思笔记]-一步一步学RMAN:5454589君三思4.先恢复初始化参数文件RMANrestorespfiletopfile'F:\ORAHOME1\DATABASE\INITMYDB.ORA'from'd:\backup\mydb\C-2543439098-20070720-02';启动restore于20-7月-07正在使用目标数据库控制文件替代恢复目录分配的通道:ORA_DISK_1通道ORA_DISK_1:sid=9devtype=DISK通道ORA_DISK_1:已找到的自动备份:d:\backup\mydb\C-2543439098-20070720-02通道ORA_DISK_1:从自动备份复原SPFILE已完成完成restore于20-7月-07然后使用刚刚创建的参数文件重新启动到未加载状态(注意,你昀好打开该参数文件,看一下路径是否都确实存在,或者是否正确。)RMANstartupforcenomountpfile='F:\ORAHOME1\DATABASE\INITMYDB.ORA';Oracle例程已启动系统全局区域总计135338868字节FixedSize453492字节VariableSize109051904字节DatabaseBuffers25165824字节RedoBuffers667648字节5.恢复控制文件并进入到加载状态RMANrestorecontrolfilefrom'f:\backup\mydb\C-2543439098-20070720-01';启动restore于20-7月-07使用通道ORA_DISK_1通道ORA_DISK_1:正在恢复控制文件通道ORA_DISK_1:恢复完成正在复制控制文件输出文件名=F:\ORAHOME1\ORADATA\MYDB\CONTROL01.CTL输出文件名=F:\ORAHOME1\ORADATA\MYDB\CONTROL02.CTL输出文件名=F:\ORAHOME1\ORADATA\MYDB\CONTROL03.CTL完成restore于20-7月-07RMANalterdatabasemount;RMAN-00571:===========================================================RMAN-00569:===============ERRORMESSAGESTACKFOLLOWS[三思笔记]-一步一步学RMAN:5454589君三思1、记录下源数据库的DBID,DBID的获取方式上节讲过的。2、将源数据库的初始化参数文件,拷贝到目标服务器上。3、确认备份(含控制文件,数据文件,归档文件)有效,并已拷贝至目标服务器(没归档应该也可以,只要能确认数据文件和控制文件是一致备份。)步骤:首先创建源库的全库备份,(由于只有一台机器,所以备份完之后,通过dbca删除源库,正式情况下务必要等备份库完全建立并正常运行之后才能决定是否要删除源库啊)。前面讲了太多的备份,这里就不列详细的操作步骤了。本例中我创建了一个新库,并在库中建了一个tmp表,插入了4条记录。2.在目标服务器配置oracle_sid。C:\DocumentsandSettings\Administratororadim-new-sidmydb添加一个名为mydb的sid,由于是异机恢复,sid要与源库相同。3.连接到该sidC:\DocumentsandSettings\Administratorsetoracle_sid=mydbC:\DocumentsandSettings\Administratorrmantarget/恢复管理器:版本9.2.0.1.0-ProductionCopyright(c)1995,2002,OracleCorporation.Allrightsreserved.已连接到目标数据库(未启动)RMANsetdbid2543439098;正在执行命令:SETDBIDRMANstartupnomount;启动失败:ORA-01078:failureinprocessingsystemparametersLRM-00109:N^7(4r?*2NJ}ND~'F:\ORAHOME1\DATABASE\INITMYDB.ORA'正在尝试在没有参数文件的情况下启动Oracle例程...Oracle例程已启动系统全局区域总计97589952字节FixedSize453312字节VariableSize46137344字节DatabaseBuffers50331648字节RedoBuffers667648字节[三思笔记]-一步一步学RMAN:5454589君三思test3#######成功恢复,数据也没有丢失SQLexit从Oracle9iEnterpriseEditionRelease9.2.0.1.0-ProductionWiththePartitioning,OLAPandOracleDataMiningoptionsJServerRelease9.2.0.1.0-Production中断开C:\DocumentsandSettings\Administratorexit主机命令完成RMAN注意,恢复之后表忘了