查看: 5229|回复: 7

[笔记] db2V10.1多备机配置

菲律宾申博太阳城官网
认证徽章
论坛徽章:
0
跳转到指定楼层
1#
发表于 2016-6-6 18:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 dbSeeSee 于 2016-6-6 18:45 编辑

先简要说明下db2V10.1中HADR的多备机特性

在多备机数据库的配置下,可以指定一个主要备机(Principal Standby)实现高可用性目标,另外两个辅助备机(Auxiliary Standby)提供灾难恢复支持。

在 HADR 多备机这一新的特性中,备机数据库被分为两类,
一类是主要备机(Principal Standby),
另一类是辅助备机(Auxiliary Standby)。

为了配置 HADR 的多备机,在 DB2 LUW V10.1 中引入了一个新的数据库配置参数HADR_TARGET_LIST,

UPDATE DATABASE CONFIGURATION FOR dbname USING
   HADR_TARGET_LIST host1 : port1|host2 : port2|host3 : port3

列表中的第一个数据库将成为该备机接管之后的主要备机

该参数不要求主数据库与备机数据库相同,也不要求主要备机和辅助备机之间相同

该参数是动态生效的,也就是说,修改该参数并不要求重启数据库

下面实验配置一下

一.1.1 主机规划
192.168.56.101 kvm101  主库
192.168.56.102 kvm102  主要备机1
192.168.56.103 kvm103  辅助备机1
192.168.56.104 kvm104  辅助备机2--动态添加

快速安装和配置DB2 以及创建测试DB

一.1.1 组和用户
############################
groupadd db2iadm2
groupadd db2fadm2
useradd -g db2fadm2 -m -d /home/db2fenc2 db2fenc2
echo "db2fenc2:db2_1234" > /root/pass
chpasswd < /root/pass
############################

useradd -g db2iadm2 -m -d /home/db2inst3 db2inst3

echo "db2inst3:db2_1234" > /root/pass
chpasswd < /root/pass


一.1.2 创建10.1实例
4台主机

echo "db2c_db2inst3    56000/tcp" >> /etc/services

/opt/ibm/db2/V10.1.0.5/instance/db2icrt -a server -s ese -u db2fenc2 -p db2c_db2inst3 db2inst3


创建后新增的服务端口

db2c_db2inst3    56000/tcp
DB2_db2inst3    60012/tcp
DB2_db2inst3_1  60013/tcp
DB2_db2inst3_2  60014/tcp
DB2_db2inst3_END        60015/tcp

[db2inst3@kvm101 ~]$ db2 get dbm cfg | grep -i SVC
TCP/IP Service name                          (SVCENAME) = db2c_db2inst3
SSL service name                         (SSL_SVCENAME) =


一.1.3 创建数据库
4台主机

mkdir -p /db2inst3/data
chmod -R 775 /db2inst3/data/
chown -R db2inst3:db2iadm2 /db2inst3/data/

su - db2inst3
db2start
db2 create db hadb on /db2inst3/data/

db2 update db cfg for hadb using logindexbuild on



一.1.4 开启归档
4台主机

mkdir -p /home/db2inst3/log
mkdir -p /home/db2inst3/archive/

db2 update db cfg for hadb using logarchmeth1 disk:/home/db2inst3/archive/
db2 update db cfg for hadb using NEWLOGPATH /home/db2inst2/log/

db2 force applications all
db2 backup db hadb to /home/db2inst3/
db2stop force;db2start
db2 archive log for db hadb

[db2inst3@kvm101 ~]$ db2 get db cfg for hadb | grep -i log
Log retain for recovery status                          = NO
User exit for logging status                            = YES
Catalog cache size (4KB)              (CATALOGCACHE_SZ) = 300
Log buffer size (4KB)                        (LOGBUFSZ) = 2149
Log file size (4KB)                         (LOGFILSIZ) = 1024
Number of primary log files                (LOGPRIMARY) = 13
Number of secondary log files               (LOGSECOND) = 12
Changed path to log files                  (NEWLOGPATH) =
Path to log files                                       = /db2inst3/data/db2inst3/NODE0000/SQL00001/LOGSTREAM0000/
Overflow log path                     (OVERFLOWLOGPATH) =
Mirror log path                         (MIRRORLOGPATH) =
First active log file                                   = S0000004.LOG
Block log on disk full                (BLK_LOG_DSK_FUL) = NO
Block non logged operations            (BLOCKNONLOGGED) = NO
Percent max primary log space by transaction  (MAX_LOG) = 0
Num. of active log files for 1 active UOW(NUM_LOG_SPAN) = 0
Percent log file reclaimed before soft chckpt (SOFTMAX) = 520
HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC
HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = 0
HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0
First log archive method                 (LOGARCHMETH1) = DISK:/home/db2inst3/archive/
Archive compression for logarchmeth1    (LOGARCHCOMPR1) = OFF
Options for logarchmeth1                  (LOGARCHOPT1) =
Second log archive method                (LOGARCHMETH2) = OFF
Archive compression for logarchmeth2    (LOGARCHCOMPR2) = OFF
Options for logarchmeth2                  (LOGARCHOPT2) =
Failover log archive path                (FAILARCHPATH) =
Number of log archive retries on error   (NUMARCHRETRY) = 5
Log archive retry Delay (secs)         (ARCHRETRYDELAY) = 20
Log pages during index build            (LOGINDEXBUILD) = OFF
Log DDL Statements                      (LOG_DDL_STMTS) = NO
Log Application Information             (LOG_APPL_INFO) = NO



认证徽章
论坛徽章:
0
2#
发表于 2016-6-6 18:17 | 只看该作者
下面开始配置HADR
1.2.6备份和还原数据
主库离线备份

db2 backup database hadb to /home/db2inst3/

Backup successful. The timestamp for this backup image is : 20160603150324



备库还原,先还原主要主库和辅助备库1
留一个辅助备库2做动态添加用

scp HADB.0.db2inst3.DBPART000.20160603150324.001 db2inst3@kvm102:/home/db2inst3/

scp HADB.0.db2inst3.DBPART000.20160603150324.001 db2inst3@kvm103:/home/db2inst3/

db2 restore database hadb from "/home/db2inst3/" taken at 20160603150324 replace history file

[db2inst3@kvm103 ~]$ db2 restore database hadb from "/home/db2inst3/" taken at 20160603150324 replace history file

SQL2523W  Warning!  Restoring to an existing database that is different from
the database on the backup image, but have matching names. The target database
will be overwritten by the backup version.  The Roll-forward recovery logs
associated with the target database will be deleted.
Do you want to continue ? (y/n) y

DB20000I  The RESTORE DATABASE command completed successfully.

第二章多备机配置
2.1HADR配置

2.1.1配置主库

db2 "UPDATE DB CFG FOR HADB USING
     HADR_TARGET_LIST  kvm102:55502|kvm103:55504
     HADR_REMOTE_HOST  kvm102
     HADR_REMOTE_SVC   55502
     HADR_SYNCMODE     sync
     HADR_REMOTE_INST  db2inst3
     HADR_LOCAL_HOST   kvm101
     HADR_LOCAL_SVC    55500"

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.
SQL1363W  One or more of the parameters submitted for immediate modification
were not changed dynamically. For these configuration parameters, the database
must be shutdown and reactivated before the configuration parameter changes
become effective.


2.1.2配置主要备机

# 在 host2 上

db2 "UPDATE DB CFG FOR HADB USING
    HADR_TARGET_LIST   kvm101:55500|kvm103:55504
    HADR_REMOTE_HOST   kvm101
    HADR_REMOTE_SVC    55500
    HADR_LOCAL_HOST    kvm102
    HADR_LOCAL_SVC     55502
    HADR_SYNCMODE      sync
    HADR_REMOTE_INST   db2inst3"

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.


2.1.3配置辅助备机1
# 在 host3 上

db2 "UPDATE DB CFG FOR HADB USING
     HADR_TARGET_LIST  kvm102:55502|kvm101:55500
     HADR_REMOTE_HOST  kvm101
     HADR_REMOTE_SVC   55500
     HADR_SYNCMODE     superasync
     HADR_REMOTE_INST  db2inst3
     HADR_LOCAL_HOST   kvm103
     HADR_LOCAL_SVC    55504"

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.


2.2启动HADR
2.2.1启动主要备机

[db2inst3@kvm102 ~]$ db2 START HADR ON DB HADB AS STANDBY
DB20000I  The START HADR ON DATABASE command completed successfully.

[db2inst3@kvm102 ~]$ db2pd -hadr -alldbs

Database Member 0 -- Database HADB -- Standby -- Up 0 days 00:01:04 -- Date 2016-06-03-15.26.26.870865

                            HADR_ROLE = STANDBY
                          REPLAY_TYPE = PHYSICAL
                        HADR_SYNCMODE =
                           STANDBY_ID = 0
                        LOG_STREAM_ID = 0
                           HADR_STATE = REMOTE_CATCHUP_PENDING
                  PRIMARY_MEMBER_HOST =
                     PRIMARY_INSTANCE =
                       PRIMARY_MEMBER = 0
                  STANDBY_MEMBER_HOST = kvm102
                     STANDBY_INSTANCE = db2inst3
                       STANDBY_MEMBER = 0
                  HADR_CONNECT_STATUS = DISCONNECTED
             HADR_CONNECT_STATUS_TIME = 06/03/2016 15:25:22.901604 (1464938722)
          HEARTBEAT_INTERVAL(seconds) = 30
                HADR_TIMEOUT(seconds) = 120
        TIME_SINCE_LAST_RECV(seconds) = 0
SOCK_SEND_BUF_REQUESTED,ACTUAL(bytes) = 0, 16384
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 0, 87380
            PRIMARY_LOG_FILE,PAGE,POS = S0000000.LOG, 0, 0
            STANDBY_LOG_FILE,PAGE,POS = S0000135.LOG, 0, 604226241
                  HADR_LOG_GAP(bytes) = 0
     STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000135.LOG, 0, 604226241
       STANDBY_RECV_REPLAY_GAP(bytes) = 0
                     PRIMARY_LOG_TIME = NULL
                     STANDBY_LOG_TIME = 06/03/2016 15:00:39.000000 (1464937239)
              STANDBY_REPLAY_LOG_TIME = 06/03/2016 15:00:39.000000 (1464937239)
         STANDBY_RECV_BUF_SIZE(pages) = 16
             STANDBY_RECV_BUF_PERCENT = 0
           STANDBY_SPOOL_LIMIT(pages) = 0
                 PEER_WINDOW(seconds) = 0
             READS_ON_STANDBY_ENABLED = N


2.2.2启动辅助备机

[db2inst3@kvm103 ~]$ db2 START HADR ON DB HADB AS STANDBY
DB20000I  The START HADR ON DATABASE command completed successfully.

[db2inst3@kvm103 ~]$ db2pd -hadr -alldbs

Database Member 0 -- Database HADB -- Standby -- Up 0 days 00:00:07 -- Date 2016-06-03-15.27.48.422709

                            HADR_ROLE = STANDBY
                          REPLAY_TYPE = PHYSICAL
                        HADR_SYNCMODE =
                           STANDBY_ID = 0
                        LOG_STREAM_ID = 0
                           HADR_STATE = REMOTE_CATCHUP_PENDING
                  PRIMARY_MEMBER_HOST =
                     PRIMARY_INSTANCE =
                       PRIMARY_MEMBER = 0
                  STANDBY_MEMBER_HOST = kvm103
                     STANDBY_INSTANCE = db2inst3
                       STANDBY_MEMBER = 0
                  HADR_CONNECT_STATUS = DISCONNECTED
             HADR_CONNECT_STATUS_TIME = 06/03/2016 15:27:41.461354 (1464938861)
          HEARTBEAT_INTERVAL(seconds) = 30
                HADR_TIMEOUT(seconds) = 120
        TIME_SINCE_LAST_RECV(seconds) = 0
SOCK_SEND_BUF_REQUESTED,ACTUAL(bytes) = 0, 16384
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 0, 87380
            PRIMARY_LOG_FILE,PAGE,POS = S0000000.LOG, 0, 0
            STANDBY_LOG_FILE,PAGE,POS = S0000135.LOG, 0, 604226241
                  HADR_LOG_GAP(bytes) = 0
     STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000135.LOG, 0, 604226241
       STANDBY_RECV_REPLAY_GAP(bytes) = 0
                     PRIMARY_LOG_TIME = NULL
                     STANDBY_LOG_TIME = 06/03/2016 15:00:39.000000 (1464937239)
              STANDBY_REPLAY_LOG_TIME = 06/03/2016 15:00:39.000000 (1464937239)
         STANDBY_RECV_BUF_SIZE(pages) = 16
             STANDBY_RECV_BUF_PERCENT = 0
           STANDBY_SPOOL_LIMIT(pages) = 0
                 PEER_WINDOW(seconds) = 0
             READS_ON_STANDBY_ENABLED = N
认证徽章
论坛徽章:
0
3#
发表于 2016-6-6 18:17 | 只看该作者
[db2inst3@kvm101 ~]$ db2 deactivate db hadb
DB20000I  The DEACTIVATE DATABASE command completed successfully.

[db2inst3@kvm101 ~]$ db2 START HADR ON DB HADB AS PRIMARY
DB20000I  The START HADR ON DATABASE command completed successfully.

[db2inst3@kvm101 ~]$ db2 list active databases

                           Active Databases

Database name                              = HADB
Applications connected currently           = 0
Database path                              = /db2inst3/data/db2inst3/NODE0000/SQL00001/MEMBER0000/

2.3查看HADR状态
2.3.1主库查看

db2 "select HADR_ROLE, STANDBY_ID, HADR_STATE,
varchar(PRIMARY_MEMBER_HOST,20) as PRIMARY_HOST,
varchar(STANDBY_MEMBER_HOST,20) as STANDBY_HOST
from table (mon_get_hadr(NULL))"


[db2inst3@kvm101 ~]$ db2 "select HADR_ROLE, STANDBY_ID, HADR_STATE,
varchar(PRIMARY_MEMBER_HOST,20) as PRIMARY_HOST,
varchar(STANDBY_MEMBER_HOST,20) as STANDBY_HOST
from table (mon_get_hadr(NULL))"




这里在验证 HADR 运行状态的时候,用到了监视器函数 MON_GET_HADR,该函数是 DB2 LUW V10.1 新引入的、用来返回 HADR 实时情况的表函数,DB2 同时还提供了新的 db2pd 的命令行接口


[db2inst3@kvm101 ~]$ db2pd -hadr -alldbs

Database Member 0 -- Database HADB -- Active -- Up 0 days 00:00:53 -- Date 2016-06-03-15.31.03.175264

                            HADR_ROLE = PRIMARY
                          REPLAY_TYPE = PHYSICAL
                        HADR_SYNCMODE = SYNC
                           STANDBY_ID = 1
                        LOG_STREAM_ID = 0
                           HADR_STATE = PEER
                  PRIMARY_MEMBER_HOST = kvm101
                     PRIMARY_INSTANCE = db2inst3
                       PRIMARY_MEMBER = 0
                  STANDBY_MEMBER_HOST = kvm102
                     STANDBY_INSTANCE = db2inst3
                       STANDBY_MEMBER = 0
                  HADR_CONNECT_STATUS = CONNECTED
             HADR_CONNECT_STATUS_TIME = 06/03/2016 15:30:11.055449 (1464939011)
          HEARTBEAT_INTERVAL(seconds) = 30
                HADR_TIMEOUT(seconds) = 120
        TIME_SINCE_LAST_RECV(seconds) = 22
             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, 23720
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 0, 87380
            PRIMARY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
            STANDBY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
                  HADR_LOG_GAP(bytes) = 0
     STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
       STANDBY_RECV_REPLAY_GAP(bytes) = 0
                     PRIMARY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
                     STANDBY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
              STANDBY_REPLAY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
         STANDBY_RECV_BUF_SIZE(pages) = 4298
             STANDBY_RECV_BUF_PERCENT = 0
           STANDBY_SPOOL_LIMIT(pages) = 0
                 PEER_WINDOW(seconds) = 0
             READS_ON_STANDBY_ENABLED = N

                            HADR_ROLE = PRIMARY
                          REPLAY_TYPE = PHYSICAL
                        HADR_SYNCMODE = SUPERASYNC
                           STANDBY_ID = 2
                        LOG_STREAM_ID = 0
                           HADR_STATE = REMOTE_CATCHUP
                  PRIMARY_MEMBER_HOST = kvm101
                     PRIMARY_INSTANCE = db2inst3
                       PRIMARY_MEMBER = 0
                  STANDBY_MEMBER_HOST = kvm103
                     STANDBY_INSTANCE = db2inst3
                       STANDBY_MEMBER = 0
                  HADR_CONNECT_STATUS = CONNECTED
             HADR_CONNECT_STATUS_TIME = 06/03/2016 15:30:12.058041 (1464939012)
          HEARTBEAT_INTERVAL(seconds) = 30
                HADR_TIMEOUT(seconds) = 120
        TIME_SINCE_LAST_RECV(seconds) = 22
             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, 23720
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 0, 87380
            PRIMARY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
            STANDBY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
                  HADR_LOG_GAP(bytes) = 8347648
     STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
       STANDBY_RECV_REPLAY_GAP(bytes) = 523964
                     PRIMARY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
                     STANDBY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
              STANDBY_REPLAY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
         STANDBY_RECV_BUF_SIZE(pages) = 4298
             STANDBY_RECV_BUF_PERCENT = 0
           STANDBY_SPOOL_LIMIT(pages) = 0
                 PEER_WINDOW(seconds) = 0
             READS_ON_STANDBY_ENABLED = N


2.3.2主要备机

[db2inst3@kvm102 ~]$ db2pd -hadr -alldbs

Database Member 0 -- Database HADB -- Standby -- Up 0 days 00:05:59 -- Date 2016-06-03-15.31.21.529462

                            HADR_ROLE = STANDBY
                          REPLAY_TYPE = PHYSICAL
                        HADR_SYNCMODE = SYNC
                           STANDBY_ID = 0
                        LOG_STREAM_ID = 0
                           HADR_STATE = PEER
                  PRIMARY_MEMBER_HOST = kvm101
                     PRIMARY_INSTANCE = db2inst3
                       PRIMARY_MEMBER = 0
                  STANDBY_MEMBER_HOST = kvm102
                     STANDBY_INSTANCE = db2inst3
                       STANDBY_MEMBER = 0
                  HADR_CONNECT_STATUS = CONNECTED
             HADR_CONNECT_STATUS_TIME = 06/03/2016 15:30:10.260364 (1464939010)
          HEARTBEAT_INTERVAL(seconds) = 30
                HADR_TIMEOUT(seconds) = 120
        TIME_SINCE_LAST_RECV(seconds) = 10
             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, 23720
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 0, 87380
            PRIMARY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
            STANDBY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
                  HADR_LOG_GAP(bytes) = 0
     STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
       STANDBY_RECV_REPLAY_GAP(bytes) = 0
                     PRIMARY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
                     STANDBY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
              STANDBY_REPLAY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
         STANDBY_RECV_BUF_SIZE(pages) = 4298
             STANDBY_RECV_BUF_PERCENT = 0
           STANDBY_SPOOL_LIMIT(pages) = 0
                 PEER_WINDOW(seconds) = 0
             READS_ON_STANDBY_ENABLED = N

2.3.3辅助备机1

[db2inst3@kvm103 ~]$ db2pd -hadr -alldbs

Database Member 0 -- Database HADB -- Standby -- Up 0 days 00:03:45 -- Date 2016-06-03-15.31.26.016297

                            HADR_ROLE = STANDBY
                          REPLAY_TYPE = PHYSICAL
                        HADR_SYNCMODE = SUPERASYNC
                           STANDBY_ID = 0
                        LOG_STREAM_ID = 0
                           HADR_STATE = REMOTE_CATCHUP
                  PRIMARY_MEMBER_HOST = kvm101
                     PRIMARY_INSTANCE = db2inst3
                       PRIMARY_MEMBER = 0
                  STANDBY_MEMBER_HOST = kvm103
                     STANDBY_INSTANCE = db2inst3
                       STANDBY_MEMBER = 0
                  HADR_CONNECT_STATUS = CONNECTED
             HADR_CONNECT_STATUS_TIME = 06/03/2016 15:30:11.455659 (1464939011)
          HEARTBEAT_INTERVAL(seconds) = 30
                HADR_TIMEOUT(seconds) = 120
        TIME_SINCE_LAST_RECV(seconds) = 16
             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, 23720
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 0, 87380
            PRIMARY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
            STANDBY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
                  HADR_LOG_GAP(bytes) = 0
     STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
       STANDBY_RECV_REPLAY_GAP(bytes) = 0
                     PRIMARY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
                     STANDBY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
              STANDBY_REPLAY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
         STANDBY_RECV_BUF_SIZE(pages) = 4298
             STANDBY_RECV_BUF_PERCENT = 0
           STANDBY_SPOOL_LIMIT(pages) = 0
                 PEER_WINDOW(seconds) = 0
             READS_ON_STANDBY_ENABLED = N
认证徽章
论坛徽章:
0
4#
发表于 2016-6-6 18:18 | 只看该作者
3.1.1动态操作说明

如何动态添加一个辅助备机:

只需在新的辅助备机上从主数据库备份镜像中还原出主数据库,配置好 HADR 参数之后,将其启动为备机数据库;然后在主机上修改 HADR_TARGET_LIST 这一数据库参数,将该新辅助备机数据库服务器名和端口号添加到 HADR_TARGET_LIST 之中即可,

该辅助备机将在 HADR_TARGET_LIST 参数修改完成后实时生效,无需重行启动主数据库上的 HADR 服务(STOP HADR 后 START HADR AS PRIMARY),更无需重启主数据库(DEACTIVATE DATABASE 后 ACTIVATE DATABASE)


3.1.2辅助备机2-还原数据库
[db2inst3@kvm104 ~]$ db2 restore database hadb from "/home/db2inst3/" taken at 20160603150324 replace history file

SQL2523W  Warning!  Restoring to an existing database that is different from
the database on the backup image, but have matching names. The target database
will be overwritten by the backup version.  The Roll-forward recovery logs
associated with the target database will be deleted.
Do you want to continue ? (y/n) y

DB20000I  The RESTORE DATABASE command completed successfully.

3.1.3辅助备机2-配置

主库

db2 "UPDATE DB CFG FOR HADB USING
     HADR_TARGET_LIST  kvm102:55502|kvm103:55504|kvm101:55500
     HADR_REMOTE_HOST  kvm101
     HADR_REMOTE_SVC   55500
     HADR_SYNCMODE     superasync
     HADR_REMOTE_INST  db2inst3
     HADR_LOCAL_HOST   kvm104
     HADR_LOCAL_SVC    55506 "

辅助备库2

db2 START HADR ON DB HADB AS STANDBY
db2 activate db HADB


另外:
既然新增了一个,那么需要在主要备库和辅助备库

db2 "update db cfg for hadb using HADR_TARGET_LIST kvm102:55502|kvm101:55500|kvm104:55506"




注意:需要activate数据库,要不然
-------------------------------主库会出现下面的错误-------------------------

2016-06-03-15.54.09.291388+480 I362252E520           LEVEL: Error
PID     : 23831                TID : 139863873545984 PROC : db2sysc 0
INSTANCE: db2inst3             NODE : 000            DB   : HADB   
HOSTNAME: kvm101
EDUID   : 76                   EDUNAME: db2hadrp.0.3 (HADB) 0
FUNCTION: DB2 UDB, High Availability Disaster Recovery, hdrSendRedirectMsg, probe:31070
MESSAGE : ZRC=0xFFFFFFFF=-1
DATA #1 : <preformatted>
The HADR primary was not able to form a TCP connection with the standby: 192.168.56.104:55506.

2016-06-03-15.54.09.291667+480 E362773E472           LEVEL: Error
PID     : 23831                TID : 139863873545984 PROC : db2sysc 0
INSTANCE: db2inst3             NODE : 000            DB   : HADB   
HOSTNAME: kvm101
EDUID   : 76                   EDUNAME: db2hadrp.0.3 (HADB) 0
FUNCTION: DB2 UDB, High Availability Disaster Recovery, hdrEdu::hdrEduP, probe:20389
MESSAGE : ADM12510E  Unable to establish HADR primary-standby connection.
          Reason code: "10"

2016-06-03-15.54.30.502457+480 I363246E520           LEVEL: Error
PID     : 23831                TID : 139863873545984 PROC : db2sysc 0
INSTANCE: db2inst3             NODE : 000            DB   : HADB   
HOSTNAME: kvm101
EDUID   : 76                   EDUNAME: db2hadrp.0.3 (HADB) 0
FUNCTION: DB2 UDB, High Availability Disaster Recovery, hdrSendRedirectMsg, probe:31070
MESSAGE : ZRC=0xFFFFFFFF=-1
DATA #1 : <preformatted>
The HADR primary was not able to form a TCP connection with the standby: 192.168.56.104:55506.

2016-06-03-15.54.30.502745+480 E363767E472           LEVEL: Error
PID     : 23831                TID : 139863873545984 PROC : db2sysc 0
INSTANCE: db2inst3             NODE : 000            DB   : HADB   
HOSTNAME: kvm101
EDUID   : 76                   EDUNAME: db2hadrp.0.3 (HADB) 0
FUNCTION: DB2 UDB, High Availability Disaster Recovery, hdrEdu::hdrEduP, probe:20389
MESSAGE : ADM12510E  Unable to establish HADR primary-standby connection.

原因是kvm104上的db没有被激活导致

--------------------------解决办法-------------------------------------------

[root@kvm104 ~]# su - db2inst3

[db2inst3@kvm104 ~]$ db2 activate db hadb
DB20000I  The ACTIVATE DATABASE command completed successfully.

[db2inst3@kvm104 ~]$ db2pd -hadr -alldbs

Database Member 0 -- Database HADB -- Standby -- Up 0 days 00:00:18 -- Date 2016-06-03-15.56.45.324276

                            HADR_ROLE = STANDBY
                          REPLAY_TYPE = PHYSICAL
                        HADR_SYNCMODE = SUPERASYNC
                           STANDBY_ID = 0
                        LOG_STREAM_ID = 0
                           HADR_STATE = REMOTE_CATCHUP
                  PRIMARY_MEMBER_HOST = kvm101
                     PRIMARY_INSTANCE = db2inst3
                       PRIMARY_MEMBER = 0
                  STANDBY_MEMBER_HOST = kvm104
                     STANDBY_INSTANCE = db2inst3
                       STANDBY_MEMBER = 0
                  HADR_CONNECT_STATUS = CONNECTED
             HADR_CONNECT_STATUS_TIME = 06/03/2016 15:56:28.247407 (1464940588)
          HEARTBEAT_INTERVAL(seconds) = 30
                HADR_TIMEOUT(seconds) = 120
        TIME_SINCE_LAST_RECV(seconds) = 17
             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, 23720
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 0, 87380
            PRIMARY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
            STANDBY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
                  HADR_LOG_GAP(bytes) = 0
     STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000136.LOG, 0, 620921537
       STANDBY_RECV_REPLAY_GAP(bytes) = 0
                     PRIMARY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
                     STANDBY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
              STANDBY_REPLAY_LOG_TIME = 06/03/2016 15:08:17.000000 (1464937697)
         STANDBY_RECV_BUF_SIZE(pages) = 4298
             STANDBY_RECV_BUF_PERCENT = 0
           STANDBY_SPOOL_LIMIT(pages) = 0
                 PEER_WINDOW(seconds) = 0
             READS_ON_STANDBY_ENABLED = N

数据库激活后,端口就开始监听了

[root@kvm104 ~]# netstat -anlp | grep 555
tcp  0  0 192.168.56.104:55506  0.0.0.0:*      LISTEN      17050/db2sysc 0     
tcp  0  0 192.168.56.104:11828  192.168.56.101:55500 ESTABLISHED 17050/db2sysc 0
认证徽章
论坛徽章:
0
5#
发表于 2016-6-6 18:20 | 只看该作者
主库上更新HADR_TARGET_LIST

db2 "UPDATE DB CFG FOR HADB USING
     HADR_TARGET_LIST  kvm102:55502|kvm103:55504|kvm104:55506"

当然其他的2个也需要更新下参数

配置完成

下面就可以做takeover灾难演练和接管测试了
认证徽章
论坛徽章:
3
一汽
日期:2013-11-27 16:28:372014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08
6#
发表于 2016-8-28 17:48 | 只看该作者
very good
论坛徽章:
2
2011新春纪念徽章
日期:2011-02-18 11:43:36ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28
7#
发表于 2016-12-12 17:18 | 只看该作者
不错不错,谢谢分享!!
招聘 : Linux运维
认证徽章
论坛徽章:
235
紫蜘蛛
日期:2007-09-26 17:05:46玉兔
日期:2007-09-26 17:05:05现任管理团队成员
日期:2011-05-07 01:45:08玉兔
日期:2006-08-29 20:38:48紫蜘蛛
日期:2007-09-26 17:05:34阿斯顿马丁
日期:2013-11-19 10:38:16奔驰
日期:2013-10-16 09:08:58红旗
日期:2014-01-09 11:57:39路虎
日期:2013-08-13 14:52:35林肯
日期:2015-05-19 13:01:16
8#
发表于 2016-12-24 14:03 | 只看该作者
谢谢分享!

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
菲律宾申博太阳城官网 返回顶部 返回列表
网站地图 彩运来登录平台 杏彩网页登陆 杏彩官网登录
申博太阳城游戏 申博免费开户官网 太阳城在线开户 申博在线娱乐
彩运来官方网登录直营网 福彩快3投注平台北京时时彩 大富彩票网福彩3D 云鼎彩票app下载登入
杏彩娱乐平台网址 彩运来娱乐平台 杏彩棋牌官网 彩运来怎么样
杏彩官网 杏彩平台官方网站 杏彩娱乐平台官方网 彩票平台排名
66sbsg.com 8QHDS.COM 675SUN.COM 444TGP.COM 981XTD.COM
398psb.com 8KTS.COM 5555XSB.COM DC957.COM S618D.COM
756SUN.COM XSB658.COM 1112126.COM 3445111.COM 587sj.com
767XTD.COM 787XTD.COM 116DC.COM 317SUN.COM 789XTD.COM