承接上篇
清单 29. 查看实例级别
$ db2pd -rustatus
ROLLING UPDATE STATUS: Disk Value Memory Value
Record Type = INSTANCE
ID = 0
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
State = [NONE]
Last updated = 2013/08/16:16:17:40
Record Type = MEMBER
ID = 0
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
CECL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
CEAL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Section Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Last updated = 2013/08/16:16:17:31
siteam1: db2pd -rustatus -localhost ... completed ok
Record Type = MEMBER
ID = 1
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
CECL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
CEAL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Section Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Last updated = 2013/08/16:17:03:49
siteam2: db2pd -rustatus -localhost ... completed ok
Record Type = CF
ID = 128
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
Last updated = 2013/08/16:16:17:31
Record Type = CF
ID = 129
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
Last updated = 2013/08/16:16:41:00
当前实例的所有级别都运行在10.5.0.0上。首先升级Secondary CF节点:
**清单 30. 更新secondary cf节点**
Db2 installation is being initialized.
Hostname:siteaf2
Instance name:db2sdin1
Target Installation path:/opt/IBM/db2/V10.5FP1
Target Code level = Version:10 Release:5 Modification:0 Fixpack:1
Target Architecture level = Version:10 Release:5 Modification:0 Fixpack:1
TSA version installed on this host : 3.2.2.5
TSA version present on the media : 3.2.2.5
TSA version after update : 3.2.2.5
GPFS version installed on the host: 3.5.0.7
GPFS version present on the media : 3.5.0.7
GPFS version after update : 3.5.0.7
Total number of tasks to be performed: 6
Total estimated time for all tasks to be performed: 1954 second(s)
Task #1 start
Description: Installing Db2 database product binaries
Estimated time 1485 second(s)
Task #1 end
Task #2 start
Description: Stopping the cluster caching facility (CF) on the local host
Estimated time 10 second(s)
Task #2 end
Task #3 start
Description: Stopping the instance on the local host
Estimated time 10 second(s)
Task #3 end
Task #4 start
Description: Updating the Db2 database manager instance configuration
Estimated time 429 second(s)
Task #4 end
Task #5 start
Description: Starting the instance on the local host
Estimated time 10 second(s)
Task #5 end
Task #6 start
Description: Starting the cluster caching facility on the local host
Estimated time 10 second(s)
Task #6 end
The execution completed successfully.
For more information see the Db2 installation log at
"/tmp/installFixPack.log".
Secondary CF在升级过程中被重启,但是并不会影响当前数据库提供服务。成员节点的数据库连接不会被中断。
**清单 31. 查看实例状态**
$ db2instance -list
ID TYPE STATE HOME_HOST CURRENT_HOST ALERT PARTITION_NUMBER LOGICAL_PORT NETNAME
0 MEMBER STARTED siteam1 siteam1 NO 0 0 siteam1-ib0,siteam1-ib1
1 MEMBER STARTED siteam2 siteam2 NO 0 0 siteam2-ib0,siteam2-ib1
128 CF PRIMARY siteaf1 siteaf1 NO - 0 siteaf1-ib0,siteaf1-ib1
129 CF PEER siteaf2 siteaf2 NO - 0 siteaf2-ib0,siteaf2-ib1
HOSTNAME STATE INSTANCE_STOPPED ALERT
siteam2 ACTIVE NO NO
siteaf2 ACTIVE NO NO
siteaf1 ACTIVE NO NO
siteam1 ACTIVE NO NO
HADR在此过程中也一直正常工作。
**清单 32. 查看HADR状态**
$ db2pd -d TESTDB -hadr
Database Member 0 -- Database TESTDB -- Standby -- Up 1 days 00:30:53 -- Date 2013-08-30-16.58.05.994930
HADR_ROLE = STANDBY
REPLAY_TYPE = PHYSICAL
HADR_SYNCMODE = ASYNC
STANDBY_ID = 0
LOG_STREAM_ID = 0
HADR_STATE = PEER
HADR_FLAGS =
PRIMARY_MEMBER_HOST = siteam1
PRIMARY_INSTANCE = db2sdin1
PRIMARY_MEMBER = 0
STANDBY_MEMBER_HOST = sitebm1
STANDBY_INSTANCE = db2sdin1
STANDBY_MEMBER = 0
HADR_CONNECT_STATUS = CONNECTED
HADR_CONNECT_STATUS_TIME = 08/29/2013 16:27:27.104436 (1377764847)
HEARTBEAT_INTERVAL(seconds) = 15
HADR_TIMEOUT(seconds) = 60
TIME_SINCE_LAST_RECV(seconds) = 12
PEER_WAIT_LIMIT(seconds) = 1
LOG_HADR_WAIT_CUR(seconds) = 0.000
LOG_HADR_WAIT_RECENT_AVG(seconds) = 0.000000
LOG_HADR_WAIT_ACCUMULATED(seconds) = 4.862
LOG_HADR_WAIT_COUNT = 1728763
SOCK_SEND_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
PRIMARY_LOG_FILE,PAGE,POS = S0000016.LOG, 13923, 1723836850
STANDBY_LOG_FILE,PAGE,POS = S0000016.LOG, 13923, 1723836850
HADR_LOG_GAP(bytes) = 0
STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000016.LOG, 13923, 1723836850
STANDBY_RECV_REPLAY_GAP(bytes) = 0
PRIMARY_LOG_TIME = 08/30/2013 16:22:54.000000 (1377850974)
STANDBY_LOG_TIME = 08/30/2013 16:22:54.000000 (1377850974)
STANDBY_REPLAY_LOG_TIME = 08/30/2013 16:22:54.000000 (1377850974)
STANDBY_RECV_BUF_SIZE(pages) = 512
STANDBY_RECV_BUF_PERCENT = 0
STANDBY_SPOOL_LIMIT(pages) = 1000000
STANDBY_SPOOL_PERCENT = 0
PEER_WINDOW(seconds) = 0
READS_ON_STANDBY_ENABLED = N
HADR_ROLE = STANDBY
REPLAY_TYPE = PHYSICAL
HADR_SYNCMODE = ASYNC
STANDBY_ID = 0
LOG_STREAM_ID = 1
HADR_STATE = PEER
HADR_FLAGS =
PRIMARY_MEMBER_HOST = siteam2
PRIMARY_INSTANCE = db2sdin1
PRIMARY_MEMBER = 1
STANDBY_MEMBER_HOST = sitebm1
STANDBY_INSTANCE = db2sdin1
STANDBY_MEMBER = 0
HADR_CONNECT_STATUS = CONNECTED
HADR_CONNECT_STATUS_TIME = 08/29/2013 16:27:26.979070 (1377764846)
HEARTBEAT_INTERVAL(seconds) = 15
HADR_TIMEOUT(seconds) = 60
TIME_SINCE_LAST_RECV(seconds) = 6
PEER_WAIT_LIMIT(seconds) = 1
LOG_HADR_WAIT_CUR(seconds) = 0.000
LOG_HADR_WAIT_RECENT_AVG(seconds) = 0.000001
LOG_HADR_WAIT_ACCUMULATED(seconds) = 8.906
LOG_HADR_WAIT_COUNT = 784697
SOCK_SEND_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
PRIMARY_LOG_FILE,PAGE,POS = S0000011.LOG, 338, 1122280325
STANDBY_LOG_FILE,PAGE,POS = S0000011.LOG, 338, 1122280325
HADR_LOG_GAP(bytes) = 0
STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000011.LOG, 338, 1122280325
STANDBY_RECV_REPLAY_GAP(bytes) = 0
PRIMARY_LOG_TIME = 08/30/2013 14:32:48.000000 (1377844368)
STANDBY_LOG_TIME = 08/30/2013 14:32:48.000000 (1377844368)
STANDBY_REPLAY_LOG_TIME = 08/30/2013 14:32:48.000000 (1377844368)
STANDBY_RECV_BUF_SIZE(pages) = 512
STANDBY_RECV_BUF_PERCENT = 0
STANDBY_SPOOL_LIMIT(pages) = 1000000
STANDBY_SPOOL_PERCENT = 0
PEER_WINDOW(seconds) = 0
READS_ON_STANDBY_ENABLED = N
**清单 33. 查看实例级别**
$ db2pd -rustatus
ROLLING UPDATE STATUS: Disk Value Memory Value
Record Type = INSTANCE
ID = 0
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
State = [NONE]
Last updated = 2013/08/16:16:17:40
Record Type = MEMBER
ID = 0
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
CECL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
CEAL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Section Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Last updated = 2013/08/16:16:17:31
siteam1: db2pd -rustatus -localhost ... completed ok
Record Type = MEMBER
ID = 1
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
CECL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
CEAL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Section Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Last updated = 2013/08/16:17:03:49
siteam2: db2pd -rustatus -localhost ... completed ok
Record Type = CF
ID = 128
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
Last updated = 2013/08/16:16:17:31
Record Type = CF
ID = 129
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Last updated = 2013/08/30:16:54:25
CF节点129的体系结构级别(Architecture Level)和代码级别(Code Level)都已经升级到了10.5.0.1。下面升级Primary CF节点(这里与升级备集群的顺序稍有差别,是先升级完所有CF之后再升级成员节点)。
**清单 34. 更新Primary CF节点**
Db2 installation is being initialized.
Hostname:siteaf1
Instance name:db2sdin1
Target Installation path:/opt/IBM/db2/V10.5FP1
Target Code level = Version:10 Release:5 Modification:0 Fixpack:1
Target Architecture level = Version:10 Release:5 Modification:0 Fixpack:1
TSA version installed on this host : 3.2.2.5
TSA version present on the media : 3.2.2.5
TSA version after update : 3.2.2.5
GPFS version installed on the host: 3.5.0.7
GPFS version present on the media : 3.5.0.7
GPFS version after update : 3.5.0.7
Total number of tasks to be performed: 6
Total estimated time for all tasks to be performed: 1954 second(s)
Task #1 start
Description: Installing Db2 database product binaries
Estimated time 1485 second(s)
Task #1 end
Task #2 start
Description: Stopping the cluster caching facility (CF) on the local host
Estimated time 10 second(s)
Task #2 end
Task #3 start
Description: Stopping the instance on the local host
Estimated time 10 second(s)
Task #3 end
Task #4 start
Description: Updating the Db2 database manager instance configuration
Estimated time 429 second(s)
Task #4 end
Task #5 start
Description: Starting the instance on the local host
Estimated time 10 second(s)
Task #5 end
Task #6 start
Description: Starting the cluster caching facility on the local host
Estimated time 10 second(s)
Task #6 end
The execution completed successfully.
与更新备集群的时候一样,更新Primary CF节点会重启该节点实例,所以CF角色会发生转变。
**清单 35. 查看实例状态**
ID TYPE STATE HOME_HOST CURRENT_HOST ALERT PARTITION_NUMBER LOGICAL_PORT NETNAME
0 MEMBER STARTED siteam1 siteam1 NO 0 0 siteam1-ib0,siteam1-ib1
1 MEMBER STARTED siteam2 siteam2 NO 0 0 siteam2-ib0,siteam2-ib1
128 CF PEER siteaf1 siteaf1 NO - 0 siteaf1-ib0,siteaf1-ib1
129 CF PRIMARY siteaf2 siteaf2 NO - 0 siteaf2-ib0,siteaf2-ib1
HOSTNAME STATE INSTANCE_STOPPED ALERT
siteam2 ACTIVE NO NO
siteaf2 ACTIVE NO NO
siteaf1 ACTIVE NO NO
siteam1 ACTIVE NO NO
但是这种角色转变是联机的,不会影响数据库服务,同样也不会影响到HADR。
**清单 36. 查看HADR状态**
Database Member 0 -- Database TESTDB -- Standby -- Up 1 days 01:10:04 -- Date 2013-08-30-17.37.16.710497
HADR_ROLE = STANDBY
REPLAY_TYPE = PHYSICAL
HADR_SYNCMODE = ASYNC
STANDBY_ID = 0
LOG_STREAM_ID = 0
HADR_STATE = PEER
HADR_FLAGS =
PRIMARY_MEMBER_HOST = siteam1
PRIMARY_INSTANCE = db2sdin1
PRIMARY_MEMBER = 0
STANDBY_MEMBER_HOST = sitebm1
STANDBY_INSTANCE = db2sdin1
STANDBY_MEMBER = 0
HADR_CONNECT_STATUS = CONNECTED
HADR_CONNECT_STATUS_TIME = 08/29/2013 16:27:27.104436 (1377764847)
HEARTBEAT_INTERVAL(seconds) = 15
HADR_TIMEOUT(seconds) = 60
TIME_SINCE_LAST_RECV(seconds) = 8
PEER_WAIT_LIMIT(seconds) = 1
LOG_HADR_WAIT_CUR(seconds) = 0.000
LOG_HADR_WAIT_RECENT_AVG(seconds) = 0.000000
LOG_HADR_WAIT_ACCUMULATED(seconds) = 4.862
LOG_HADR_WAIT_COUNT = 1728763
SOCK_SEND_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
PRIMARY_LOG_FILE,PAGE,POS = S0000016.LOG, 13923, 1723836850
STANDBY_LOG_FILE,PAGE,POS = S0000016.LOG, 13923, 1723836850
HADR_LOG_GAP(bytes) = 0
STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000016.LOG, 13923, 1723836850
STANDBY_RECV_REPLAY_GAP(bytes) = 0
PRIMARY_LOG_TIME = 08/30/2013 16:22:54.000000 (1377850974)
STANDBY_LOG_TIME = 08/30/2013 16:22:54.000000 (1377850974)
STANDBY_REPLAY_LOG_TIME = 08/30/2013 16:22:54.000000 (1377850974)
STANDBY_RECV_BUF_SIZE(pages) = 512
STANDBY_RECV_BUF_PERCENT = 0
STANDBY_SPOOL_LIMIT(pages) = 1000000
STANDBY_SPOOL_PERCENT = 0
PEER_WINDOW(seconds) = 0
READS_ON_STANDBY_ENABLED = N
HADR_ROLE = STANDBY
REPLAY_TYPE = PHYSICAL
HADR_SYNCMODE = ASYNC
STANDBY_ID = 0
LOG_STREAM_ID = 1
HADR_STATE = PEER
HADR_FLAGS =
PRIMARY_MEMBER_HOST = siteam2
PRIMARY_INSTANCE = db2sdin1
PRIMARY_MEMBER = 1
STANDBY_MEMBER_HOST = sitebm1
STANDBY_INSTANCE = db2sdin1
STANDBY_MEMBER = 0
HADR_CONNECT_STATUS = CONNECTED
HADR_CONNECT_STATUS_TIME = 08/29/2013 16:27:26.979070 (1377764846)
HEARTBEAT_INTERVAL(seconds) = 15
HADR_TIMEOUT(seconds) = 60
TIME_SINCE_LAST_RECV(seconds) = 0
PEER_WAIT_LIMIT(seconds) = 1
LOG_HADR_WAIT_CUR(seconds) = 0.000
LOG_HADR_WAIT_RECENT_AVG(seconds) = 0.000001
LOG_HADR_WAIT_ACCUMULATED(seconds) = 8.906
LOG_HADR_WAIT_COUNT = 784697
SOCK_SEND_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
PRIMARY_LOG_FILE,PAGE,POS = S0000011.LOG, 338, 1122280325
STANDBY_LOG_FILE,PAGE,POS = S0000011.LOG, 338, 1122280325
HADR_LOG_GAP(bytes) = 0
STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000011.LOG, 338, 1122280325
STANDBY_RECV_REPLAY_GAP(bytes) = 0
PRIMARY_LOG_TIME = 08/30/2013 14:32:48.000000 (1377844368)
STANDBY_LOG_TIME = 08/30/2013 14:32:48.000000 (1377844368)
STANDBY_REPLAY_LOG_TIME = 08/30/2013 14:32:48.000000 (1377844368)
STANDBY_RECV_BUF_SIZE(pages) = 512
STANDBY_RECV_BUF_PERCENT = 0
STANDBY_SPOOL_LIMIT(pages) = 1000000
STANDBY_SPOOL_PERCENT = 0
PEER_WINDOW(seconds) = 0
READS_ON_STANDBY_ENABLED = N
上述报告中能看到HADR状态正常。
**清单 37. 查看实例级别**
ROLLING UPDATE STATUS: Disk Value Memory Value
Record Type = INSTANCE
ID = 0
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
State = [NONE]
Last updated = 2013/08/16:16:17:40
Record Type = MEMBER
ID = 0
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
CECL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
CEAL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Section Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Last updated = 2013/08/16:16:17:31
siteam1: db2pd -rustatus -localhost ... completed ok
Record Type = MEMBER
ID = 1
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
CECL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
CEAL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Section Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Last updated = 2013/08/30:17:48:02
siteam2: db2pd -rustatus -localhost ... completed ok
Record Type = CF
ID = 128
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Last updated = 2013/08/30:17:09:00
Record Type = CF
ID = 129
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Last updated = 2013/08/30:16:54:25
至此在整个主集群里面,两个CF的体系结构级别(Architecture Level)和代码级别(Code Level)都已经升级到了10.5.0.1。下面开始升级主集群的成员服务器。
**清单 38. 更新member 1节点**
Db2 installation is being initialized.
Hostname:siteam2
Instance name:db2sdin1
Target Installation path:/opt/IBM/db2/V10.5FP1
Target Code level = Version:10 Release:5 Modification:0 Fixpack:1
Target Architecture level = Version:10 Release:5 Modification:0 Fixpack:1
TSA version installed on this host : 3.2.2.5
TSA version present on the media : 3.2.2.5
TSA version after update : 3.2.2.5
GPFS version installed on the host: 3.5.0.7
GPFS version present on the media : 3.5.0.7
GPFS version after update : 3.5.0.7
1 : Installing Db2 database product binaries
2 : Stopping the Db2 member on the local host
3 : Stopping the instance on the local host
4 : Updating the Db2 database manager instance configuration
5 : Starting the instance on the local host
6 : Starting the Db2 member on the local host
TASK #1 :
Installing Db2 database product binaries : Success
TASK #2 :
Stopping the Db2 member on the local host : Success
TASK #3 :
Stopping the instance on the local host : Success
TASK #4 :
Updating the Db2 database manager instance configuration : Success
TASK #5 :
Starting the instance on the local host : Success
TASK #6 :
Starting the Db2 member on the local host : Success
Fri Aug 30 18:06:03 BEIST 2013
在成员节点升级的过程中,实例会被重启。所以当前节点的应用会被断掉。如果客户端启用了工作负载均衡或者客户端偏好设置的功能,那么应用会自动感知到集群其他健康的成员节点,断掉的连接会重新连接到其他成员节点上去。此成员节点的HADR也会收到影响,与此相关的高可用性功能会触发,从而满足HADR的不间断同步。在升级的过程中,查看HADR状态。
**清单 39. 查看更新过程中HADR状态**
Database Member 0 -- Database TESTDB -- Standby -- Up 1 days 01:41:39 -- Date 2013-08-30-18.08.51.380558
HADR_ROLE = STANDBY
REPLAY_TYPE = PHYSICAL
HADR_SYNCMODE = ASYNC
STANDBY_ID = 0
LOG_STREAM_ID = 0
HADR_STATE = PEER
HADR_FLAGS =
PRIMARY_MEMBER_HOST = siteam1
PRIMARY_INSTANCE = db2sdin1
PRIMARY_MEMBER = 0
STANDBY_MEMBER_HOST = sitebm1
STANDBY_INSTANCE = db2sdin1
STANDBY_MEMBER = 0
HADR_CONNECT_STATUS = CONNECTED
HADR_CONNECT_STATUS_TIME = 08/29/2013 16:27:27.104436 (1377764847)
HEARTBEAT_INTERVAL(seconds) = 15
HADR_TIMEOUT(seconds) = 60
TIME_SINCE_LAST_RECV(seconds) = 7
PEER_WAIT_LIMIT(seconds) = 1
LOG_HADR_WAIT_CUR(seconds) = 0.000
LOG_HADR_WAIT_RECENT_AVG(seconds) = 0.000000
LOG_HADR_WAIT_ACCUMULATED(seconds) = 4.862
LOG_HADR_WAIT_COUNT = 1729053
SOCK_SEND_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
PRIMARY_LOG_FILE,PAGE,POS = S0000016.LOG, 13972, 1724037938
STANDBY_LOG_FILE,PAGE,POS = S0000016.LOG, 13972, 1724037938
HADR_LOG_GAP(bytes) = 0
STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000016.LOG, 13972, 1724037938
STANDBY_RECV_REPLAY_GAP(bytes) = 29
PRIMARY_LOG_TIME = 08/30/2013 18:08:13.000000 (1377857293)
STANDBY_LOG_TIME = 08/30/2013 18:08:13.000000 (1377857293)
STANDBY_REPLAY_LOG_TIME = 08/30/2013 18:08:13.000000 (1377857293)
STANDBY_RECV_BUF_SIZE(pages) = 512
STANDBY_RECV_BUF_PERCENT = 0
STANDBY_SPOOL_LIMIT(pages) = 1000000
STANDBY_SPOOL_PERCENT = 0
PEER_WINDOW(seconds) = 0
READS_ON_STANDBY_ENABLED = N
HADR_ROLE = STANDBY
REPLAY_TYPE = PHYSICAL
HADR_SYNCMODE = ASYNC
STANDBY_ID = 0
LOG_STREAM_ID = 1
HADR_STATE = REMOTE_CATCHUP
HADR_FLAGS = ASSISTED_REMOTE_CATCHUP
PRIMARY_MEMBER_HOST = siteam1
PRIMARY_INSTANCE = db2sdin1
PRIMARY_MEMBER = 0
STANDBY_MEMBER_HOST = sitebm1
STANDBY_INSTANCE = db2sdin1
STANDBY_MEMBER = 0
HADR_CONNECT_STATUS = CONNECTED
HADR_CONNECT_STATUS_TIME = 08/30/2013 17:59:50.558115 (1377856790)
HEARTBEAT_INTERVAL(seconds) = 15
HADR_TIMEOUT(seconds) = 60
TIME_SINCE_LAST_RECV(seconds) = 1
PEER_WAIT_LIMIT(seconds) = 1
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) = 1048576, 1048352
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
PRIMARY_LOG_FILE,PAGE,POS = S0000012.LOG, 0, 1222800001
STANDBY_LOG_FILE,PAGE,POS = S0000012.LOG, 0, 1222800001
HADR_LOG_GAP(bytes) = 0
STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000012.LOG, 0, 1222800001
STANDBY_RECV_REPLAY_GAP(bytes) = 0
PRIMARY_LOG_TIME = 08/30/2013 14:32:48.000000 (1377844368)
STANDBY_LOG_TIME = 08/30/2013 14:32:48.000000 (1377844368)
STANDBY_REPLAY_LOG_TIME = 08/30/2013 14:32:48.000000 (1377844368)
STANDBY_RECV_BUF_SIZE(pages) = 512
STANDBY_RECV_BUF_PERCENT = 0
STANDBY_SPOOL_LIMIT(pages) = 1000000
STANDBY_SPOOL_PERCENT = 0
PEER_WINDOW(seconds) = 0
READS_ON_STANDBY_ENABLED = N
从db2pd工具执行结果中可以看到,成员节点0的日志是正常被传送到备集群并同步的。这个节点的HADR状态是PEER。但是成员节点1, 也就是当前被升级的节点,是ASSISTED_REMOTE_CATCHUP状态,简称ARCU。为什么会发生这样的状态呢?这里就要介绍到在pureScale集群下的HADR具备的特殊功能。因为Db2 pureScale集群使用的是GPFS共享文件系统,所有节点的日志都是存放在这个文件系统上的。一旦有节点出现故障,只要GPFS共享文件系统没有故障,其他的健康节点都可以读取到这个出现故障节点所产生的日志,也就能够帮助去恢复日志里面记载的数据,这也就是所谓的成员故障恢复(MCR)。同样的道理,HADR功能也是基于日志传送的,即便当前节点出现故障,其他节点也能够访问到该节点的日志,就可以帮助这个节点传动日志到备集群服务器。所以HADR功能并不会被中断,依旧可以正常运行,只是HADR的状态会变成ARCU状态。在这个状态下,HADR还是可以做普通takeover的。
等到升级完成之后,当前节点实例被重启,HADR能够检测到成员又恢复正常,那么传送日志的任务又会漂移回当前节点,HADR又能够恢复PEER状态。
**清单 40. 查看实例级别**
ROLLING UPDATE STATUS: Disk Value Memory Value
Record Type = INSTANCE
ID = 0
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
State = [NONE]
Last updated = 2013/08/16:16:17:40
Record Type = MEMBER
ID = 0
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
CECL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
CEAL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Section Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Last updated = 2013/08/16:16:17:31
siteam1: db2pd -rustatus -localhost ... completed ok
Record Type = MEMBER
ID = 1
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
CECL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
CEAL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Section Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
Last updated = 2013/08/30:18:05:28
siteam2: db2pd -rustatus -localhost ... completed ok
Record Type = CF
ID = 128
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Last updated = 2013/08/30:17:09:00
Record Type = CF
ID = 129
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Last updated = 2013/08/30:16:54:25
成员1的CEAL和CECL的值还是10.5.0.0。而磁盘和内存中的体系结构级别(Architecture Level)和代码级别(Code Level)都已经是10.5.0.1。最后升级成员0.
**清单 41. 更新member 0节点**
Db2 installation is being initialized.
Hostname:siteam1
Instance name:db2sdin1
Target Installation path:/opt/IBM/db2/V10.5FP1
Target Code level = Version:10 Release:5 Modification:0 Fixpack:1
Target Architecture level = Version:10 Release:5 Modification:0 Fixpack:1
TSA version installed on this host : 3.2.2.5
TSA version present on the media : 3.2.2.5
TSA version after update : 3.2.2.5
GPFS version installed on the host: 3.5.0.7
GPFS version present on the media : 3.5.0.7
GPFS version after update : 3.5.0.7
Total number of tasks to be performed: 6
Total estimated time for all tasks to be performed: 1954 second(s)
Task #1 start
Description: Installing Db2 database product binaries
Estimated time 1485 second(s)
Task #1 end
Task #2 start
Description: Stopping the Db2 member on the local host
Estimated time 10 second(s)
Task #2 end
Task #3 start
Description: Stopping the instance on the local host
Estimated time 10 second(s)
Task #3 end
Task #4 start
Description: Updating the Db2 database manager instance configuration
Estimated time 429 second(s)
Task #4 end
Task #5 start
Description: Starting the instance on the local host
Estimated time 10 second(s)
Task #5 end
Task #6 start
Description: Starting the Db2 member on the local host
Estimated time 10 second(s)
Task #6 end
The execution completed successfully.
For more information see the Db2 installation log at
"/tmp/installFixPack.log".
更新成员0和更新成员1的结果是一样的。更新过程中成员0的HADR状态会变成ARCU的状态,更新完成后又全部恢复正常。
**清单 42. 查看实例状态**
ID TYPE STATE HOME_HOST CURRENT_HOST ALERT PARTITION_NUMBER LOGICAL_PORT NETNAME
0 MEMBER STARTED siteam1 siteam1 NO 0 0 siteam1-ib0,siteam1-ib1
1 MEMBER STARTED siteam2 siteam2 NO 0 0 siteam2-ib0,siteam2-ib1
128 CF PEER siteaf1 siteaf1 NO - 0 siteaf1-ib0,siteaf1-ib1
129 CF PRIMARY siteaf2 siteaf2 NO - 0 siteaf2-ib0,siteaf2-ib1
HOSTNAME STATE INSTANCE_STOPPED ALERT
siteam2 ACTIVE NO NO
siteaf2 ACTIVE NO NO
siteaf1 ACTIVE NO NO
siteam1 ACTIVE NO NO
最后查看一下主集群全部升级完成后当前的实例级别。
**清单 43. 查看实例级别**
ROLLING UPDATE STATUS: Disk Value Memory Value
Record Type = INSTANCE
ID = 0
Code Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) Not Applicable
State = [NONE]
Last updated = 2013/08/16:16:17:40
Record Type = MEMBER
ID = 0
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
CECL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
CEAL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Section Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
Last updated = 2013/08/30:18:33:55
siteam1: db2pd -rustatus -localhost ... completed ok
Record Type = MEMBER
ID = 1
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
CECL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
CEAL = V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000) V:10 R:5 M:0 F:0 I:0 SB:0 (0x0A05000000000000)
Section Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
Last updated = 2013/08/30:18:05:28
siteam2: db2pd -rustatus -localhost ... completed ok
Record Type = CF
ID = 128
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Last updated = 2013/08/30:17:09:00
Record Type = CF
ID = 129
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Last updated = 2013/08/30:16:54:25
至此HADR主集群的所有节点都已经升级完,只是还没有落实下来。在落实之前,可以先检查一下修订包是否可落实。
**清单 44. 检查可升级状态**
DBI1446I The installFixPack command is running.
The pre-commit verification process for an online fix pack update has started....
The checks for the pre-commit verification process have been completed successfully.
If you perform a commit, the new level will be =
Version:10 Release:5 Modification:0 Fixpack:1
The execution completed successfully.
For more information see the Db2 installation log at "/tmp/installFixPack.log.12779524".
DBI1070I Program installFixPack completed successfully. .
结果表明主集群也可以被落实到10.5.0.1版本。
## 落实更新备集群
在主备集群的安装路径都升级到10.5.0.1之后,本着向前兼容的原测,先落实备集群的更新。
**清单 45. 落实更新备集群**
DBI1446I The installFixPack command is running.
The execution completed successfully.
For more information see the Db2 installation log at "/tmp/installFixPack.log".
DBI1070I Program installFixPack completed successfully.
落实更新是联机完成的。现在查看更新之后的实例界别。
**清单 46. 查看实例级别**
$ db2pd -rustatus
ROLLING UPDATE STATUS: Disk Value Memory Value
Record Type = INSTANCE
ID = 0
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
State = [NONE]
Last updated = 2013/08/29:14:38:31
Record Type = MEMBER
ID = 0
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
CECL = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
CEAL = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
Section Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
State = [NONE]
Last updated = 2013/08/29:11:53:43
sitebm1: db2pd -rustatus -localhost ... completed ok
Record Type = MEMBER
ID = 1
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
CECL = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
CEAL = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
Section Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
State = [NONE]
Last updated = 2013/08/29:11:33:25
sitebm2: db2pd -rustatus -localhost ... completed ok
Record Type = CF
ID = 128
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
State = [NONE]
Last updated = 2013/08/29:14:19:56
Record Type = CF
ID = 129
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
State = [NONE]
Last updated = 2013/08/29:10:59:30
落实更新之后,所有磁盘的,内存中的CECL和CEAL都升级到了10.5.0.1。升级成功。现在查看落实更新对HADR的影响。
**清单 47. 查看HADR状态**
$ db2pd -d TESTDB -hadr
Database Member 0 -- Database TESTDB -- Standby -- Up 0 days 00:38:53 -- Date 2013-08-29-14.39.15.576815
HADR_ROLE = STANDBY
REPLAY_TYPE = PHYSICAL
HADR_SYNCMODE = ASYNC
STANDBY_ID = 0
LOG_STREAM_ID = 0
HADR_STATE = PEER
HADR_FLAGS =
PRIMARY_MEMBER_HOST = siteam1
PRIMARY_INSTANCE = db2sdin1
PRIMARY_MEMBER = 0
STANDBY_MEMBER_HOST = sitebm1
STANDBY_INSTANCE = db2sdin1
STANDBY_MEMBER = 0
HADR_CONNECT_STATUS = CONNECTED
HADR_CONNECT_STATUS_TIME = 08/29/2013 14:38:33.766309 (1377758313)
HEARTBEAT_INTERVAL(seconds) = 15
HADR_TIMEOUT(seconds) = 60
TIME_SINCE_LAST_RECV(seconds) = 11
PEER_WAIT_LIMIT(seconds) = 1
LOG_HADR_WAIT_CUR(seconds) = 0.000
LOG_HADR_WAIT_RECENT_AVG(seconds) = 0.000000
LOG_HADR_WAIT_ACCUMULATED(seconds) = 4.856
LOG_HADR_WAIT_COUNT = 1722686
SOCK_SEND_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
PRIMARY_LOG_FILE,PAGE,POS = S0000016.LOG, 10763, 1710957966
STANDBY_LOG_FILE,PAGE,POS = S0000016.LOG, 10763, 1710957966
HADR_LOG_GAP(bytes) = 0
STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000016.LOG, 10763, 1710957966
STANDBY_RECV_REPLAY_GAP(bytes) = 0
PRIMARY_LOG_TIME = 08/29/2013 14:35:30.000000 (1377758130)
STANDBY_LOG_TIME = 08/29/2013 14:35:30.000000 (1377758130)
STANDBY_REPLAY_LOG_TIME = 08/29/2013 14:35:30.000000 (1377758130)
STANDBY_RECV_BUF_SIZE(pages) = 512
STANDBY_RECV_BUF_PERCENT = 0
STANDBY_SPOOL_LIMIT(pages) = 1000000
STANDBY_SPOOL_PERCENT = 0
PEER_WINDOW(seconds) = 0
READS_ON_STANDBY_ENABLED = N
HADR_ROLE = STANDBY
REPLAY_TYPE = PHYSICAL
HADR_SYNCMODE = ASYNC
STANDBY_ID = 0
LOG_STREAM_ID = 1
HADR_STATE = PEER
HADR_FLAGS =
PRIMARY_MEMBER_HOST = siteam2
PRIMARY_INSTANCE = db2sdin1
PRIMARY_MEMBER = 1
STANDBY_MEMBER_HOST = sitebm1
STANDBY_INSTANCE = db2sdin1
STANDBY_MEMBER = 0
HADR_CONNECT_STATUS = CONNECTED
HADR_CONNECT_STATUS_TIME = 08/29/2013 14:38:33.805129 (1377758313)
HEARTBEAT_INTERVAL(seconds) = 15
HADR_TIMEOUT(seconds) = 60
TIME_SINCE_LAST_RECV(seconds) = 13
PEER_WAIT_LIMIT(seconds) = 1
LOG_HADR_WAIT_CUR(seconds) = 0.000
LOG_HADR_WAIT_RECENT_AVG(seconds) = 0.000010
LOG_HADR_WAIT_ACCUMULATED(seconds) = 8.904
LOG_HADR_WAIT_COUNT = 783810
SOCK_SEND_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
PRIMARY_LOG_FILE,PAGE,POS = S0000010.LOG, 24189, 1117595246
STANDBY_LOG_FILE,PAGE,POS = S0000010.LOG, 24189, 1117595246
HADR_LOG_GAP(bytes) = 0
STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000010.LOG, 24189, 1117595246
STANDBY_RECV_REPLAY_GAP(bytes) = 0
PRIMARY_LOG_TIME = 08/26/2013 14:03:22.000000 (1377497002)
STANDBY_LOG_TIME = 08/26/2013 14:03:22.000000 (1377497002)
STANDBY_REPLAY_LOG_TIME = 08/26/2013 14:03:22.000000 (1377497002)
STANDBY_RECV_BUF_SIZE(pages) = 512
STANDBY_RECV_BUF_PERCENT = 0
STANDBY_SPOOL_LIMIT(pages) = 1000000
STANDBY_SPOOL_PERCENT = 0
PEER_WINDOW(seconds) = 0
READS_ON_STANDBY_ENABLED = N
HADR功能在此过程中,没有收到影响。Db2 V10.5修订包1的HADR功能也能完美兼容Db2 V10.5 GA版本的日志。这是预期的效果。因为落实更新所需的时间比较短,所以即便是出现不兼容的情况,HADR同步受影响的时间也会比较短。所以这是为什么要在这个阶段落实更新。
最后查看一下备集群的数据库级别。
**清单 48. 检查db2level**
$ db2level
Db21085I This instance or install (instance name, where applicable:
"db2sdin1") uses "64" bits and Db2 code release "SQL10051" with level
identifier "0602010E".
Informational tokens are "Db2 v10.5.0.1", "s130816", "IP23519", and Fix Pack
"1".
Product is installed at "/opt/IBM/db2/V10.5FP1".
产品的安装路径已经指向了新位置"/opt/IBM/db2/V10.5FP1"。实例的级别也是升级到了"Db2 v10.5.0.1"版本。
## 落实更新主集群
备集群的更新已经落实。最后落实主集群的更新,整套HADR环境就算是全部升级完成。
**清单 49. 落实更新主集群**
DBI1446I The installFixPack command is running.
The execution completed successfully.
For more information see the Db2 installation log at "/tmp/installFixPack.log".
DBI1070I Program installFixPack completed successfully.
主集群的更新落实也是联机的。在此过程中,数据库服务没有中断。
**清单 50. 查看实例状态**
$ db2instance -list
ID TYPE STATE HOME_HOST CURRENT_HOST ALERT PARTITION_NUMBER LOGICAL_PORT NETNAME
0 MEMBER STARTED siteam1 siteam1 NO 0 0 siteam1-ib0,siteam1-ib1
1 MEMBER STARTED siteam2 siteam2 NO 0 0 siteam2-ib0,siteam2-ib1
128 CF PEER siteaf1 siteaf1 NO - 0 siteaf1-ib0,siteaf1-ib1
129 CF PRIMARY siteaf2 siteaf2 NO - 0 siteaf2-ib0,siteaf2-ib1
HOSTNAME STATE INSTANCE_STOPPED ALERT
siteam2 ACTIVE NO NO
siteaf2 ACTIVE NO NO
siteaf1 ACTIVE NO NO
siteam1 ACTIVE NO NO
HADR状态也没有受到影响。
**清单 51. 查看HADR状态**
Database Member 0 -- Database TESTDB -- Standby -- Up 1 days 02:25:03 -- Date 2013-08-30-18.52.15.179098
HADR_ROLE = STANDBY
REPLAY_TYPE = PHYSICAL
HADR_SYNCMODE = ASYNC
STANDBY_ID = 0
LOG_STREAM_ID = 0
HADR_STATE = PEER
HADR_FLAGS =
PRIMARY_MEMBER_HOST = siteam1
PRIMARY_INSTANCE = db2sdin1
PRIMARY_MEMBER = 0
STANDBY_MEMBER_HOST = sitebm1
STANDBY_INSTANCE = db2sdin1
STANDBY_MEMBER = 0
HADR_CONNECT_STATUS = CONNECTED
HADR_CONNECT_STATUS_TIME = 08/30/2013 18:49:22.251759 (1377859762)
HEARTBEAT_INTERVAL(seconds) = 15
HADR_TIMEOUT(seconds) = 60
TIME_SINCE_LAST_RECV(seconds) = 9
PEER_WAIT_LIMIT(seconds) = 1
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) = 1048576, 1048352
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
PRIMARY_LOG_FILE,PAGE,POS = S0000017.LOG, 0, 1768984001
STANDBY_LOG_FILE,PAGE,POS = S0000017.LOG, 0, 1768984001
HADR_LOG_GAP(bytes) = 0
STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000017.LOG, 0, 1768984001
STANDBY_RECV_REPLAY_GAP(bytes) = 0
PRIMARY_LOG_TIME = 08/30/2013 18:08:13.000000 (1377857293)
STANDBY_LOG_TIME = 08/30/2013 18:08:13.000000 (1377857293)
STANDBY_REPLAY_LOG_TIME = 08/30/2013 18:08:13.000000 (1377857293)
STANDBY_RECV_BUF_SIZE(pages) = 512
STANDBY_RECV_BUF_PERCENT = 0
STANDBY_SPOOL_LIMIT(pages) = 1000000
STANDBY_SPOOL_PERCENT = 0
PEER_WINDOW(seconds) = 0
READS_ON_STANDBY_ENABLED = N
HADR_ROLE = STANDBY
REPLAY_TYPE = PHYSICAL
HADR_SYNCMODE = ASYNC
STANDBY_ID = 0
LOG_STREAM_ID = 1
HADR_STATE = PEER
HADR_FLAGS =
PRIMARY_MEMBER_HOST = siteam2
PRIMARY_INSTANCE = db2sdin1
PRIMARY_MEMBER = 1
STANDBY_MEMBER_HOST = sitebm1
STANDBY_INSTANCE = db2sdin1
STANDBY_MEMBER = 0
HADR_CONNECT_STATUS = CONNECTED
HADR_CONNECT_STATUS_TIME = 08/30/2013 18:26:52.921479 (1377858412)
HEARTBEAT_INTERVAL(seconds) = 15
HADR_TIMEOUT(seconds) = 60
TIME_SINCE_LAST_RECV(seconds) = 1
PEER_WAIT_LIMIT(seconds) = 1
LOG_HADR_WAIT_CUR(seconds) = 0.000
LOG_HADR_WAIT_RECENT_AVG(seconds) = 0.000015
LOG_HADR_WAIT_ACCUMULATED(seconds) = 0.001
LOG_HADR_WAIT_COUNT = 74
SOCK_SEND_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
SOCK_RECV_BUF_REQUESTED,ACTUAL(bytes) = 1048576, 1048352
PRIMARY_LOG_FILE,PAGE,POS = S0000012.LOG, 9, 1222838197
STANDBY_LOG_FILE,PAGE,POS = S0000012.LOG, 9, 1222838197
HADR_LOG_GAP(bytes) = 0
STANDBY_REPLAY_LOG_FILE,PAGE,POS = S0000012.LOG, 9, 1222838197
STANDBY_RECV_REPLAY_GAP(bytes) = 0
PRIMARY_LOG_TIME = 08/30/2013 18:42:02.000000 (1377859322)
STANDBY_LOG_TIME = 08/30/2013 18:42:02.000000 (1377859322)
STANDBY_REPLAY_LOG_TIME = 08/30/2013 18:42:02.000000 (1377859322)
STANDBY_RECV_BUF_SIZE(pages) = 512
STANDBY_RECV_BUF_PERCENT = 0
STANDBY_SPOOL_LIMIT(pages) = 1000000
STANDBY_SPOOL_PERCENT = 0
PEER_WINDOW(seconds) = 0
READS_ON_STANDBY_ENABLED = N
使用db2pd工具验证一下当前落实的更新。
**清单 52. 查看实例级别**
$ su - db2sdin1 -c "ssh siteam1 '. ~/sqllib/db2profile;db2pd -rustatus'"
ROLLING UPDATE STATUS: Disk Value Memory Value
Record Type = INSTANCE
ID = 0
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
State = [NONE]
Last updated = 2013/08/30:18:51:32
Record Type = MEMBER
ID = 0
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
CECL = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
CEAL = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
Section Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
State = [NONE]
Last updated = 2013/08/30:18:47:20
siteam1: db2pd -rustatus -localhost ... completed ok
Record Type = MEMBER
ID = 1
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
CECL = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
CEAL = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
Section Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000)
State = [NONE]
Last updated = 2013/08/30:18:05:28
siteam2: db2pd -rustatus -localhost ... completed ok
Record Type = CF
ID = 128
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
State = [NONE]
Last updated = 2013/08/30:17:09:00
Record Type = CF
ID = 129
Code Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
Architecture Level = V:10 R:5 M:0 F:1 I:0 SB:0 (0x0A05000100000000) Not Applicable
State = [NONE]
Last updated = 2013/08/30:16:54:25
集群所有节点的体系结构级别(Architecture Level),代码级别(Code Level),当前有效体系结构级别(CEAL)和当前有效代码级别(CECL)都是“V:10 R:5 M:0 F:1 I:0”,也就是10.5.0.1。最后查看一下当前的db2level输出。
**清单 53. 检查db2level**
Db21085I This instance or install (instance name, where applicable:
"db2sdin1") uses "64" bits and Db2 code release "SQL10051" with level
identifier "0602010E".
Informational tokens are "Db2 v10.5.0.1", "s130816", "IP23519", and Fix Pack
"1".
Product is installed at "/opt/IBM/db2/V10.5FP1".
主集群的产品的安装路径已经指向了新位置"/opt/IBM/db2/V10.5FP1"。实例的级别也是升级到了"Db2 v10.5.0.1"版本。
至此,整套Db2 pureScale集群HADR环境就完成了修订包的更新。
# 升级后续工作
实例升级完成后,原先停止的数据库需要重新上线。Db2补丁包的升级可能会对数据库内的对象有改变,所以数据库也需要进行更新。下面这些操作只需要在主集群做就可以。备集群数据库会同步这些改变。
## 升级数据库
Db2提供了db2updv105这样的工具。
**清单 54. 升级数据库**
$ db2updv105 -d TESTDB
_
_____ Db2 Service Tools _____
I B M
db2updv105
This tool is a service utility designed to update a Db2 Version 10.5
database to the current fix pack level.
_
Db2 Universal Database Version 10.5, 5622-044 (c) Copyright IBM Corp. 2012
Licensed Material - Program Property of IBM
IBM DATABASE 2 Database update to current fix pack tool
db2updv105 completed successfully for database 'TESTDB'.
如果有多个数据库,每个数据库都需要升级。
## 重新绑定
对于每一个数据库,都需要在更新完成后重新绑定绑定文件。命令如下所示:
**清单 55. 绑定文件**
db2 terminate
db2 CONNECT TO TESTDB
db2 BIND /home/db2sdin1/sqllib/bnd/db2schema.bnd BLOCKING ALL GRANT PUBLIC SQLERROR CONTINUE
db2 BIND /home/db2sdin1/sqllib/bnd/@db2ubind.lst BLOCKING ALL GRANT PUBLIC ACTION ADD
db2 BIND /home/db2sdin1/sqllib/bnd/@db2cli.lst BLOCKING ALL GRANT PUBLIC ACTION ADD
db2 terminate
对于每个数据库,也可以重新绑定程序包。
**清单 56. 绑定包**
$ db2rbind TESTDB -l sx1bind.log all
Rebind done successfully for database 'TESTDB'.
最后先前与数据库相关的一些停止的工作需要重新进行。例如定时任务,监控系统等。如果需要,可以升级Db2的客户端或者JDBC驱动等到最新版本。但是这些操作不一定是联机的,可以安排相应的时间窗口。
# 结束语
本文介绍了如何在Db2 pureScale集群HADR环境下更新修订包。实际验证了整个更新过程中对数据库服务和HADR功能的影响。实践证明联机升级Db2的修订包是安全方便的,能够满足用户对数据库高可用性的要求。因为环境比较复杂,在Db2 pureScale集群HADR环境最好遵循相应的步骤,最小化升级风险。
# 参考资源 (resources)
学习
• [IBM Db2 10.5 Information Center for Linux, UNIX and Windows](https://www.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.kc.doc/welcome.html "IBM Db2 10.5 Information Center for Linux, UNIX and Windows"):获得 Db2 家族产品和特性的描述。
• 参考“[IBM Db2 database and SAP software](https://www.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.kc.doc/welcome.html "IBM Db2 database and SAP software")”,了解更多Db2和SAP的相关内容。
• 通过访问 developerWorks 中国 Information Management 专区 的 Db2 purScale 专题获得关于[Db2 pureScale](https://www.ibm.com/developerworks/cn/data/purescale/ "Db2 pureScale")集群更多的文章、教程和多媒体课件等学习资源。
• 通过访问 developerWorks 中国 Information Management 专区 的 从 Oracle 迁移到 Db2获得关于“[从Oracel迁移到Db2](https://www.ibm.com/developerworks/cn/data/migration/ "从Oracel迁移到Db2")”更多的文章、教程和多媒体课件等学习资源。
• [IBM Db2 培训和认证](https://www.ibm.com/developerworks/cn/data/migration/ "IBM Db2 培训和认证"):找到获奖的教员、业界领先的软件、动手实验室等。
• [Db2 for Linux, UNIX, and Windows](https://www.ibm.com/developerworks/cn/data/migration/ "Db2 for Linux, UNIX, and Windows") 最佳实践: 获得Db2应用的最佳实践等文章。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞5
添加新评论4 条评论
3天前
2019-09-03 17:08
2018-08-21 13:19
2018-07-03 15:05