Oracle 10g RAC RMAN备份异机单实例恢复(一)

2014-11-24 17:50:58 · 作者: · 浏览: 3

推荐阅读:


一、环境说明
操作系统版本: Oracle Enterprise linux 5.8 x64
1. 源数据库服务器
Oracle版本: Oracle 10g RAC 10.2.0.5 64位
Oracle_SID: orcl


2. 目标数据库服务器
Oracle版本 : Oracle 10g 10.2.0.5 64位
Oracle_SID : orcl
只安装了oracle软件,监听,没有dbca操作


二、源DB服务器
1. 源服务器环境说明
源服务器通过执行RAC RMAN备份。需要执行异机恢复操作。
2. 打包或拷贝rman备份目录
$ cd /u01
$ tar czvf rman_bak.tar.gz rman_bak/


三、目的服务器上做RMAN恢复准备
1. 拷贝RMAN备份的数据
# cd /u01/rman_bak/data/
# ll
-rw-r----- 1 oracle oinstall 1080751616 07-18 16:58 archlog.ORCL.level.0.0rof2j8q_1_1_20130718
-rw-r----- 1 oracle oinstall 1018279424 07-18 16:58 archlog.ORCL.level.0.0sof2j8n_1_1_20130718
-rw-r----- 1 oracle oinstall 58086912 07-18 16:58 archlog.ORCL.level.0.0tof2j9l_1_1_20130718
-rw-r----- 1 oracle oinstall 493084672 07-18 16:58 data.ORCL.level.0.0vof2j9v_1_1_20130718
-rw-r----- 1 oracle oinstall 409280512 07-18 16:58 data.ORCL.level.0.10of2j9s_1_1_20130718
-rw-r----- 1 oracle oinstall 15466496 07-18 16:58 data.ORCL.level.0.11of2jae_1_1_20130718
-rw-r----- 1 oracle oinstall 98304 07-18 16:58 spfile_12of2jah_1_1_20130718
#


2. 创建规档日志目录
su - oracle
mkdir -p /u01/archivelog


3. 创建数据库基本目录
说明: 由于rman备份的信息都是记录在controlfile中,所以目录结构应该与原数据库的一致。
mkdir -p /u01/app/oracle/admin/orcl/{adump,bdump,cdump,ddump,udump}
mkdir -p /u01/app/oracle/oradata/orcl
mkdir -p /u01/app/oracle/flash_recovery_area/ORCL


三、目标服务器上恢复数据
说明: 在目标服务器上创建好参数文件中定义的目录,一一在目标服务器创建完毕。
1. 启动到nomount状态
# su - oracle
$ echo 'db_name=orcl' > $ORACLE_HOME/dbs/initorcl.ora
$ export ORACLE_SID=orcl
$ rman target /
RMAN> startup nomount;

2. 通过恢复spfile文件恢复pfile文件
RMAN> restore spfile to pfile '/u01/app/oracle/product/10.2.0/db_1/dbs/initorcl.ora' from '/u01/rman_bak/data/spfile_12of2jah_1_1_20130718';
Starting restore at 19-7 -13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=36 devtype=DISK
channel ORA_DISK_1: autobackup found: /u01/rman_bak/data/spfile_12of2jah_1_1_20130718
channel ORA_DISK_1: SPFILE restore from autobackup complete
Finished restore at 19-7 -13
RMAN> quit


3. 编辑pfile文件
# 修改pfile使用之适合单实例文件系统数据库
$ vi /u01/app/oracle/product/10.2.0/db_1/dbs/initorcl.ora
#注释掉RAC集群的配置参数,并修改部分单实例参数。
#orcl2.__db_cache_size=822083584
#orcl1.__db_cache_size=771751936
#orcl2.__java_pool_size=16777216
#orcl1.__java_pool_size=16777216
#orcl2.__large_pool_size=16777216
#orcl1.__large_pool_size=16777216
#orcl2.__shared_pool_size=352321536
#orcl1.__shared_pool_size=402653184
#orcl2.__streams_pool_size=0
#orcl1.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.background_dump_dest='/u01/app/oracle/admin/orcl/bdump'
#*.cluster_database_instances=2
#*.cluster_database=true
*.compatible='10.2.0.5.0'
*.control_file_record_keep_time=40
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl','/u01/app/oracle/oradata/orcl/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/orcl/cdump'
*.db_block_size=8192
#*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=21474836480
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
#orcl2.instance_number=2
#orcl1.instance_number=1
*.job_queue_proc