注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Oracle、MySQL资料及经验

.

 
 
 

日志

 
 

把RAC的rman备份恢复到单实例上(用DG的方式)  

2013-06-03 10:11:41|  分类: 备份恢复 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

方法二 用DG的方式
上一篇博文中,已经写出了一种常见的把RAC rman备份恢复到单实例上的方式,我测试用DG备库的方式,也是同样可以实现这个目的。
下面简单介绍下实现步骤:
1. 主库建立备库的控制文件
SQL> alter database create standby controlfile as '/home/oracle/standby.ctl';
因为直接用主库的控制文件restore,会报错说找不到+DATA ASM磁盘组,RAC上做过DG的可以知道,用主库建的standby控制文件却是可以restore的。

2. 单实例参数文件中添加以下路径转换:
db_file_name_convert='+DATA/orcl/datafile','/u01/oracle/oradata/orcl','+DATA/orcl/tempfile','/u01/oracle/oradata/orcl'
log_file_name_convert='+DATA/orcl/onlinelog','/u01/oracle/oradata/orcl'

3. 把rman备份文件拷到原RAC上的备份路径,然后restore database、recover database

4. 备份控制文件,以便后面修改
alter database backup controlfile to trace as '/home/oracle/ctl.ctl';
关库shut immediate

5. 重建控制文件
我们知道控制文件决定这个库是主库还是备库,所以我们只要重建控制文件,就可以把一个备库切成主库了。
把/u01/oracle/oradata/orcl路径下RAC格式的文件名改为单实例格式的文件名,如把users.258.816695749改为users.dbf
打开第4步备份出来的控制文件/home/oracle/ctl.ctl,复制第二部分即RESETLOGS部分到txt文件中,修改对应的文件名称(如把users.258.816695749改为users.dbf),
然后复制到sqlplus中,重建controlfile。

6. 打开库alter database open resetlogs;

启库的过程中会重建redo文件,过程比较慢。

7.重建temp文件
库起来后,temp文件并没有创建,参考/home/oracle/controllfile中最后一部分,创建tempfile。
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/oracle/oradata/orcl/temp.dbf' size 50m;
ALTER TABLESPACE user1TEMP01 ADD TEMPFILE '/u01/oracle/oradata/orcl/user1temp01.dbf' size 10m;
ALTER TABLESPACE user1TEMP02 ADD TEMPFILE '/u01/oracle/oradata/orcl/user1temp02.dbf' size 10m;
ALTER TABLESPACE user1TEMP03 ADD TEMPFILE '/u01/oracle/oradata/orcl/user1temp03.dbf' size 10m;

8.删除已关闭实例及其redo文件:
SQL> select thread#,status,enabled from v$thread;

   THREAD# STATUS ENABLED
---------- ------ --------
         1 OPEN   PUBLIC
         2 CLOSED PUBLIC

删除已关闭的实例:
alter database disable thread 2;

清除未使用实例的redo日志组,操作如下
select 'alter database drop logfile group '||group#||';' from v$log where thread#>1;

9.删除多余的undo表空间
select name from v$tablespace where name like 'UNDO%';
show parameter undo_tablespace
drop tablespace undotbs2 including contents and datafiles;

  评论这张
 
阅读(277)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018