RAC一个节点恢复另一个节点在带库上的备份 [转帖]_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4494 | 回复: 0   主题: RAC一个节点恢复另一个节点在带库上的备份 [转帖]        下一篇 
wayne
注册用户
等级:中校
经验:1690
发帖:221
精华:0
注册:2011-7-21
状态:离线
发送短消息息给wayne 加好友    发送短消息息给wayne 发消息
发表于: IP:您无权察看 2011-8-25 18:05:40 | [全部帖] [楼主帖] 楼主

对于RAC环境而言,如果两个实例分别连接带库进行备份,那么默认情况下,彼此是看不到对方的备份信息的。

看一个简单的例子,在RAC环境的节点2上执行备份:

bash-3.00$ rman target /


恢复管理器: Release 10.2.0.3.0 - Production on 星期二 7月 21 11:05:47 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.


连接到目标数据库: TRADEDB (DBID=4181457554)

RMAN> run
2> {
      3> allocate channel c1 device type sbt;
      4> backup spfile;
5> }


使用目标数据库控制文件替代恢复目录分配的通道: c1通道 c1: sid=304 实例=tradedb2 devtype=SBT_TAPE通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

启动 backup 于 21-7月 -09通道 c1: 启动全部数据文件备份集通道 c1: 正在指定备份集中的数据文件在备份集中包含当前的 SPFILE通道 c1: 正在启动段 1 于 21-7月 -09通道 c1: 已完成段 1 于 21-7月 -09段句柄=94kkmdp4_1_1 标记=TAG20090721T110612 注释=API Version 2.0,MMS Version 5.0.0.0通道 c1: 备份集已完成, 经过时间:00:02:46完成 backup 于 21-7月 -09释放的通道: c1

在节点2上,进行恢复的测试:

RMAN> run
2> {
      3> allocate channel c1 device type sbt;
      4> restore spfile to '/export/home/oracle/spfiletradedb2.ora' from '94kkmdp4_1_1';
5> }


分配的通道: c1通道 c1: sid=304 实例=tradedb2 devtype=SBT_TAPE通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

启动 restore 于 21-7月 -09

通道 c1: 已找到的自动备份: 94kkmdp4_1_1通道 c1: 从自动备份复原 SPFILE 已完成完成 restore 于 21-7月 -09释放的通道: c1

显然不会有任何的问题,但是对于节点1来说,虽然通过读取控制文件,可以“看到”这个备份信息,但是它无法从带库上找到这个文件:

bash-3.00$ rman target /


恢复管理器: Release 10.2.0.3.0 - Production on 星期二 7月 21 14:28:10 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.


连接到目标数据库: TRADEDB (DBID=4181457554)

RMAN> list backup of spfile tag 'TAG20090721T110612';


备份集列表
===================

BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间

------- ---- -- ---------- ----------- ------------ ----------


1266 Full 256.00K SBT_TAPE 00:02:37 21-7月
-09
BP 关键字: 2297 状态: AVAILABLE 已压缩: NO 标记
: TAG20090721T110612
句柄: 94kkmdp4_1_1 介质
:
包含的 SPFILE: 修改时间: 21-7月 -09

RMAN> run
2> {
      3> allocate channel c1 device type sbt;
      4> restore spfile to '/export/home/oracle/spfiletradedb2.ora' from '94kkmdp4_1_1';
5> }


使用目标数据库控制文件替代恢复目录分配的通道: c1通道 c1: sid=136 实例=tradedb1 devtype=SBT_TAPE通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

启动 restore 于 21-7月 -09

释放的通道: c1

MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================


RMAN-03002: restore 命令 (在 07/21/2009 11:24:05 上) 失败

RMAN-06172: 没有找到自动备份或指定的句柄不是有效副本或片段

为了使得当前节点可以看到其他节点的备份信息,需要在分配连接的时候指定NB_ORA_CLIENT信息:

RMAN> run
2> {
      3> allocate channel c1 device type sbt parms 'ENV=(NB_ORA_CLIENT=ahrac2)';
      4> restore spfile to '/export/home/oracle/spfiletradedb2.ora' from '94kkmdp4_1_1';
5> }


使用目标数据库控制文件替代恢复目录分配的通道: c1通道 c1: sid=126 实例=tradedb1 devtype=SBT_TAPE通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

启动 restore 于 21-7月 -09

通道 c1: 已找到的自动备份: 94kkmdp4_1_1释放的通道: c1

MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================


RMAN-03002: restore 命令 (在 07/21/2009 14:28:29 上) 失败

ORA-19870: 读取备份段 94kkmdp4_1_1 时出错
ORA-19507: 无法检索顺序文件, 句柄= "94kkmdp4_1_1", 参数 = ""
ORA-27029: skgfrtrv: sbtrestore 返回错误

ORA-19511: 从介质管理器层接收到错误, 错误文本为:

Failed to process backup file <94kkmdp4_1_1>


虽然这里仍然报错,但是错误信息已经改变,而且RMAN已经明确的给出信息:通道 c1: 已找到的自动备份: 94kkmdp4_1_1。

只不过是其他的原因导致恢复过程出现了错误。除了在RMAN分配CHANNEL的时候需要配置CLIENT信息,还要在NETBACKUP的安装SERVER上进行设置,确保任何名称的客户端都可以读取备份信息:

bash-3.00# cd /usr/openv/netbackup/db
bash-3.00# mkdir altnames
bash-3.00# touch altnames/No.Restrictions


创建netbackup/db/altnames/No.Restrictions文件,然后再次执行恢复:

RMAN> run
2> {
      3> allocate channel c1 device type sbt parms 'ENV=(NB_ORA_CLIENT=ahrac2)';
      4> restore spfile to '/export/home/oracle/spfiletradedb2.ora' from '94kkmdp4_1_1';
5> }


分配的通道: c1通道 c1: sid=126 实例=tradedb1 devtype=SBT_TAPE通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

启动 restore 于 21-7月 -09

通道 c1: 已找到的自动备份: 94kkmdp4_1_1通道 c1: 从自动备份复原 SPFILE 已完成完成 restore 于 21-7月 -09释放的通道: c1

终于在节点1上恢复了节点2在带库上的备份。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论