ORACLE 11G 數(shù)據(jù)庫異機(jī)恢復(fù)到另外的目錄
比如生產(chǎn)庫位置在
:/u01/app/oracle/oradata/emr/
恢復(fù)庫的文件位置:/oradata/emr/
步驟:
1.恢復(fù)控制文件
rman target /
rman>restore controlfile from '/bak/dbbak/ctl.bak';
2.啟動(dòng)到mount
rman>alter database mount;
3.恢復(fù)數(shù)據(jù)文件
數(shù)據(jù)文件可以一個(gè)個(gè)去執(zhí)行位置,如果文件太多,指定太麻煩,可以使用set newname for database to '/oradata/emr/%b' 方式解決
rman>
run{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
set newname for database to '/oradata/emr/%b';
restore database;
switch datafile all;
switch tempfile all;
recover database;
}
4.調(diào)整聯(lián)機(jī)文件
sql>
alter database rename file '
/u01/app/oracle/oradata/emr/redo01.log' to '/oradata/emr/redo01.log';
alter database rename file '
/u01/app/oracle/oradata/emr/redo02.log' to '/oradata/emr/redo02.log';
alter database rename file '
/u01/app/oracle/oradata/emr/redo03.log' to '/oradata/emr/redo03.log';
alter database rename file '
/u01/app/oracle/oradata/emr/redo04.log' to '/oradata/emr/redo04.log';
alter database clear logfile group 1;
alter database clear logfile group 2;
alter database clear logfile group 3;
alter database clear logfile group 4;
5.打開數(shù)據(jù)庫
sql>alter database open resetlogs;
