1 恢复阶段
1 准备一台主机 ,配置nbu client,创建操作系统用户的uid gid Gid要和原来主机保持一致 。
2 创建pfile,根据主机配置调整内存。
3 启动数据库到nomount状态。
4 主库备份current controlfile并通过ftp的方式传输到中间主机。(list archivelog将显示的archivelog 也一并ftp,不存在的在备份achivelog 过程中已经删除,可以recover过程进行恢复归。)
BACKUP CURRENT CONTROLFILE FORMAT '/export/home/zh/controlfilebak01.ctl';
bash-3.2$ ftp 10.2.28.1 #########FTP 传输归档。(这些归档不需要catalog,已经存在于controlfile中)
5 中间主机恢复控制文件。
restore controlfile from '/export/home/zhzydb/controlfilebak01.ctl';
6 mount database;
7 restore 数据库。
run {
allocate channel ch00 type 'sbt_tape';
allocate channel ch01 type 'sbt_tape';
allocate channel ch02 type 'sbt_tape';
send 'nb_ora_servNBU,nb_ora_client= m2';
restore database;
release channel ch00;
release channel ch01;
release channel ch02;
}
7 根据对应的sequence进行恢复数据库。
run {
allocate channel ch00 type 'sbt_tape';
allocate channel ch01 type 'sbt_tape';
allocate channel ch02 type 'sbt_tape';
send 'nb_ora_servNBU,nb_ora_client= m2';
recover database until sequece xxxx;
release channel ch00;
release channel ch01;
release channel ch02;
}
2 割接同步
1 停止主数据库。
2 将文件系统中的control file以及redo log ftp方式拷贝到中间主机。
3 中间主机停止数据库,启动到nomount,从ftp过来的控制文件恢复控制文件。
4 启动到mount。
5 执行recover database即可。
3 切换存储
由存储管理员,对vg以及多路径进行配置切换。
4 注意点
由于ORACLE_HOME存储阵列切换,网络配置文件listener.ora tnsnames.ora sqlnet.ora文件需要拷贝。
安装ORACLE_HOME的跟目录下的一些有需要的文件需要拷贝。