db2 HADR安装与配置

      学了好长时间DB2了,写一些关于db2这个HADR组件的功能吧。HADR是high availability disaster recovery的简写。组成HADR,需要一对机器(DB2并没有支持多个从机,是因为这样会给系统的管理带来很大麻烦),一个主机(primary),一个从机(secondary)。从高可用性上来讲,当主机发生故障时,从机可以很快的接替主机工作,可以减少数据库的故障时间;从灾难恢复上来讲,如果主机由于不可预测的灾难发生了故障,远程的从机数据不受任何影响,可以保证数据不会丢失。

      这样做,缺点也是很明显的,就是客户需要承担一个额外的数据库服务器的费用。从v97fp1开始,DB2 HADR开始支持ROS(read on standby)。从这个版本开始,从机开始支持读操作,客户的读操作可以使用从机完成,减少主机的负载,提高系统的系能。这样,客户就不必担心额外的费用了。

      现在,写一下HADR配置的过程吧,前提是大家已经安装了db2。大家其实可以从google上搜索到很多关于这个话题的文章,但是我还是决定写一下,希望给大家多一个参考。

      首先,说明几个需要注意的问题:

      (1). HADR pair不可以使用circular logging。大家可以参照db2 infocenter,阅读以下DB2的log方式

      (2). HADR的从机是由主机的备份镜像恢复而成的

      (3). 启动HADR的时候应该首先启动standby,然后在启动primary

      (4). Standby和Primary上和HADR相关的参数一定要一致,否则会在系统握手校验的时候失败

 

      现在我们假设HADR Pair部署在主机hostp和从机hosts上

      第一步,分别在主机和从机上创建数据库:

       db2 create db hadrdb

      第二步,设置主数据库配置参数:

       db2 update db cfg for hadrdb using logretain on
       db2 update db cfg for hadrdb using trackmod on
       db2 update db cfg for hadrdb using logindexbuild on
       db2 update db cfg for hadrdb using indexrec restart

       db2 update db cfg for hadrdb using HADR_LOCAL_HOST hostp
       db2 update db cfg for hadrdb using HADR_LOCAL_SVC 54321
       db2 update db cfg for hadrdb using HADR_REMOTE_HOST hosts
       db2 update db cfg for hadrdb using HADR_REMOTE_SVC 54321
       db2 update db cfg for hadrdb using HADR_REMOTE_INST db2inst1
       db2 update db cfg for hadrdb using HADR_TIMEOUT 120
       db2 update db cfg for hadrdb using HADR_PEER_WINDOW 10
       db2 update db cfg for hadrdb using HADR_SYNCMODE sync

 

      第三步,备份主数据库,生成一个备份文件

       db2 backup db hadrdb

      这里需要注意一下,如果你是第一次将日志的方式设置为retain方式,这次备份会使数据库跳出backup pending方式。当从数据库恢复时,不要使用这个备份文件,而是需要重新备份一次,使用第二次备份的文件。假设文件名是:HADRDB.0.sfbao.NODE0000.CATN0000.20091116071458.001

      第四步,将刚才备份的数据库日志文件拷贝到一个从机可以使用的文件系统里面

      第五步,在从数据库上恢复数据库:

       db2 restore db hadrdb from HADRDB.0.sfbao.NODE0000.CATN0000.20091116071458.001

      第六步,配置从数据库的参数:

      db2 update db cfg for hadrdb using logretain on
      db2 update db cfg for hadrdb using trackmod on
      db2 update db cfg for hadrdb using logindexbuild on
      db2 update db cfg for hadrdb using indexrec restart

      db2 update db cfg for hadrdb using HADR_LOCAL_HOST hosts
      db2 update db cfg for hadrdb using HADR_LOCAL_SVC 54321
      db2 update db cfg for hadrdb using HADR_REMOTE_HOST hostp
      db2 update db cfg for hadrdb using HADR_REMOTE_SVC 54321
      db2 update db cfg for hadrdb using HADR_REMOTE_INST db2isnt1
      db2 update db cfg for hadrdb using HADR_TIMEOUT 120
      db2 update db cfg for hadrdb using HADR_PEER_WINDOW 10
      db2 update db cfg for hadrdb using HADR_SYNCMODE sync

      其实,对于这一步,你只要更新HADR_LOCAL_HOST和HADR_REMOTE_HOST就可以了,因为其他的参数在restore db的时候都会恢复出来。

      第七步,启动从数据库:

      db2 start hadr on db hadrdb as standby

      第八步,启动主数据库:

      db2 start hadr on db hadrdb as primary

 

      到这里,一个HADR Pair就配置好了。笔记本快没电了,以后在写其它的。

      计划下一次写一下和HADR和DB2 HA结合使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值