免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2207 | 回复: 0
打印 上一主题 下一主题

[VTL与磁带系统] 如何在rman没有catalog的情况下恢复用Rman 备份到磁带上的controlfile [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-14 09:17 |只看该作者 |倒序浏览
在没有rman catalog的情况下,我一般建议用户单独将controlfile采用非rman方式备份出来,因为恢复数据库时要在start mount状态下才能用rman恢复,而start mount的前提是controlfile已经在了。所以,一般比较简单的方式为“1.文件方式恢复controlfile、2.startup mount、3.用rman恢复数据库”。但是,如果在nocatalog方式下如果没有用文件方式备份controlfile而数据库全部坏了,还有一个方法救命.......
关于如何在rman没有catalog的情况下恢复用Rman 备份到磁带上的controlfile
1. 利用 bplist 命令(NetBackup命令)查出最新备份的 controlfile 所在的备份集
# bplist -C oraserver -S bkserver -t 4 -R /
/cntrl_47_1_487002297
/cntrl_46_1_487002110
/cntrl_43_1_486814317
/al_42_1_486814273
/al_40_1_486814236
/al_41_1_486814236
/al_39_1_485975390
/al_38_1_485975073
/al_37_1_485964377
/al_36_1_485956945
/al_35_1_485956730
/al_34_1_485956488
/al_33_1_485798568
/cntrl_32_1_485795684
/al_31_1_485795653
/cntrl_30_1_485794954
/al_29_1_485794918
/cntrl_28_1_485719603
/al_26_1_485719551
/al_27_1_485719551
/bk_25_1_485719418
/bk_24_1_485719417
其中oraserver为oracle所在的NBU客户端,bkserver为 NBU MasterServer.
如上所示/cntrl_47_1_487002297 为最新的controlfile 备份集。
2. 将现有的数据库shutdown之后启动到nomount状态
SQL> conn / as sysdba
Connected.
SQL> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> startup nomount 可写可不写,看情况
ORACLE instance started.
Total System Global Area   69652640 bytes
Fixed Size                    73888 bytes
Variable Size              52621312 bytes
Database Buffers           16777216 bytes
Redo Buffers                 180224 bytes
3. 在SQL中敲入一下脚本
SQL>           
SQL> declare
  2   devtype varchar2(256);
  3   done boolean;
  4  begin
  5  devtype:=dbms_backup_restore.deviceallocate('sbt_tape',params=>'');
  6  dbms_backup_restore.restoresetdatafile;
  7  dbms_backup_restore.restorecontrolfileto('/tmp/abc.cf');
  8
dbms_backup_restore.restorebackuppiece('cntrl_47_1_487002297',done=>done
);
  9  end;
10  /
其中'/tmp/abc.cf'为我们要取出的controlfile 所存放的位置和名称;
    'cntrl_47_1_487002297'为先前我们得到的Controlfile 所在的备份集名称
    其余不需更改!!
此脚本运行的结果为:
PL/SQL procedure successfully completed.
4. 将/tmp/abc.cf文件改名为正确的controlfile 名字
5. 启动数据库到mount状态
6. 再执行RMAN的恢复脚本,恢复数据。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/1398/showart_56845.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP