为了确保成功,应该在分配通道的时候,分别连接到多个instance上就可以了,这样就不用考虑,负载是否均衡的问题了
RAC环境的备份、恢复和普通数据库的备份、恢复是有一些区别的。
RMAN备份恢复——RAC环境数据库的备份(一):http://yangtingkun.itpub.net/post/468/285260
RMAN备份恢复——RAC环境数据库的备份(二):http://yangtingkun.itpub.net/post/468/287076
RMAN备份恢复——RAC环境数据库的备份(三):http://yangtingkun.itpub.net/post/468/287617
RMAN备份恢复——RAC环境数据库的备份(四):http://yangtingkun.itpub.net/post/468/288295
RMAN备份恢复——RAC环境数据库的备份(五):http://yangtingkun.itpub.net/post/468/288557
RMAN备份恢复——RAC环境数据库的备份(六):http://yangtingkun.itpub.net/post/468/288973
RMAN备份恢复——RAC环境数据库的备份(七):http://yangtingkun.itpub.net/post/468/289665
RMAN备份恢复——RAC环境数据库的备份(八):http://yangtingkun.itpub.net/post/468/290599
RMAN备份恢复——RAC环境数据库的备份(九):http://yangtingkun.itpub.net/post/468/291018
RMAN备份恢复——RAC环境数据库的备份(十):http://yangtingkun.itpub.net/post/468/291415
这篇介绍基于裸设备RAC备份的负载均衡解决方案。
其实这篇文章并非是计划中的,不过既然这种方法在某种程度上可以实现目标,那么这里把方法也列出来。
再次强调一次,这种方法并非是RAC备份的一种解决方案,只是在两个实例负载均衡的前提下才可以正常工作。
$ rman target /
恢复管理器: Release 10.2.0.3.0 - Production on 星期五 5月 25 00:51:00 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: TESTRAC (DBID=4291216984)
RMAN> run
2> {
3> allocate channel c1 device type disk format '/data1/backup/%U';
4> allocate channel c2 device type disk format '/data1/backup/%U';
5> backup database plus archivelog delete all input;
6> }
使用目标数据库控制文件替代恢复目录分配的通道: c1通道 c1: sid=290 实例=testrac1 devtype=DISK
分配的通道: c2通道 c2: sid=289 实例=testrac1 devtype=DISK
启动 backup 于 25-5月 -07当前日志已存档释放的通道: c1释放的通道: c2
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup plus archivelog 命令 (在 05/25/2007 00:53:11 上) 失败
RMAN-06059: 没有找到预期的归档日志, 归档日志的丢失将影响可恢复性
ORA-19625: 识别文件/data1/archivelog/2_14_626291662.dbf时出错
ORA-27037: 无法获得文件状态
SVR4 Error: 2: No such file or directory
Additional information: 3
RMAN> exit
恢复管理器完成。
很显然,由于两个CHANNEL都连接到testrac1实例,因此无法找到testrac2实例所在服务器上的归档日志。因此,备份报错。
如果配置了负载均衡,那么可以通过设置的负载均衡服务名来建立RMAN连接:
$ rman target sys/test@testrac
恢复管理器: Release 10.2.0.3.0 - Production on 星期五 5月 25 00:55:36 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: TESTRAC (DBID=4291216984)
RMAN> run
2> {
3> allocate channel c1 device type disk format '/data1/backup/%U';
4> allocate channel c2 device type disk format '/data1/backup/%U';
5> backup database plus archivelog delete all input;
6> }
使用目标数据库控制文件替代恢复目录分配的通道: c1通道 c1: sid=290 实例=testrac1 devtype=DISK
分配的通道: c2通道 c2: sid=311 实例=testrac2 devtype=DISK
启动 backup 于 25-5月 -07当前日志已存档通道 c2: 正在启动存档日志备份集通道 c2: 正在指定备份集中的存档日志输入存档日志线程 =2 序列 =14 记录 ID=1013 时间戳=623465696输入存档日志线程 =2 序列 =15 记录 ID=1015 时间戳=623465779输入存档日志线程 =2 序列 =16 记录 ID=1017 时间戳=623465829输入存档日志线程 =2 序列 =17 记录 ID=1020 时间戳=623465890通道 c2: 正在启动段 1 于 25-5月 -07通道 c1: 正在启动存档日志备份集通道 c1: 正在指定备份集中的存档日志输入存档日志线程 =1 序列 =10 记录 ID=1014 时间戳=623465585通道 c1: 正在启动段 1 于 25-5月 -07通道 c2: 已完成段 1 于 25-5月 -07段句柄=/data1/backup/thiiild3_1_1 标记=TAG20070525T005810 注释=NONE通道 c2: 备份集已完成, 经过时间:00:00:02通道 c2: 正在删除存档日志存档日志文件名 =/data1/archivelog/2_14_626291662.dbf 记录 ID=1013 时间戳 =623465696存档日志文件名 =/data1/archivelog/2_15_626291662.dbf 记录 ID=1015 时间戳 =623465779存档日志文件名 =/data1/archivelog/2_16_626291662.dbf 记录 ID=1017 时间戳 =623465829存档日志文件名 =/data1/archivelog/2_17_626291662.dbf 记录 ID=1020 时间戳 =623465890通道 c1: 已完成段 1 于 25-5月 -07段句柄=/data1/backup/tiiiil9m_1_1 标记=TAG20070525T005810 注释=NONE通道 c1: 备份集已完成, 经过时间:00:00:00通道 c1: 正在删除存档日志存档日志文件名 =/data1/archivelog/1_10_626291662.dbf 记录 ID=1014 时间戳 =623465585通道 c1: 正在启动存档日志备份集通道 c1: 正在指定备份集中的存档日志输入存档日志线程 =1 序列 =11 记录 ID=1016 时间戳=623465672输入存档日志线程 =1 序列 =12 记录 ID=1018 时间戳=623465718输入存档日志线程 =1 序列 =13 记录 ID=1019 时间戳=623465778通道 c1: 正在启动段 1 于 25-5月 -07通道 c1: 已完成段 1 于 25-5月 -07段句柄=/data1/backup/tjiiil9n_1_1 标记=TAG20070525T005810 注释=NONE通道 c1: 备份集已完成, 经过时间:00:00:02通道 c1: 正在删除存档日志存档日志文件名 =/data1/archivelog/1_11_626291662.dbf 记录 ID=1016 时间戳 =623465672存档日志文件名 =/data1/archivelog/1_12_626291662.dbf 记录 ID=1018 时间戳 =623465718存档日志文件名 =/data1/archivelog/1_13_626291662.dbf 记录 ID=1019 时间戳 =623465778完成 backup 于 25-5月 -07
启动 backup 于 25-5月 -07通道 c1: 启动全部数据文件备份集通道 c1: 正在指定备份集中的数据文件输入数据文件 fno=00006 name=+DISK/testrac/datafile/zhejiang01.dbf输入数据文件 fno=00009 name=+DISK/testrac/datafile/zhejiang03.dbf输入数据文件 fno=00012 name=+DISK/testrac/datafile/zhejiang05.dbf输入数据文件 fno=00008 name=+DISK/testrac/datafile/ndmain01.dbf输入数据文件 fno=00002 name=+DISK/testrac/datafile/undotbs1.263.618591197输入数据文件 fno=00010 name=+DISK/testrac/datafile/ndindex01.dbf输入数据文件 fno=00001 name=+DISK/testrac/datafile/system.262.618591167输入数据文件 fno=00005 name=+DISK/testrac/datafile/users.267.618591279通道 c1: 正在启动段 1 于 25-5月 -07通道 c2: 启动全部数据文件备份集通道 c2: 正在指定备份集中的数据文件输入数据文件 fno=00007 name=+DISK/testrac/datafile/zhejiang02.dbf输入数据文件 fno=00011 name=+DISK/testrac/datafile/zhejiang04.dbf输入数据文件 fno=00014 name=+DISK/testrac/datafile/zhejiang06.dbf输入数据文件 fno=00015 name=+DISK/testrac/datafile/gpo.367.624623443输入数据文件 fno=00004 name=+DISK/testrac/datafile/undotbs2.266.618591249输入数据文件 fno=00013 name=+DISK/testrac/datafile/lt_index_ts01.dbf输入数据文件 fno=00003 name=+DISK/testrac/datafile/sysaux.264.618591225通道 c2: 正在启动段 1 于 25-5月 -07通道 c2: 已完成段 1 于 25-5月 -07段句柄=/data1/backup/tliiilda_1_1 标记=TAG20070525T005817 注释=NONE通道 c2: 备份集已完成, 经过时间:00:12:56通道 c1: 已完成段 1 于 25-5月 -07段句柄=/data1/backup/tkiiil9r_1_1 标记=TAG20070525T005817 注释=NONE通道 c1: 备份集已完成, 经过时间:00:17:32完成 backup 于 25-5月 -07
启动 backup 于 25-5月 -07当前日志已存档通道 c1: 正在启动存档日志备份集通道 c1: 正在指定备份集中的存档日志输入存档日志线程 =1 序列 =14 记录 ID=1022 时间戳=623466843通道 c1: 正在启动段 1 于 25-5月 -07通道 c2: 正在启动存档日志备份集通道 c2: 正在指定备份集中的存档日志输入存档日志线程 =2 序列 =18 记录 ID=1021 时间戳=623466953通道 c2: 正在启动段 1 于 25-5月 -07通道 c1: 已完成段 1 于 25-5月 -07段句柄=/data1/backup/tmiiimb0_1_1 标记=TAG20070525T011558 注释=NONE通道 c1: 备份集已完成, 经过时间:00:00:01通道 c1: 正在删除存档日志存档日志文件名 =/data1/archivelog/1_14_626291662.dbf 记录 ID=1022 时间戳 =623466843通道 c2: 已完成段 1 于 25-5月 -07段句柄=/data1/backup/tniiimef_1_1 标记=TAG20070525T011558 注释=NONE通道 c2: 备份集已完成, 经过时间:00:00:01通道 c2: 正在删除存档日志存档日志文件名 =/data1/archivelog/2_18_626291662.dbf 记录 ID=1021 时间戳 =623466953完成 backup 于 25-5月 -07
启动 Control File and SPFILE Autobackup 于 25-5月 -07段 handle=+DISK/testrac/autobackup/2007_05_25/s_623466849.372.624650413 comment=NONE完成 Control File and SPFILE Autobackup 于 25-5月 -07释放的通道: c1释放的通道: c2
RMAN>
其中设置了负载均衡的服务名TESTRAC配置如下:
TESTRAC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = racnode2-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testrac)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)
这种备份的成功是建立在目前数据库实例上连接的会话已经处于一种均衡状态,否则会出现下面的错误:
$ rman target sys/test@testrac
恢复管理器: Release 10.2.0.3.0 - Production on 星期五 5月 25 00:54:43 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: TESTRAC (DBID=4291216984)
RMAN> run
2> {
3> allocate channel c1 device type disk format '/data1/backup/%U';
4> allocate channel c2 device type disk format '/data2/backup/%U';
5> backup database plus archivelog delete all input;
6> }
使用目标数据库控制文件替代恢复目录分配的通道: c1通道 c1: sid=315 实例=testrac2 devtype=DISK
分配的通道: c2通道 c2: sid=307 实例=testrac2 devtype=DISK
启动 backup 于 25-5月 -07当前日志已存档释放的通道: c1释放的通道: c2
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: backup plus archivelog 命令 (在 05/25/2007 00:55:18 上) 失败
RMAN-06059: 没有找到预期的归档日志, 归档日志的丢失将影响可恢复性
ORA-19625: 识别文件/data1/archivelog/1_10_626291662.dbf时出错
ORA-27037: 无法获得文件状态
SVR4 Error: 2: No such file or directory
Additional information: 3
这个错误就是由于不同实例上的负载不平衡,造成RMAN两个CHANNEL全部连接到一个实例上,造成了上面的错误。
为了确保成功,应该在分配通道的时候,分别连接到多个instance上就可以了,这样就不用考虑,负载是否均衡的问题了
这个系列做的实在是太好了,忍不住发个言赞一下
谢谢--博主
写的太好了!!!!![]()
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13024285/viewspace-671674/ ,如需转载,请注明出处,否则将追究法律责任。