首页 > Linux操作系统 > Linux操作系统 > 异机恢复案例(目录不一致)
环境概述:
6号机为生产库,AIX5.3,oracle9i
ORACLE_HOME=/u01/prod/proddb/
7号机为备份机,AIX5.3,oracle9i
ORACLE_HOME=/u03/prod/proddb/
6.7号机为HA双机结构,备份过程,7号机由客户协调脱离HA。
测试经过:
将生产库数据由6号机备出来,再恢复到7号机。
一:6号备份过程。
操作3小时
Database全备,备份目标目录/backup
脚本----hot.sh,hot.sh.out,
操作记录:
备份脚本在9i执行时候出现oracle本身自带bug,在全备脚本+上diskratio=0后恢复正常
修改控制文件自动备份,并指定备份目标目录/backup
将备份的文件FTP到7号机,存放在7号机的/backup目录下。
二:7号恢复过程。
操作时间5小时,手动操作
由于ORACLE_HOME采用目录转接的方法进行目录不一致恢复。
1. 7号机采用原有的init.ora启动到nomount
RMAN > startup nomount;
-----------------------------------------------------------
2.恢复控制文件
RMAN >restore controlfile from '/u03/prod/test/c-89683826-20100720-01';
3.将生产数据库对应的文件目录,将其恢复到7号机的文件路径
在生产库6号机下对datafile进行查询
SQL > select name from v$datafile;
根据结果编写下面的rman 路径修改文本
run
{
set newname for datafile '/u01/prod/proddata/system01.dbf' to
'/u03/prod/proddata/system01.dbf';
set newname for datafile '/u01/prod/proddata/system02.dbf' to
'/u03/prod/proddata/system02.dbf';
set newname for datafile '/u01/prod/proddata/system03.dbf' to
'/u03/prod/proddata/system03.dbf';
set newname for datafile '/u01/prod/proddata/system04.dbf' to
'/u03/prod/proddata/system04.dbf';
set newname for datafile '/u01/prod/proddata/system05.dbf' to
'/u03/prod/proddata/system05.dbf';
set newname for datafile '/u01/prod/proddata/system06.dbf' to
'/u03/prod/proddata/system06.dbf';
set newname for datafile '/u01/prod/proddata/system07.dbf' to
'/u03/prod/proddata/system07.dbf';
set newname for datafile '/u01/prod/proddata/system08.dbf' to
'/u03/prod/proddata/system08.dbf';
set newname for datafile '/u01/prod/proddata/system09.dbf' to
'/u03/prod/proddata/system09.dbf';
set newname for datafile '/u01/prod/proddata/system10.dbf' to
'/u03/prod/proddata/system10.dbf';
set newname for datafile '/u01/prod/proddata/system11.dbf' to
'/u03/prod/proddata/system11.dbf';
set newname for datafile '/u01/prod/proddata/undo01.dbf' to
'/u03/prod/proddata/undo01.dbf';
set newname for datafile '/u01/prod/proddata/a_archive01.dbf' to
'/u03/prod/proddata/a_archive01.dbf';
set newname for datafile '/u01/prod/proddata/a_int01.dbf' to
'/u03/prod/proddata/a_int01.dbf';
set newname for datafile '/u01/prod/proddata/a_media01.dbf' to
'/u03/prod/proddata/a_media01.dbf';
set newname for datafile '/u01/prod/proddata/a_nolog01.dbf' to
'/u03/prod/proddata/a_nolog01.dbf';
set newname for datafile '/u01/prod/proddata/a_queue01.dbf' to
'/u03/prod/proddata/a_queue01.dbf';
set newname for datafile '/u01/prod/proddata/a_queue02.dbf' to
'/u03/prod/proddata/a_queue02.dbf';
set newname for datafile '/u01/prod/proddata/a_ref01.dbf' to
'/u03/prod/proddata/a_ref01.dbf';
set newname for datafile '/u01/prod/proddata/a_ref02.dbf' to
'/u03/prod/proddata/a_ref02.dbf';
set newname for datafile '/u01/prod/proddata/a_summ01.dbf' to
'/u03/prod/proddata/a_summ01.dbf';
set newname for datafile '/u01/prod/proddata/a_txn_data01.dbf' to
'/u03/prod/proddata/a_txn_data01.dbf';
set newname for datafile '/u01/prod/proddata/a_txn_data02.dbf' to
'/u03/prod/proddata/a_txn_data02.dbf';
set newname for datafile '/u01/prod/proddata/a_txn_data03.dbf' to
'/u03/prod/proddata/a_txn_data03.dbf';
set newname for datafile '/u01/prod/proddata/a_txn_ind01.dbf' to
'/u03/prod/proddata/a_txn_ind01.dbf';
set newname for datafile '/u01/prod/proddata/a_txn_ind02.dbf' to
'/u03/prod/proddata/a_txn_ind02.dbf';
set newname for datafile '/u01/prod/proddata/a_txn_ind03.dbf' to
'/u03/prod/proddata/a_txn_ind03.dbf';
set newname for datafile '/u01/prod/proddata/a_txn_ind04.dbf' to
'/u03/prod/proddata/a_txn_ind04.dbf';
set newname for datafile '/u01/prod/proddata/a_txn_ind05.dbf' to
'/u03/prod/proddata/a_txn_ind05.dbf';
set newname for datafile '/u01/prod/proddata/ctxd01.dbf' to
'/u03/prod/proddata/ctxd01.dbf';
set newname for datafile '/u01/prod/proddata/odm.dbf' to
'/u03/prod/proddata/odm.dbf';
set newname for datafile '/u01/prod/proddata/olap.dbf' to
'/u03/prod/proddata/olap.dbf';
set newname for datafile '/u01/prod/proddata/owad01.dbf' to
'/u03/prod/proddata/owad01.dbf';
set newname for datafile '/u01/prod/proddata/porta01.dbf' to
'/u03/prod/proddata/porta01.dbf';
set newname for datafile '/u01/prod/proddata/xzrpt.dbf' to
'/u03/prod/proddata/xzrpt.dbf';
restore database;
switch datafile all;
}
执行
-----------------------------------------------------------
4. 在6号机上的plsql下,执行
SQL > select member from v$logfile;
在7号机上的plsql下根据6号机的查询结果,修改联机日志和名称,目的是防止在Open resetlogs时报错
SQL > alter database rename file '/u01/prod/proddata/log01a.dbf' to
'/u03/prod/proddata/log01a.dbf';
SQL > alter database rename file '/u01/prod/proddata/log01b.dbf' to
'/u03/prod/proddata/log01b.dbf';
SQL > alter database rename file '/u01/prod/proddata/log02a.dbf' to
'/u03/prod/proddata/log02a.dbf';
SQL > alter database rename file '/u01/prod/proddata/log02b.dbf' to
'/u03/prod/proddata/log02b.dbf';
-------------------------------
5.在rman下
RMAN > list backup of archivelog all;
根据sequence以及thread指定恢复到thread 1 sequence 21857
(只有一组在线联机重做日志)
RMAN > run {
set until sequence 21857 thread 1;
recover database;}
或者回到RMAN直接执行
RMAN > recover database;
6.后续操作:
重建临时表空间
SQL > create temporary tablespace temp1 temfile '/u03/prod/proddata/temp1’ size 100m;
SQL > alter database default temporary tablespace temp1;
SQL > drop database temp including contents and datafiles;
7.全备份7号机数据
Run{
allocate channel c1 device type disk format ‘/backup/oracle/df_%U’;
allocate channel c2 device type disk format ‘/backup/oracle/df_%U’;
backup database diskratio=0;
backup archivelog all;
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20813025/viewspace-668652/ ,如需转载,请注明出处,否则将追究法律责任。