技术分享
Oracle RAC恢复到单机
2022-05-31
生产环境:oracle 11.2.0.4 RAC 操作系统 redhat6.8 IP:192.168.69.91 192.168.69.92
恢复环境:Oracle11.2.0.4单机 操作系统 redhat6.8 IP:192.168.93.28
备份系统:5.0.8.13320-SP5 主机保护
异步恢复操作流程
1、 恢复spfile文件到单机
2、 修改spfile文件
原文件:
修改后文件如下:
3、 重构spfile文件
进入28数据库,关闭数据库
执行命令生成pfile文件,留下原库spfile文件存档
create pfile=’/home/oracle/pfile01.ora’ from spfile;
用修改后的pfile.file重构spfile文件
create spfile from ‘/usr/local/daclient/work/pfile.file’;
用生成spfile启动数据库
startup
报错正常,无相应控制文件
4、 恢复控制文件到28数据库指定路径
启动数据库到nomount状态,恢复控制文件
startup nomount
5、 修改online日志路径等(redo日志)
查询数据库redo日志select group#,member from v$logfile;
数据库中用下列命令重新指定所有redo日志命令
alter database rename file '+DATA/orclrac/onlinelog/group_4.266.1078423851' to '/home/oracle/app/oradata/orclrac/group_4.log';
alter database rename file '+FRA/orclrac/onlinelog/group_4.260.1078423851' to '/home/oracle/app/oradata/orclrac/group_8.log';
6、 修改数据文件路径
查询数据文件 select file#,name from v$datafile;
数据库中修改路径以及名称
alter database rename file '+DATA/orclrac/datafile/system.256.1078423653' to '/home/oracle/app/oradata/orclrac/system01.dbf';
alter database rename file '+DATA/orclrac/datafile/sysaux.257.1078423653' to '/home/oracle/app/oradata/orclrac/sysaux01.dbf';
alter database rename file '+DATA/orclrac/datafile/undotbs1.258.1078423653' to '/home/oracle/app/oradata/orclrac/undotbs01.dbf';
alter database rename file '+DATA/orclrac/datafile/users.259.1078423653' to '/home/oracle/app/oradata/orclrac/users01.dbf';
alter database rename file '+DATA/orclrac/datafile/undotbs2.264.1078423783' to '/home/oracle/app/oradata/orclrac/undotbs02.dbf';
注:undotbs02.dbf单机数据库没有,可以复制一份undotbs01.dbf重命名,并赋权
7、 恢复数据文件
启动数据库到mount状态
startup mount
后台日志此报错属于正常
8、 恢复完成检查
select file#,checkpoint_change# from v$datafile;
select file#,checkpoint_change# from v$datafile_header;
关闭bct
alter database disable block change tracking;
检查发现scn号一致,尝试启动数据库
alter database open resetlogs;
9、 验证数据
RAC
select * from user_tables;查询所有表条数
单机:
select * from user_tables;查询所有表条数
导出恢复操作流程
1、 使用导出恢复功能将oracle备份文件导出恢复到创建目录/tmp/test
赋权test目录文件,chmod –R 777 /tmp/test
进入test目录cd /tmp/test
赋权恢复文件chmod –R 777 *
2、 修改spfile文件
原文件:
修改后文件如下:
3、 重构spfile文件
进入28数据库,关闭数据库
执行命令生成pfile文件,留下原库spfile文件存档
create pfile=’/home/oracle/pfile01.ora’ from spfile;
用修改后的pfile.file重构spfile文件
create spfile from ‘/usr/local/daclient/work/pfile.file’;
用生成spfile启动数据库
Startup
报错正常,无相应控制文件
4、 恢复控制文件到数据库
关闭数据库shutdown immediate
启动数据库到nomount状态 startup nomount
进入 rman rman target /
restore controlfile from '/tmp/test/ctl.file';
启动数据库到mount状态 startup mount
5、 修改online日志路径等(redo日志)
查询数据库redo日志select group#,member from v$logfile;
数据库中用下列命令重新指定所有redo日志命令
alter database rename file '+DATA/orclrac/onlinelog/group_4.266.1078423851' to '/home/oracle/app/oradata/orclrac/group_4.log';
alter database rename file '+FRA/orclrac/onlinelog/group_4.260.1078423851' to '/home/oracle/app/oradata/orclrac/group_8.log';
6、 改数据文件路径
查询数据文件 select file#,name from v$datafile;
数据库中修改路径以及名称
alter database rename file '+DATA/orclrac/datafile/system.256.1078423653' to '/home/oracle/app/oradata/orclrac/system01.dbf';
alter database rename file '+DATA/orclrac/datafile/sysaux.257.1078423653' to '/home/oracle/app/oradata/orclrac/sysaux01.dbf';
alter database rename file '+DATA/orclrac/datafile/undotbs1.258.1078423653' to '/home/oracle/app/oradata/orclrac/undotbs01.dbf';
alter database rename file '+DATA/orclrac/datafile/users.259.1078423653' to '/home/oracle/app/oradata/orclrac/users01.dbf';
alter database rename file '+DATA/orclrac/datafile/undotbs2.264.1078423783' to '/home/oracle/app/oradata/orclrac/undotbs02.dbf';
注:undotbs02.dbf单机数据库没有,可以复制一份undotbs01.dbf重命名,并赋权
7、 恢复数据文件
rman中运行恢复脚本
rman target /
run{
allocate channel c0 type 'sbt_tape' send 'RF/tmp/test';
restore database;
recover database;
release channel c0;
}
8、 启动数据库
关闭bct alter database disable block change tracking;
启动数据库 alter database open resetlogs;
欢迎查看云祺数据库备份方案详情,点击即可免费试用云祺容灾备份系统。
关注云祺,获取更多精彩信息。

- 标签:
-
技术分享