ITPub博客

首页 > 数据库 > Oracle > Oracle 11g 数据库恢复:场景12续:将数据文件恢复回原来正确的位置

Oracle 11g 数据库恢复:场景12续:将数据文件恢复回原来正确的位置

原创 Oracle 作者:LuiseDalian 时间:2014-05-04 07:28:31 0 删除 编辑

-- 部分二,做反向操作,将数据文件还原到/oradata/TestDB11

sys@TESTDB11>shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

sys@TESTDB11>!cp /backup/inconsistent_backup/*.dbf /oradata/TestDB11

 

--确定在控制文件中重名称文件需要执行的命令

sys@TESTDB11>select substr(name, length('/backup/inconsistent_backup/') + 1) from v$datafile;

 

SUBSTR(NAME,LENGTH('/BACKUP/INCONSISTENT_BACKUP/')+1)

----------------------------------------------------------------------------------------------------------------------------------------------------------------

system01.dbf

sysaux01.dbf

undotbs01.dbf

users01.dbf

example01.dbf

newundotbs01.dbf

 

6 rows selected.

 

-- 修改控制文件中记录的数据文件的信息

sys@TESTDB11>select 'alter database rename file ''' || name || ''' to ''/oradata/TestDB11/' ||

  2  substr(name, length('/backup/inconsistent_backup/') + 1) || ''';' from v$datafile;

 

'ALTERDATABASERENAMEFILE'''||NAME||'''TO''/ORADATA/TESTDB11/'||SUBSTR(NAME,LENGTH('/BACKUP/INCONSISTENT_BACKUP/')+1)||''';'

----------------------------------------------------------------------------------------------------------------------------------------------------------------

alter database rename file '/backup/inconsistent_backup/system01.dbf' to '/oradata/TestDB11/system01.dbf';

alter database rename file '/backup/inconsistent_backup/sysaux01.dbf' to '/oradata/TestDB11/sysaux01.dbf';

alter database rename file '/backup/inconsistent_backup/undotbs01.dbf' to '/oradata/TestDB11/undotbs01.dbf';

alter database rename file '/backup/inconsistent_backup/users01.dbf' to '/oradata/TestDB11/users01.dbf';

alter database rename file '/backup/inconsistent_backup/example01.dbf' to '/oradata/TestDB11/example01.dbf';

alter database rename file '/backup/inconsistent_backup/newundotbs01.dbf' to '/oradata/TestDB11/newundotbs01.dbf';

 

6 rows selected.

 

--确定控制文件修改成功

sys@TESTDB11>select name from v$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

 

6 rows selected.

 

--确定没有需要恢复的文件

sys@TESTDB11>select * from v$recover_file;

 

no rows selected

 

--启库

sys@TESTDB11>alter database open;

 

Database altered.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1153195/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    1986
  • 访问量
    6040880