zss0109211
作者zss0109211·2015-01-22 11:58
数据库管理员·null

DB2 V10.5 1主2从 HADR配置

字数 6415阅读 2673评论 0赞 1
参考http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1206xuj2/index.html
机器IP
M3  10.123.18.243
M4  10.123.18.244
M5  10.123.18.245


用户,准备:
groupadd -g 999 dasadm1
groupadd -g 998 db2fgrp1
groupadd -g 997 db2grp1
useradd -u 1004 -g db2grp1 -d  /home/db2insta db2insta
useradd -u 1003 -g db2fgrp1 -d /home/db2fenc1 db2fenc1
useradd -u 1002 -g dasadm1 -d  /home/dasusr1 dasusr1
/opt/ibm/db2/V10.5/instance/db2icrt -a server  -u db2insta db2insta
  
vi /etc/services 
DB2_db2insta_pri      55003/tcp
DB2_db2insta_2nd      55004/tcp
DB2_db2insta_3rd      55005/tcp

mkdir -p /db2data
mkdir -p /db2log/actlog/
mkdir -p /db2log/arclog
mkdir -p /db2diag/db2dump/
chown db2insta:db2grp1 -R /db2data
chown db2insta:db2grp1 -R /db2log/actlog/
chown db2insta:db2grp1 -R /db2log/arclog
chown db2insta:db2grp1 -R /db2diag/db2dump/


建立测试库
在M1上操作(建库,开归档,备份)
db2 update dbm cfg using SVCENAME 50000
db2set db2comm=tcpip
db2set DB2_STANDBY_ISO=UR
db2set DB2_HADR_ROS=ON
db2 " create db  MYDB automatic storage yes on /db2data dbpath on  /db2data   USING  CODESET UTF-8 TERRITORY CN PAGESIZE 16384" 
db2 connect to MYDB
db2 update db cfg using NEWLOGPATH /db2log/actlog/
db2 update db cfg using LOGARCHMETH1 DISK:/db2log/arclog
db2 update db cfg using NUM_LOG_SPAN 40
db2 update db cfg using MAX_LOG 20
db2 update dbm cfg using DIAGPATH /db2diag/db2dump/
db2stop 
#OFFLINE BACKUP
db2 "backup db MYDB to /dev/null "
db2 connect to MYDB
[db2insta@m3 ~]$ db2 "backup db  MYDB online to /tmp/"
Backup successful. The timestamp for this backup image is : 20150121215739
scp /tmp/MYDB.0.db2insta.DBPART000.20150121215739.001 到M4,M5
 

分别还原数据库(M4,M5上)
db2 "restore database  MYDB FROM /tmp  taken at 20150121215739"
db2 "rollforward db MYDB query status "
                                 Rollforward Status

 Input database alias                   = MYDB
 Number of members have returned status = 1

 Member ID                              = 0
 Rollforward status                     = DB  pending
 Next log file to be read               = S0000000.LOG
 Log files processed                    =  -
 Last committed transaction             = 2015-01-22-02.57.42.000000 UTC
 
 # HADR配置
# 在 M3 上
 db2 "UPDATE DB CFG FOR MYDB USING 
     HADR_TARGET_LIST  M4:DB2_db2insta_2nd|M5:DB2_db2insta_3rd
     HADR_REMOTE_HOST  M4 
HADR_REMOTE_INST  db2insta
     HADR_REMOTE_SVC   DB2_db2insta_2nd 
     HADR_SYNCMODE     sync      
     HADR_LOCAL_HOST   M3 
     HADR_LOCAL_SVC    DB2_db2insta_pri"
# 在 M4 上
 db2 "UPDATE DB CFG FOR MYDB USING 
    HADR_TARGET_LIST   M3:DB2_db2insta_pri|M5:DB2_db2insta_3rd 
    HADR_REMOTE_HOST   M3 
    HADR_REMOTE_INST   db2insta
    HADR_REMOTE_SVC    DB2_db2insta_pri 
    HADR_SYNCMODE      sync
    HADR_LOCAL_HOST    M4 
    HADR_LOCAL_SVC     DB2_db2insta_2nd "
# 在 M5 上
db2 "UPDATE DB CFG FOR MYDB USING 
     HADR_TARGET_LIST  M4:DB2_db2insta_2nd|M3:DB2_db2insta_pri 
     HADR_REMOTE_HOST  M3 
HADR_REMOTE_INST  db2insta 
     HADR_REMOTE_SVC   DB2_db2insta_pri 
     HADR_SYNCMODE     superasync      
     HADR_LOCAL_HOST   M5 
     HADR_LOCAL_SVC    DB2_db2insta_3rd "

 #启动HADR
# 在 M4 上
 db2 START HADR ON DB MYDB AS STANDBY 
 # 在 M5 上
 db2 START HADR ON DB MYDB AS STANDBY 
 # 在 M3 上
 db2 START HADR ON DB MYDB AS PRIMARY 

检查HADR状态
# 在 M3上
 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_ROLE     STANDBY_ID HADR_STATE              PRIMARY_HOST         STANDBY_HOST        
------------- ---------- ----------------------- -------------------- --------------------
PRIMARY                1 PEER                    M3                   M4                  
PRIMARY                2 REMOTE_CATCHUP          M3                   M5     



配置期间遇到的问题
报错1:
EduStartup, probe:21180
MESSAGE : ZRC=0x878001AC=-2021654100=HDR_ZRC_CONFIG_INVALID_HOST_IN_TARGETLIST
          "Some entry in HADR_TARGET_LIST cannot be resolved into valid TCP/IP address or port."
DATA #1 : SQLCA, PD_DB2_TYPE_SQLCA, 136 bytes
 sqlcaid : SQLCA     sqlcabc: 136   sqlcode: 1766   sqlerrml: 0
 sqlerrmc:  
报错2:
FUNCTION: DB2 UDB, High Availability Disaster Recovery, hdrSpawnEdus, probe:25100
MESSAGE : ZRC=0x8280001A=-2105540582=HDR_ZRC_NO_STANDBY
          "Comm time-out in unforced HADR primary start, to avoid split-brain"
 
这2次报错均与hosts文件有关,
1. /etc/hosts 文件忘记写M5的IP
2. hosts文件配置了 10.123.18.xxx localhost M3 ,去掉改行就行了
发现端口绑定在127地址下
[db2insta@m4 ~]$ netstat -an |grep -i 55004
tcp        0      0 127.0.0.1:55004         0.0.0.0:*                   LISTEN
3. linux 下注意开放端口,简单粗暴的做法是关闭iptables  
 chkconfig iptables off;service iptables stop

 

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广