--部分二,做反向操作,将数据文件还原到/oradata/TestDB11
sys@TESTDB11>shutdownimmediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@TESTDB11>!cp/backup/inconsistent_backup/*.dbf/oradata/TestDB11
--确定在控制文件中重名称文件需要执行的命令
sys@TESTDB11>selectsubstr(name,length('/backup/inconsistent_backup/')+1)fromv$datafile;
SUBSTR(NAME,LENGTH('/BACKUP/INCONSISTENT_BACKUP/')+1)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
system01.dbf
sysaux01.dbf
undotbs01.dbf
users01.dbf
example01.dbf
newundotbs01.dbf
6rowsselected.
--修改控制文件中记录的数据文件的信息
sys@TESTDB11>select'alter database rename file '''||name||''' to ''/oradata/TestDB11/'||
2substr(name,length('/backup/inconsistent_backup/')+1)||''';'fromv$datafile;
'ALTERDATABASERENAMEFILE'''||NAME||'''TO''/ORADATA/TESTDB11/'||SUBSTR(NAME,LENGTH('/BACKUP/INCONSISTENT_BACKUP/')+1)||''';'
----------------------------------------------------------------------------------------------------------------------------------------------------------------
alterdatabaserenamefile'/backup/inconsistent_backup/system01.dbf'to'/oradata/TestDB11/system01.dbf';
alterdatabaserenamefile'/backup/inconsistent_backup/sysaux01.dbf'to'/oradata/TestDB11/sysaux01.dbf';
alterdatabaserenamefile'/backup/inconsistent_backup/undotbs01.dbf'to'/oradata/TestDB11/undotbs01.dbf';
alterdatabaserenamefile'/backup/inconsistent_backup/users01.dbf'to'/oradata/TestDB11/users01.dbf';
alterdatabaserenamefile'/backup/inconsistent_backup/example01.dbf'to'/oradata/TestDB11/example01.dbf';
alterdatabaserenamefile'/backup/inconsistent_backup/newundotbs01.dbf'to'/oradata/TestDB11/newundotbs01.dbf';
6rowsselected.
--确定控制文件修改成功
sys@TESTDB11>selectnamefromv$datafile;
NAME
--------------------------------------------------
/oradata/TestDB11/system01.dbf
/oradata/TestDB11/sysaux01.dbf
/oradata/TestDB11/undotbs01.dbf
/oradata/TestDB11/users01.dbf
/oradata/TestDB11/example01.dbf
/oradata/TestDB11/newundotbs01.dbf
6rowsselected.
--确定没有需要恢复的文件
sys@TESTDB11>select*fromv$recover_file;
norowsselected
--启库
sys@TESTDB11>alterdatabaseopen;
Database altered.