签到成功

知道了

CNDBA社区CNDBA社区

DB2 HADR安装

2021-10-01 22:49 1346 0 原创 DB2
作者: hbhe0316

1.系统环境准备,db02作为primary节点,db03作为standby节点
[db2inst1@db02 archivelog]$ cat /etc/hostshttp://www.cndba.cn/hbhe0316/article/4818

192.168.2.167 db02
192.168.2.163 db03

2.创建主库并插入表

db2 "CREATE DB testdb on /db2data/testdb using codeset UTF-8 territory us PAGESIZE 8192"
db2 "UPDATE DB CFG FOR testdb USING applheapsz 4096"
db2 "UPDATE DB CFG FOR testdb USING app_ctl_heap_sz 1024"
db2 "UPDATE DB CFG FOR testdb USING stmtheap 32768"
db2 "UPDATE DB CFG FOR testdb USING dbheap 2400"
db2 "UPDATE DB CFG FOR testdb USING locklist 1000"
db2 "UPDATE DB CFG FOR testdb USING logfilsiz 4000"
db2 "UPDATE DB CFG FOR testdb USING logprimary 12"
db2 "UPDATE DB CFG FOR testdb USING logsecond 20"
db2 "UPDATE DB CFG FOR testdb USING logbufsz 32"
db2 "UPDATE DB CFG FOR testdb USING avg_appls 5"
db2 "UPDATE DB CFG FOR testdb USING locktimeout 30"
db2 "UPDATE DB CFG FOR testdb using AUTO_MAINT off"

db2 "UPDATE DB CFG FOR TESTDB USING LOGINDEXBUILD  ON  LOGARCHMETH1 logretain"
db2 "update db cfg for testdb using trackmod on"
db2 "update db cfg for testdb using indexrec restart"
db2 "update db cfg for testdb using HADR_LOCAL_HOST 192.168.2.167"
db2 "update db cfg for testdb using HADR_LOCAL_SVC 54321"
db2 "update db cfg for testdb using HADR_REMOTE_HOST 192.168.2.163"
db2 "update db cfg for testdb using HADR_REMOTE_SVC 54321"
db2 "update db cfg for testdb using HADR_REMOTE_INST db2inst1"
db2 "update db cfg for testdb using HADR_TIMEOUT 120"
db2 "update db cfg for testdb using HADR_PEER_WINDOW 10"
db2 "update db cfg for testdb using HADR_SYNCMODE sync"

3.备份主库并传送至备库

[db2inst1@db02 testdb]$ db2 backup db testdb to /db2data/backup/
[db2inst1@db02 backup]$ cd /db2data/backup
[db2inst1@db02 backup]$ scp TESTDB.0.db2inst1.DBPART000.20190811162133.001 192.168.2.163:/db2data/backup/

4.恢复备库,在备库执行

http://www.cndba.cn/hbhe0316/article/4818

[db2inst1@db03 backup]$ db2 restore db testdb from /db2data/backup/

5.修改备库hadr参数

db2 "update db cfg for testdb using HADR_LOCAL_HOST 192.168.2.163"
db2 "update db cfg for testdb using HADR_REMOTE_HOST 192.168.2.167"

6.修改hadr_target_list
主库执行

http://www.cndba.cn/hbhe0316/article/4818

db2 "UPDATE DB CFG FOR TESTDB USING HADR_TARGET_LIST  192.168.2.163:54321"

备库执行

http://www.cndba.cn/hbhe0316/article/4818

db2 "UPDATE DB CFG FOR TESTDB USING HADR_TARGET_LIST  192.168.2.167:54321"

7.备机启动HADR

http://www.cndba.cn/hbhe0316/article/4818
http://www.cndba.cn/hbhe0316/article/4818

[db2inst1@db03 backup]$ db2 START HADR ON DB TESTDB AS STANDBY
DB20000I  The START HADR ON DATABASE command completed successfully.

8.在主库启动HADR

http://www.cndba.cn/hbhe0316/article/4818

[db2inst1@db02 backup]$ db2 START HADR ON DB TESTDB AS PRIMARY
DB20000I  The START HADR ON DATABASE command completed successfully.

9.在主机检查主备机状态

[db2inst1@db02 backup]$ db2pd -db testdb -hadr

Database Member 0 -- Database TESTDB -- Active -- Up 0 days 00:01:02 -- Date 2019-08-11-17.00.43.510622

                            HADR_ROLE = PRIMARY
                          REPLAY_TYPE = PHYSICAL
                        HADR_SYNCMODE = SYNC
                           STANDBY_ID = 1
                        LOG_STREAM_ID = 0
                           HADR_STATE = PEER
                           HADR_FLAGS = 
                  PRIMARY_MEMBER_HOST = 192.168.2.167
                     PRIMARY_INSTANCE = db2inst1
                       PRIMARY_MEMBER = 0
                  STANDBY_MEMBER_HOST = 192.168.2.163
                     STANDBY_INSTANCE = db2inst1
                       STANDBY_MEMBER = 0
                  HADR_CONNECT_STATUS = CONNECTED
             HADR_CONNECT_STATUS_TIME = 08/11/2019 16:59:44.003073 (1565513984)
          HEARTBEAT_INTERVAL(seconds) = 2
                HADR_TIMEOUT(seconds) = 120
        TIME_SINCE_LAST_RECV(seconds) = 30
             PEER_WAIT_LIMIT(seconds) = 0
           LOG_HADR_WAIT_CUR(seconds) = 0.000
    LOG_HADR_WAIT_RECENT_AVG(seconds) = 0.000000
   LOG_HADR_WAIT_ACCUMULATED(seconds) = 0.000
                  LOG_HADR_WAIT_COUNT = 0
SOCK_SEND_BUF_REQUESTED,ACTUAL(bytes) = 0, 19800
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 0, 87380
            PRIMARY_LOG_FILE,PAGE,POS = S0000000.LOG, 0, 40760001
            STANDBY_LOG_FILE,PAGE,POS = S0000000.LOG, 0, 40760001
                  HADR_LOG_GAP(bytes) = 0
     STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000000.LOG, 0, 40760001
       STANDBY_RECV_REPLAY_GAP(bytes) = 4069492
                     PRIMARY_LOG_TIME = 08/11/2019 16:53:24.000000 (1565513604)
                     STANDBY_LOG_TIME = 08/11/2019 16:53:24.000000 (1565513604)
              STANDBY_REPLAY_LOG_TIME = 08/11/2019 16:53:24.000000 (1565513604)
         STANDBY_RECV_BUF_SIZE(pages) = 64
             STANDBY_RECV_BUF_PERCENT = 0
           STANDBY_SPOOL_LIMIT(pages) = 128000
                STANDBY_SPOOL_PERCENT = 0
                 PEER_WINDOW(seconds) = 10
                      PEER_WINDOW_END = 08/11/2019 17:00:52.000000 (1565514052)
             READS_ON_STANDBY_ENABLED = N

10.在备机执行命令

[db2inst1@db03 backup]$ db2pd -db testdb -hadr

Database Member 0 -- Database TESTDB -- Standby -- Up 0 days 00:02:43 -- Date 2019-08-11-17.01.37.581033

                            HADR_ROLE = STANDBY
                          REPLAY_TYPE = PHYSICAL
                        HADR_SYNCMODE = SYNC
                           STANDBY_ID = 0
                        LOG_STREAM_ID = 0
                           HADR_STATE = PEER
                           HADR_FLAGS = 
                  PRIMARY_MEMBER_HOST = 192.168.2.167
                     PRIMARY_INSTANCE = db2inst1
                       PRIMARY_MEMBER = 0
                  STANDBY_MEMBER_HOST = 192.168.2.163
                     STANDBY_INSTANCE = db2inst1
                       STANDBY_MEMBER = 0
                  HADR_CONNECT_STATUS = CONNECTED
             HADR_CONNECT_STATUS_TIME = 08/11/2019 16:59:43.802864 (1565513983)
          HEARTBEAT_INTERVAL(seconds) = 30
                HADR_TIMEOUT(seconds) = 120
        TIME_SINCE_LAST_RECV(seconds) = 2
             PEER_WAIT_LIMIT(seconds) = 0
           LOG_HADR_WAIT_CUR(seconds) = 0.000
    LOG_HADR_WAIT_RECENT_AVG(seconds) = 0.000000
   LOG_HADR_WAIT_ACCUMULATED(seconds) = 0.000
                  LOG_HADR_WAIT_COUNT = 0
SOCK_SEND_BUF_REQUESTED,ACTUAL(bytes) = 0, 19800
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 0, 87380
            PRIMARY_LOG_FILE,PAGE,POS = S0000000.LOG, 0, 40760001
            STANDBY_LOG_FILE,PAGE,POS = S0000000.LOG, 0, 40760001
                  HADR_LOG_GAP(bytes) = 0
     STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000000.LOG, 0, 40760001
       STANDBY_RECV_REPLAY_GAP(bytes) = 4069492
                     PRIMARY_LOG_TIME = 08/11/2019 16:53:24.000000 (1565513604)
                     STANDBY_LOG_TIME = 08/11/2019 16:53:24.000000 (1565513604)
              STANDBY_REPLAY_LOG_TIME = 08/11/2019 16:53:24.000000 (1565513604)
         STANDBY_RECV_BUF_SIZE(pages) = 64
             STANDBY_RECV_BUF_PERCENT = 0
           STANDBY_SPOOL_LIMIT(pages) = 128000
                STANDBY_SPOOL_PERCENT = 0
                 PEER_WINDOW(seconds) = 10
                      PEER_WINDOW_END = 08/11/2019 17:01:46.000000 (1565514106)
             READS_ON_STANDBY_ENABLED = N

11.备机接管主机http://www.cndba.cn/hbhe0316/article/4818

[db2inst1@db03 backup]$ db2 "TAKEOVER HADR ON DATABASE testdb USER db2inst1 USING wwwwww"
DB20000I  The TAKEOVER HADR ON DATABASE command completed successfully.

这样原来的备机变成主机,主机变成备机。

12.强制接管
强制接管条件:当主机数据库崩溃,需要备机强制接管成为主机,备机成为主机后,需要手动的备份数据库,再恢复到已经崩溃的数据库中。

http://www.cndba.cn/hbhe0316/article/4818
http://www.cndba.cn/hbhe0316/article/4818

db2 "TAKEOVER HADR ON DATABASE testdb USER db2inst1 USING wwwwww by force"

版权声明:本文为博主原创文章,未经博主允许不得转载。

Linux,oracle

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
hbhe0316

hbhe0316

关注

1.只有承认无知,才能装下新的东西; 2.进步来自一点点滴滴的积累; 3.广博让你更优秀,而专业让你无法替代; 4.挫折和失败能够转换为一种财富。

  • 889
    原创
  • 1
    翻译
  • 13
    转载
  • 24
    评论
  • 访问:1152914次
  • 积分:1523
  • 等级:核心会员
  • 排名:第6名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ