DB2学习过程--DB2 HADR配置

本文详细介绍了如何配置DB2的高可用灾难恢复(HADR)功能,包括主数据库备份、修改配置文件、启动HADR、检查HADR状态以及进行HADR切换的步骤。通过这些步骤,可以确保在主服务器故障时能够平滑切换到从服务器,保证数据库服务的连续性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HADR 配置过程

 

说明:

1、主数据库备份

2、修改配置文件

添加/etc/service 里面的关于hadr的设置。增加一个服务器和TCP端口的对应,只要大于1024,并且别的服务器没有使用就行。

注意:

先将归档日志打开:db2 update db cfg for sample using LOGRETAIN on

 

使用的命令:

db2 update db cfg for <dbname> using HADR_LOCAL_HOST <ip>

db2 update db cfg for <dbname> using HADR_REMOTE_HOST <ip>

db2 update db cfg for <dbname> using HADR_LOCAL_SVC <tcp port>

db2 update db cfg for <dbname> using HADR_REMOTE_SVC <tcp port>

db2 update db cfg for <dbname> using HADR_REMOTE_INST <instanceName>

db2 update db cfg for <dbname> using LOGINDEXBUILD ON

 

注意:主从服务器的配置相反,就是说主服务器的local值为从服务器的remote值

3、启动hadr

为保证书库的完整性,必须在从服务器上启动hadr服务,然后在启动主服务器的hadr服务
命令:

首次执行的命令

从服务器:db2 start hadr on db <dbname> as standby

主服务器:db2 start hadr on db <dbname> as primary

 

启动一次之后可以使用的名:

db2 activate db <dbname>

 

4、检查hadr状态

 

db2pd -hadr -db <dbname>

db2 get db cfg for <dbname> |grep -i hadr

db2 get snapshot for db on <dbname>

 

5、进行hadr切换

在从服务器上进行

db2 takeover hadr on db <dbname>

强制切换

db2 takeover hadr on db <dbname> by force

 

具体步骤

 

==========================================================

备份数据库

==========================================================

 

Server1 [10.4.5.222]

状态:主服务器

 

[db2inst1@fedora ~]$ cd db2backup/

[db2inst1@fedora db2backup]$ db2 backup db sample

 

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

 

[db2inst1@fedora db2backup]$ ll

total 35408

drwxr-xr-x  2 db2inst1 db2grp1     4096 May 26 13:36 logs

-rw-r-----  1 db2inst1 db2grp1 36212736 May 30 18:58 SAMPLE.0.db2inst1.NODE0000.CATN0000.20060530185813.001

[db2inst1@fedora db2backup]$ db2 restore db sample taken at 20060530185813 into testdb

DB20000I  The RESTORE DATABASE command completed successfully.

[db2inst1@fedora db2backup]$ db2 rollforward db testdb stop

 

                                 Rollforward Status

 

 Input database alias                   = testdb

 Number of nodes have returned status   = 1

 

 Node number                            = 0

 Rollforward status                     = not pending

 Next log file to be read               =

 Log files processed                    =  -

 Last committed transaction             = 2006-05-30-09.13.09.000000

 

DB20000I  The ROLLFORWARD command completed successfully.

[db2inst1@fedora db2backup]$ db2 connect to testdb

 

   Database Connection Information

 

 Database server        = DB2/LINUX 8.2.0

 SQL authorization ID   = DB2INST1

 Local database alias   = TESTDB

 

生成备份文件并将备份的书库复制到从服务器上,最好不包含log

[db2inst1@fedora db2backup]$ backup db testdb online

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

[db2inst1@fedora db2backup]$ ll

-rw-r-----   1 db2inst1 db2grp1 29929472 May 31 08:50 TESTDB.0.db2inst1.NODE0000.CATN0000.20060530190639.001

 

[db2inst1@fedora db2backup]$ scp TESTDB.0.db2inst1.NODE0000.CATN0000.20060530190639.001 db2inst1@10.4.5.221:~

 

Server2 [10.4.5.221]

状态:从服务器

 

[db2inst1@fedora ~]$ ll

total 29280

drwxrwxr-x   3 db2inst1 db2grp1     4096 May 31 08:51 db2inst1

drwx------   3 db2inst1 db2grp1     4096 May 31 08:37 Desktop

-rwxr-x---   1 db2inst1 db2grp1      162 May 31 08:54 killdb2fm.sh

-rw-r--r--   1 db2inst1 db2grp1        0 May 31 08:55 killdb.log

drwxrwsr-t  17 db2inst1 db2grp1     4096 May 31 08:51 sqllib

-rw-r-----   1 db2inst1 db2grp1 29929472 May 31 08:50 TESTDB.0.db2inst1.NODE0000.CATN0000.20060530190639.001

[db2inst1@fedora ~]$ db2 connect to testdb

SQL1117N  A connection to or activation of database "TESTDB" cannot be made

because of ROLL-FORWARD PENDING.  SQLSTATE=57019

[db2inst1@fedora ~]$

 

=========================================================

修改hadr配置

=========================================================

Server1 [10.4.5.222]

状态:主服务器

 

[db2inst1@fedora db2backup]$ db2 update db cfg for testdb using HADR_LOCAL_HOST 10.4.5.222

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

[db2inst1@fedora db2backup]$ db2 update db cfg for testdb using HADR_REMOTE_HOST 10.4.5.221

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

[db2inst1@fedora db2backup]$ db2 update db cfg for testdb using HADR_LOCAL_SVC 50050

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

[db2inst1@fedora db2backup]$ db2 update db cfg for testdb using HADR_REMOTE_SCV 50060

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

[db2inst1@fedora db2backup]$ db2 update db cfg for testdb using HADR_REMOTE_INST db2inst1

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

[db2inst1@fedora db2backup]$

[db2inst1@fedora db2backup]$ db2 update db cfg for testdb using LOGINDEXBUILD ON

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

 

[db2inst1@fedora db2backup]$ db2 get db cfg for testdb |grep -i hadr

 HADR database role                                      = STANDARD

 HADR local host name                  (HADR_LOCAL_HOST) = 10.4.5.222

 HADR local service name                (HADR_LOCAL_SVC) = 50050

 HADR remote host name                (HADR_REMOTE_HOST) = 10.4.5.221

 HADR remote service name              (HADR_REMOTE_SVC) = 50060

 HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1

 HADR timeout value                       (HADR_TIMEOUT) = 120

 HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC

[db2inst1@fedora db2backup]$

 

 

Server2 [10.4.5.221]

状态:从服务器

 

 

[db2inst1@fedora ~]$ db2 update db cfg for testdb using HADR_LOCAL_HOST 10.4.5.221

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

[db2inst1@fedora ~]$ db2 update db cfg for testdb using HADR_REMOTE_HOST 10.4.5.222

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

[db2inst1@fedora ~]$

[db2inst1@fedora ~]$ db2 update db cfg for testdb using HADR_LOCAL_SVC 50060

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

[db2inst1@fedora ~]$ db2 update db cfg for testdb using HADR_REMOTE_SVC 50050

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

[db2inst1@fedora ~]$ db2 update db cfg for testdb using HADR_REMOTE_INST db2inst1

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

[db2inst1@fedora ~]$

[db2inst1@fedora db2backup]$ db2 update db cfg for testdb using LOGINDEXBUILD ON

DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

 

[db2inst1@fedora ~]$ db2 get db cfg for testdb |grep -i hadr

 HADR database role                                      = STANDARD

 HADR local host name                  (HADR_LOCAL_HOST) = 10.4.5.221

 HADR local service name                (HADR_LOCAL_SVC) = 50060

 HADR remote host name                (HADR_REMOTE_HOST) = 10.4.5.222

 HADR remote service name              (HADR_REMOTE_SVC) = 50050

 HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1

 HADR timeout value                       (HADR_TIMEOUT) = 120

 HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC

[db2inst1@fedora ~]$

 

 

================================================================

启动hadr

================================================================

 

Server2 [10.4.5.221]

状态:从服务器

 

[db2inst1@fedora ~]$ db2 start hadr on db testdb as standby

DB20000I  The START HADR ON DATABASE command completed successfully.

[db2inst1@fedora ~]$

 

Server1 [10.4.5.222]

状态:主服务器

 

[db2inst1@fedora db2backup]$ db2 start hadr on db testdb as primary

DB20000I  The START HADR ON DATABASE command completed successfully.

[db2inst1@fedora db2backup]$

 

 

================================================================

检查数据库hadr的状态

================================================================

 

Server2 [10.4.5.221]

状态:从服务器

 

[db2inst1@fedora ~]$ db2pd -hadr -db testdb

 

Database Partition 0 -- Database TESTDB -- Active -- Up 0 days 00:02:42

 

HADR Information:

Role    State                SyncMode HeartBeat  LogGapRunAvg (bytes)

Standby Peer                 Nearsync 0          4095964

 

ConnectStatus ConnectTime                           Timeout

Connected     Wed May 31 09:10:19 2006 (1149037819) 120

 

LocalHost          LocalService       RemoteHost         RemoteService      RemoteInstance

10.4.5.221        50060             10.4.5.222        5005             db2inst1

 

PrimaryFile  PrimaryPg  PrimaryLSN         StandByFile  StandByPg  StandByLSN

S0000001.LOG 0          0x000000FA000080AB3C46715E0 S0000000.LOG 0          0x000000BB802780AB3C46715E0

[db2inst1@fedora ~]$

 

说明:

Role    State 为 Standby Peer就正常了,说明2台服务器同步了,

 

 

[db2inst1@fedora ~]$ db2 get db cfg for testdb |grep -i hadr

 HADR database role                                      = STANDBY

 HADR local host name                  (HADR_LOCAL_HOST) = 10.4.5.221

 HADR local service name                (HADR_LOCAL_SVC) = 50060

 HADR remote host name                (HADR_REMOTE_HOST) = 10.4.5.222

 HADR remote service name              (HADR_REMOTE_SVC) = 50050

 HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1

 HADR timeout value                       (HADR_TIMEOUT) = 120

 HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC

 

得到的配置信息说明该服务器 是STANDBY状态。

 

[db2inst1@fedora ~]$ netstat -ant

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address               Foreign Address             State

tcp        0      0 0.0.0.0:32769               0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:631                 0.0.0.0:*                   LISTEN

tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN

tcp        0      0 10.4.5.221:44232            10.4.5.222:50050            ESTABLISHED

tcp        0      0 :::22                       :::*                        LISTEN

tcp        0    132 ::ffff:10.4.5.221:22        ::ffff:10.4.5.87:1321       ESTABLISHED

[db2inst1@fedora ~]$

 

 

Server1 [10.4.5.222]

状态:主服务器

 

 

[db2inst1@fedora db2backup]$ db2pd -hadr -db testdb

 

Database Partition 0 -- Database TESTDB -- Active -- Up 0 days 00:03:22

 

HADR Information:

Role    State                SyncMode HeartBeat  LogGapRunAvg (bytes)

Primary Peer                 Nearsync 0          4095962

 

ConnectStatus ConnectTime                           Timeout

Connected     Tue May 30 19:27:00 2006 (1148988420) 120

 

LocalHost          LocalService       RemoteHost         RemoteService      RemoteInstance

10.4.5.222        50050             10.4.5.221        5006             db2inst1

 

PrimaryFile  PrimaryPg  PrimaryLSN         StandByFile  StandByPg  StandByLSN

S0000001.LOG 0          0x000000FA000080AB3C45D25E0 S0000000.LOG 0          0x000000BB802780AB3C45D25E0

 

说明:

Role    State 为 Primary Peer就正常了,说明2台服务器同步了,

 

 

[db2inst1@fedora db2backup]$ db2 get db cfg for testdb |grep -i hadr

 HADR database role                                      = PRIMARY

 HADR local host name                  (HADR_LOCAL_HOST) = 10.4.5.222

 HADR local service name                (HADR_LOCAL_SVC) = 50050

 HADR remote host name                (HADR_REMOTE_HOST) = 10.4.5.221

 HADR remote service name              (HADR_REMOTE_SVC) = 50060

 HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1

 HADR timeout value                       (HADR_TIMEOUT) = 120

 HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC

[db2inst1@fedora db2backup]$

 

 

得到的配置信息说明该服务器 是Primary状态。

 

[db2inst1@fedora db2backup]$ netstat -ant

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address               Foreign Address             State

tcp        0      0 0.0.0.0:60000               0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:32769               0.0.0.0:*                   LISTEN

tcp        0      0 10.4.5.222:50050            0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:523                 0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN

tcp        0      0 0.0.0.0:631                 0.0.0.0:*                   LISTEN

tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN

tcp        0      0 10.4.5.222:50050            10.4.5.221:44232            ESTABLISHED

tcp        0      0 :::22                       :::*                        LISTEN

tcp        0      0 ::ffff:10.4.5.222:22        ::ffff:10.4.5.87:1309       ESTABLISHED

tcp        0      0 ::ffff:10.4.5.222:22        ::ffff:10.4.5.209:2210      ESTABLISHED

[db2inst1@fedora db2backup]$

 

 

 

 

================================================================

 

Server1 [10.4.5.222]

状态:主服务器

 

create table test1 (id int,name varchar(10))

 

在主服务器上建立表,插入数据。

[db2inst1@fedora sql]$ db2 "select count(*) from test1"

1

-----------

        500

 

  1 record(s) selected.

[db2inst1@fedora sql]$

 

[db2inst1@fedora ~]$ db2 get snapshot for db on testdb

HADR Status

  Role                   = Primary

  State                  = Peer

  Synchronization mode   = Nearsync

  Connection status      = Connected, 05/30/2006 19:27:00.531671

  Heartbeats missed      = 0

  Local host             = 10.4.5.222

  Local service          = 50050

  Remote host            = 10.4.5.221

  Remote service         = 50060

  Remote instance        = db2inst1

  timeout(seconds)       = 120

  Primary log position(file, page, LSN) = S0000001.LOG, 12, 0000000000FAC78A

  Standby log position(file, page, LSN) = S0000001.LOG, 12, 0000000000FAC78A

  Log gap running average(bytes) = 50

 

 

Server2 [10.4.5.221]

状态:从服务器

 

 

[db2inst1@fedora ~]$ db2 get snapshot for db on testdb

 

HADR Status

  Role                   = Standby

  State                  = Peer

  Synchronization mode   = Nearsync

  Connection status      = Connected, 05/31/2006 09:10:19.131383

  Heartbeats missed      = 0

  Local host             = 10.4.5.221

  Local service          = 50060

  Remote host            = 10.4.5.222

  Remote service         = 50050

  Remote instance        = db2inst1

  timeout(seconds)       = 120

  Primary log position(file, page, LSN) = S0000001.LOG, 12, 0000000000FAC78A

  Standby log position(file, page, LSN) = S0000001.LOG, 12, 0000000000FAC72F

  Log gap running average(bytes) = 300

 

日志有更新。

 

 

================================================================

HADR切换

================================================================

 

1、将server2切换成主服务器

 

Server2 [10.4.5.221]

状态:主服务器

 

 

[db2inst1@fedora ~]$ db2 "takeover hadr on db testdb"

DB20000I  The TAKEOVER HADR ON DATABASE command completed successfully.

 

[db2inst1@fedora ~]$ db2 get snapshot for db on  testdb

HADR Status

  Role                   = Primary

  State                  = Peer

  Synchronization mode   = Nearsync

  Connection status      = Connected, 05/31/2006 09:10:19.131383

  Heartbeats missed      = 0

  Local host             = 10.4.5.221

  Local service          = 50060

  Remote host            = 10.4.5.222

  Remote service         = 50050

  Remote instance        = db2inst1

  timeout(seconds)       = 120

 

该服务器状态变成主服务器(Role = Primary)

 

[db2inst1@fedora ~]$ db2 "select count(*) from test1"

1

-----------

        500

  1 record(s) selected.

 

 

Server1[10.4.5.222]

状态:从服务器

 

HADR Status

  Role                   = Standby

  State                  = Peer

  Synchronization mode   = Nearsync

  Connection status      = Connected, 05/30/2006 19:27:00.531671

  Heartbeats missed      = 0

  Local host             = 10.4.5.222

  Local service          = 50050

  Remote host            = 10.4.5.221

  Remote service         = 50060

  Remote instance        = db2inst1

  timeout(seconds)       = 120

  Primary log position(file, page, LSN) = S0000001.LOG, 12, 0000000000FAC78A

  Standby log position(file, page, LSN) = S0000001.LOG, 12, 0000000000FAC78A

  Log gap running average(bytes) = 0

 

此时服务器的状态变成了从服务器(Role = Standby)

 

 

2、将server1换成主服务器

 

Server2 [10.4.5.221]

状态:主服务器

 

 

在server2上的test1表中删除部分数据

[db2inst1@fedora ~]$ db2 "select count(*) from test1"

1

-----------

        500

 

 1 record(s) selected.

[db2inst1@fedora ~]$ db2 "delete from test1 where id>10"

DB20000I  The SQL command completed successfully.

[db2inst1@fedora ~]$ db2 "select * from test1"

 

ID          NAME

----------- ----------

          1 test1

          2 test2

          3 test3

          4 test4

          5 test5

          6 test6

          7 test7

          8 test8

          9 test9

         10 test10

 

  10 record(s) selected.

 

删除记录后数据还剩下10条记录

 

 

Server1[10.4.5.222]

 

[db2inst1@fedora sql]$ db2 connect to testdb

SQL1776N  The command cannot be issued on an HADR standby database. Reason

code = "1".

[db2inst1@fedora sql]$

 

[db2inst1@fedora sql]$ db2 get snapshot for db on testdb

HADR Status

  Role                   = Standby

  State                  = Peer

  Synchronization mode   = Nearsync

  Connection status      = Connected, 05/30/2006 19:27:00.531671

  Heartbeats missed      = 0

  Local host             = 10.4.5.222

  Local service          = 50050

  Remote host            = 10.4.5.221

  Remote service         = 50060

  Remote instance        = db2inst1

  timeout(seconds)       = 120

  Primary log position(file, page, LSN) = S0000001.LOG, 20, 0000000000FB4063

  Standby log position(file, page, LSN) = S0000001.LOG, 20, 0000000000FB4063

  Log gap running average(bytes) = 0

 

此时Server1[10.4.5.222]的状态变成从服务器

 

[db2inst1@fedora sql]$  db2 "takeover hadr on db testdb"

DB20000I  The TAKEOVER HADR ON DATABASE command completed successfully.

[db2inst1@fedora sql]$ db2 get snapshot for db on testdb

 

HADR Status

  Role                   = Primary

  State                  = Peer

  Synchronization mode   = Nearsync

  Connection status      = Connected, 05/30/2006 19:27:00.531671

  Heartbeats missed      = 0

  Local host             = 10.4.5.222

  Local service          = 50050

  Remote host            = 10.4.5.221

  Remote service         = 50060

  Remote instance        = db2inst1

  timeout(seconds)       = 120

  Primary log position(file, page, LSN) = S0000001.LOG, 20, 0000000000FB4063

  Standby log position(file, page, LSN) = S0000001.LOG, 20, 0000000000FB4063

  Log gap running average(bytes) = 0

 

此时Server1[10.4.5.222]的状态变成主服务器,然后连接数据库进行检验。

 

[db2inst1@fedora sql]$ db2 connect to testdb

 

   Database Connection Information

 

 Database server        = DB2/LINUX 8.2.0

 SQL authorization ID   = DB2INST1

 Local database alias   = TESTDB

 

[db2inst1@fedora sql]$ db2 "select * from test1"

 

ID          NAME

----------- ----------

          1 test1

          2 test2

          3 test3

          4 test4

          5 test5

          6 test6

          7 test7

          8 test8

          9 test9

         10 test10

 

  10 record(s) selected.

 

[db2inst1@fedora sql]$

 

状态正常。

 

此时我们查看Server2[10.4.5.221]的状态

 

[db2inst1@fedora ~]$ db2 get db cfg for testdb |grep -i hadr

 HADR database role                                      = STANDBY

 HADR local host name                  (HADR_LOCAL_HOST) = 10.4.5.221

 HADR local service name                (HADR_LOCAL_SVC) = 50060

 HADR remote host name                (HADR_REMOTE_HOST) = 10.4.5.222

 HADR remote service name              (HADR_REMOTE_SVC) = 50050

 HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1

 HADR timeout value                       (HADR_TIMEOUT) = 120

 HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC

[db2inst1@fedora ~]$

[db2inst1@fedora ~]$ db2pd -hadr -db testdb

 

Database Partition 0 -- Database TESTDB -- Active -- Up 0 days 01:39:11

 

HADR Information:

Role    State                SyncMode HeartBeat  LogGapRunAvg (bytes)

Standby Peer                 Nearsync 0          0

 

ConnectStatus ConnectTime                           Timeout

Connected     Wed May 31 09:10:19 2006 (1149037819) 120

 

LocalHost          LocalService       RemoteHost         RemoteService      RemoteInstance

10.4.5.221        50060             10.4.5.222        5005             db2inst1

 

PrimaryFile  PrimaryPg  PrimaryLSN         StandByFile  StandByPg  StandByLSN

S0000001.LOG 20         0x000000FB406380AB3C45B95E0 S0000001.LOG 20         0x000000FB406380AB3C45B95E0

 

[db2inst1@fedora ~]$

 

此时我们查看Server2[10.4.5.221]的状态变成了从服务器

 

通过上面的实验:

Server2[10.4.5.221]的状态:从-->主-->从

Server1[10.4.5.222]的状态:主-->从-->主

 

 

 

======================================================

强制恢复

======================================================

 

如果主服务器出现故障,而短时间又不能恢复,又需要db2的数据库服务,就需要把从服务器状态强制设置成主状态。

 

1、先将从服务器得网卡禁用,

 

2、切换从服务器得状态

[db2inst1@fedora sql]$ db2 takeover hadr on db testdb

SQL1770N  Takeover HADR cannot complete. Reason code = "1".

[db2inst1@fedora sql]$ db2 takeover hadr on db testdb

[db2inst1@fedora sql]$

[db2inst1@fedora sql]$ db2 takeover hadr on db testdb by force

DB20000I  The TAKEOVER HADR ON DATABASE command completed successfully.

 

[db2inst1@fedora sql]$ db2 connect to testdb

 

   Database Connection Information

 

 Database server        = DB2/LINUX 8.2.0

 SQL authorization ID   = DB2INST1

 Local database alias   = TESTDB

 

[db2inst1@fedora sql]$

 

 

在原来的主服务器上查看:

 

[db2inst1@fedora ~]$ db2 get db cfg for testdb

 

 HADR database role                                      = PRIMARY

 HADR local host name                  (HADR_LOCAL_HOST) = 10.4.5.221

 HADR local service name                (HADR_LOCAL_SVC) = 50060

 HADR remote host name                (HADR_REMOTE_HOST) = 10.4.5.222

 HADR remote service name              (HADR_REMOTE_SVC) = 50050

 HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1

 HADR timeout value                       (HADR_TIMEOUT) = 120

 HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC

 

 

[db2inst1@fedora ~]$ db2pd -hadr -db testdb

 

Database Partition 0 -- Database TESTDB -- Active -- Up 0 days 07:12:32

 

HADR Information:

Role    State                SyncMode HeartBeat  LogGapRunAvg (bytes)

Primary Disconnected         Nearsync 0          0

 

ConnectStatus ConnectTime                           Timeout

Disconnected  Wed May 31 15:57:59 2006 (1149062279) 120

 

LocalHost          LocalService       RemoteHost         RemoteService      RemoteInstance

10.4.5.221        50060              10.4.5.222          50050              db2inst1

 

PrimaryFile  PrimaryPg  PrimaryLSN         StandByFile  StandByPg  StandByLSN

S0000001.LOG 72         0x000000FE858680AB3C43A05E0 S0000001.LOG 72         0x000000FE858680AB3C43A05E0

[db2inst1@fedora ~]$

 

 

还是主的状态,我们需要将它变成从服务器状态。

 

 

 

 

[db2inst1@fedora ~]$ db2 start hadr on db testdb as standby

SQL1767N  Start HADR cannot complete. Reason code = "3".

[db2inst1@fedora ~]$

 

 

 

不能完成启动 HADR。原因码 = reason-code。

说明:

不能完成启动 HADR。与原因码对应的解释是:

 

1

当发出 START HADR AS STANDBY 命令时,数据库未处于前滚暂挂或正在前滚状态。

2

不能对 HADR 备用数据库发出 START HADR AS PRIMARY。

3

不能对活动数据库发出 START HADR AS STANDBY。

98

未安装有效的 HADR 许可证。命令未成功完成。

99

在多分区实例环境中发出了该命令。

用户响应:

与原因码对应的用户响应是:

 

1

从主数据库的备份映像或分割镜像重新初始化备用数据库,然后重新发出 START HADR AS STANDBY 命令。

2

如果想要将备用数据库更改为主数据库,发出 TAKEOVER 命令。

3

如果想要将主数据库更改为备用数据库,从当前备用数据库发出 TAKEOVER 命令。如果想要将标准数据库更改为备用数据库,必须首先取消激活该数据库。

98

获取并安装有效的 HADR 许可证,然后重新提交该命令。

99

在多分区实例环境中不支持 HADR 功能部件。

 

 

[db2inst1@fedora ~]$ db2start

05/31/2006 16:39:11     0   0   SQL1063N  DB2START processing was successful.

SQL1063N  DB2START processing was successful.

[db2inst1@fedora ~]$ db2 start hadr on db testdb as standby

DB20000I  The START HADR ON DATABASE command completed successfully.

[db2inst1@fedora ~]$

 

 

需要停止hadr前需要使用deactivate db命令取消激活状态.

db2 deactivate db <dbname>

需要激活时候用db2 activate db <dbname>命令激活数据库.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值