ITPub博客

首页 > 数据库 > Oracle > RMAN异机恢复:RAC到单实例

RMAN异机恢复:RAC到单实例

原创 Oracle 作者:abstractcyj 时间:2017-03-27 16:27:10 0 删除 编辑
数据库版本11.2.0.4.0, 操作系统:Redhat Linux 6.6


异机恢复:RAC到单实例
1. 在目标机上创建参数文件, 本例为:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/inithbdb.ora
 *.audit_trail='db'
*.cluster_database=true
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oradata/hbdb/control01.ctl', '/u01/app/flash_recovery_area/hbdb/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='hbdb'
*.diagnostic_dest='/u01/app'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=hbdbXDB)'
*.enable_goldengate_replication=TRUE
*.open_cursors=1000
*.open_links=50
*.open_links_per_instance=50
*.pga_aggregate_target=2147483648
*.processes=2000
*.remote_login_passwordfile='exclusive'
*.sga_max_size=8589934592         
*.sga_target=8589934592
*.undo_tablespace='UNDOTBS1'
*._no_recovery_through_resetlogs=true


这些目录:/u01/app/oradata/hbdb/, /u01/app/flash_recovery_area/hbdb需要预先创建


注意_no_recovery_through_resetlogs=true这个参数,


2. 恢复控制文件。
   将数据库启动至nomount状态 
   restore controlfile from '控制文件备份集';
   
3. 注册备份集
   RMAN下:catalog start with '备份集所在目录';
   
4. 还原数据库
 run
 {  
    set newname for database to '/home/oradata/hbdb/%b';
    restore database;
    switch datafile all; 
    recover database;
 }
 
 注意这个switch datafile all; 很重要
 
5. 最后在alter database open resetlogs的时候碰到了错误:
   由于rac环境的redolog在asm中,需要重建controlfile重定向redolog文件路径.
   SQL> alter database backup controlfile to trace;
   SQL> shutdown immediate
   
   修改一下控制文件中日志文件路径, 接着重建控制文件
   
6. 完成之后执行alter database open resetlogs;
   但是我遇到看了错误:ORA-38856: cannot mark instance UNNAMED_INSTANCE_2 (redo thread 2) as enabled
   查了一下,在pfile中加入了如下:
   *._no_recovery_through_resetlogs=true
  
   接下来open resetlogs成功

参考:http://blog.itpub.net/22990797/viewspace-749970/

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8520577/viewspace-2136135/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
曾从事java方向开发多年。近年已经转入数据库方向。主要擅长SQL优化,Oracle数据库问题诊断,Oracle备份与恢复等。服务于医药物流,医院等行业

注册时间:2010-01-26

  • 博文量
    602
  • 访问量
    1091594