DB2: To test failover

 



File permissions and locations above


If ACR turned off on the application, then the application will not follow the database:

To switch to 602 from 601 , so On 602

/usr/opt/app/db2/admin/tst3ins3/tsa_tests/takeoverHADR.sh    failover command switchover command 


[tst3ins3@dev602  tsa_tests]

$ ls -lrt

total 8

-rwxr--r-- 1 tst3ins3 db2iadm1 528 Oct 28 14:13 crashDB.sh

-rwxr--r-- 1 tst3ins3 db2iadm1 134 Oct 28 14:14 takeoverHADR.sh

[tst3ins3@dev602  tsa_tests]


$ ./takeoverHADR.sh wctst3


2021-12-15-14.38.30.512458

DB20000I  The TAKEOVER HADR ON DATABASE command completed successfully.


real    0m16.12s

user    0m0.01s

sys     0m0.01s


---


ON 601 to switch back:

$ ls -lrt

total 8

-rwxr--r-- 1 tst3ins3 db2iadm1 528 Oct 28 14:13 crashDB.sh

-rwxr--r-- 1 tst3ins3 db2iadm1 134 Oct 28 14:14 takeoverHADR.sh

[tst3ins3@dev601  tsa_tests]


$ ./takeoverHADR.sh wctst3

2021-12-15-14.40.35.785159

DB20000I  The TAKEOVER HADR ON DATABASE command completed successfully.



real    0m15.55s

user    0m0.01s

sys     0m0.01s


[tst3ins3@dev601  tsa_tests]



NOTE:

Ensure alternate server hostname and port is set:

[tst4ins4@db2tst602  ~]
$  db2 list db directory

 System Database Directory

 Number of entries in the directory = 1

Database 1 entry:

 Database alias                       = WCTST10
 Database name                        = WCTST10
 Local database directory             = /rd100/db2data
 Database release level               = 15.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =

[tst4ins4@db2tst602  ~]
$ db2 update alternate server for database wctst10 using hostname db2tst601.gcp.tmw.com port 25010
DB20000I  The UPDATE ALTERNATE SERVER FOR DATABASE command completed
successfully.
DB21056W  Directory changes may not be effective until the directory cache is
refreshed.
[tst4ins4@db2tst602  ~]
$  db2 list db directory

 System Database Directory

 Number of entries in the directory = 1

Database 1 entry:

 Database alias                       = WCTST10
 Database name                        = WCTST10
 Local database directory             = /rd100/db2data
 Database release level               = 15.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            = db2tst601.gcp.tmw.com
 Alternate server port number         = 25010

[tst4ins4@db2tst602  ~]
 


Ad of today Nov 18th 2025, following are the ports for non-prod:


25010  db2tst601.gcp.tmw.com
50011  db2tst602.gcp.tmw.com
$ db2 get dbm cfg | grep -i svce
TCP/IP Service name                          (SVCENAME) = db2c_tst3ins3
SSL service name                         (SSL_SVCENAME) =
[tst3ins3@db2tst601  ~]
$ cat /etc/services | grep -i db2c_tst3ins3
db2c_tst3ins3   25010/tcp

 

 




On db2prd602 is standby taking over 603:

in dbdump directory 

db2haicu -o new_haicu_settings_20211025.xml 


db2 takeover hadr on db wcprd1  <-- manual takeover 


lssam -top  <-- to see the log 


Kill -9 the db2sysc process to pull the rug out from under the db 

 

 

This is how prd1ins1 is setup:

 

db2prd601:

 $ cd TSA_tests
[prd1ins1@db2prd601  TSA_tests]
$ ls -lrt
total 8
-rwxr--r--. 1 prd1ins1 db2iadm1 529 Nov  7  2021 crashDB.sh
-rwxr--r--. 1 prd1ins1 db2iadm1 127 Nov  7  2021 takeoverDB.sh
[prd1ins1@db2prd601  TSA_tests]
$ pwd
/usr/opt/app/db2/admin/prd1ins1/TSA_tests
[prd1ins1@db2prd601  TSA_tests]
$ db2 list db directory

 System Database Directory

 Number of entries in the directory = 1

Database 1 entry:

 Database alias                       = WCPRD1
 Database name                        = WCPRD1
 Local database directory             = /rd100/db2data
 Database release level               = 15.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            = db2prd602.gcp.tmw.com
 Alternate server port number         = 50000

[prd1ins1@db2prd601  TSA_tests]
$ db2 get db cfg for wcprd1 | grep HADR
 HADR database role                                      = PRIMARY
 HADR local host name                  (HADR_LOCAL_HOST) = db2prd601
 HADR local service name                (HADR_LOCAL_SVC) = 60000
 HADR remote host name                (HADR_REMOTE_HOST) = db2prd602
 HADR remote service name              (HADR_REMOTE_SVC) = 60000
 HADR instance name of remote server  (HADR_REMOTE_INST) = prd1ins1
 HADR timeout value                       (HADR_TIMEOUT) = 20
 HADR target list                     (HADR_TARGET_LIST) = db2prd602:60000|db2prd603:60000
 HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC
 HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(12375000)
 HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0
 HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 300
 HADR SSL certificate label             (HADR_SSL_LABEL) =
 HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF
[prd1ins1@db2prd601  TSA_tests]
$




db2prd602:

 [prd1ins1@db2prd602  ~]
$ db2 list db directory

 System Database Directory

 Number of entries in the directory = 1

Database 1 entry:

 Database alias                       = WCPRD1
 Database name                        = WCPRD1
 Local database directory             = /rd100/db2data
 Database release level               = 15.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            = db2prd601.gcp.tmw.com
 Alternate server port number         = 50000

[prd1ins1@db2prd602  ~]
$ db2 get db cfg for wcprd1 | grep HADR
 HADR database role                                      = STANDBY
 HADR local host name                  (HADR_LOCAL_HOST) = db2prd602
 HADR local service name                (HADR_LOCAL_SVC) = 60000
 HADR remote host name                (HADR_REMOTE_HOST) = db2prd601
 HADR remote service name              (HADR_REMOTE_SVC) = 60000
 HADR instance name of remote server  (HADR_REMOTE_INST) = prd1ins1
 HADR timeout value                       (HADR_TIMEOUT) = 20
 HADR target list                     (HADR_TARGET_LIST) = db2prd601:60000|db2prd603:60000
 HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC
 HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(12375000)
 HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0
 HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 300
 HADR SSL certificate label             (HADR_SSL_LABEL) =
 HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF
[prd1ins1@db2prd602  ~]
$ cd /usr/opt/app/db2/admin/prd1ins1/TSA_tests
[prd1ins1@db2prd602  TSA_tests]
$



db2prd603:

 [prd1ins1@db2prd603  ~]
$ db2 list db directory

 System Database Directory

 Number of entries in the directory = 2

Database 1 entry:

 Database alias                       = WCTST3
 Database name                        = WCTST3
 Node name                            = TST3
 Database release level               = 15.00
 Comment                              =
 Directory entry type                 = Remote
 Catalog database partition number    = -1
 Alternate server hostname            =
 Alternate server port number         =

Database 2 entry:

 Database alias                       = WCPRD1
 Database name                        = WCPRD1
 Local database directory             = /rd100/db2data
 Database release level               = 15.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =

[prd1ins1@db2prd603  ~]
$ db2 get db cfg for wcprd1 | grep HADR
 HADR database role                                      = STANDBY
 HADR local host name                  (HADR_LOCAL_HOST) = db2prd603
 HADR local service name                (HADR_LOCAL_SVC) = 60000
 HADR remote host name                (HADR_REMOTE_HOST) = db2prd601
 HADR remote service name              (HADR_REMOTE_SVC) = 60000
 HADR instance name of remote server  (HADR_REMOTE_INST) = prd1ins1
 HADR timeout value                       (HADR_TIMEOUT) = 20
 HADR target list                     (HADR_TARGET_LIST) = db2prd602:60000|db2prd601:60000
 HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC
 HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(12375000)
 HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0
 HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 300
 HADR SSL certificate label             (HADR_SSL_LABEL) =
 HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF
[prd1ins1@db2prd603  ~]
$








Comments

Popular posts from this blog

Postgres: Clean up stopped replication slot