Sunteți pe pagina 1din 4

IBM DB2 HADR Example Here is an HADR configuration example that I did when preparing for my DBA certi

fication. It has being awhile when I performed these steps, so bear with me if t here are any mistakes or errors in the description. DB2(R) high availability disaster recovery (HADR) is a data replication feat ure that provides a high availability solution for both partial and complete sit e failures. HADR protects against data loss by replicating data changes from a s ource database, called the primary, to a target database, called the standby.

This practice assumes two DB2 instances, named DB2INST1 and DB2INST2 resides in the same physical machine. For configuring HADR, you will need few pieces of information. Update DB2 Registry Profile DB2 Communication Protocol (DB2COMM) Update Each Instance DBM Configuration DB2 TCPIP Listening Port (SVCENAME) Update Primary DB Archical Logging Configuration Log Pages During Index Rebuild (LOGINDEXBUILD) Index Creation Time (INDEXREC) Retain Log (LOGRETAIN) Update Each DB HADR Configuration Local IP Address (HADR_LOCAL_HOST) Local Service Name/Port (HADR_LOCAL_SVC) Remote IP Address (HADR_REMOTE_HOST) Remote Service Name/Port (HADR_REMOTE_SVC) Remote DB2 Instance Name (HADR_REMOTE_INST) Synchronization Mode (HADR_SYNCMODE)

For the intent of all purposes, I installed a fresh copy of DB2 ESE version 9 an d chooose NOT to create the default DB2 instance. Windows environment is assumed . Step 1: Create 2 DB2 Instances Open up an instance of DB2 Command Window by typing "db2cmd" in Run dialog. Create Instance 1 by typing "db2icrt DB2INST1" Create Instance 1 by typing "db2icrt DB2INST2" Step 2: Configure Instance 1 Type the following commands: SET DB2INSTANCE=DB2INST1 db2set DB2COMM=tcpip db2 update dbm cfg using SVCENAME 41001

db2start Note: The TCPIP service port for this instance is 41001 Step 3: Configure Instance 2 Type the following commands: SET DB2INSTANCE=DB2INST2 db2set DB2COMM=tcpip db2 update dbm cfg using SVCENAME 42001 db2start Note: The TCPIP service port for this instance is 42001 Step 4: Create the Primary DB in Instance 1 Type the following commands: SET db2 db2 db2 db2 DB2INSTANCE=DB2INST1 create db BANKFRS update db cfg for BANKFRS using LOGINDEXBUILD on update db cfg for BANKFRS using INDEXREC RESTART update db cfg for BANKFRS using LOGRETAIN on

Note: This step will turn the DB into archival logging mode Step 5: Create a backup of Primary DB Type the following commands: db2 BACKUP DB BANKFRS TO C:\TEMP Note: This step will backup the BANKFRS db into C:\TEMP Step 6: Restore the backup BANKFRS as Standby database Type the following commands: SET DB2INSTANCE=DB2INST2 db2 RESTORE DB BANKFRS FROM C:\TEMP Note: This step will restore the database as BANKFRS in the second DB2 instance and place it into roll forward pending state. Note: If you roll forward the BANKFRS now, you will not be able to initialize it as the standby database. Step 7: Configure the HADR settings for the Primary DB in DB2INST1 Type the following commands: SET DB2INSTANCE=DB2INST1 db2 update alternate server for database BANKFRS using hostname localhost port 4 2001

db2 db2 db2 db2 db2 db2 db2

update update update update update update update

db db db db db db db

cfg cfg cfg cfg cfg cfg cfg

for for for for for for for

BANKFRS BANKFRS BANKFRS BANKFRS BANKFRS BANKFRS BANKFRS

using using using using using using using

hadr_local_host localhost hadr_local_svc 41005 hadr_remote_host localhost hadr_remote_svc 42005 hadr_remote_inst DB2INST2 hadr_syncmode SYNC hadr_timeout 120

Note: Primary BANKFRS HADR service port will be 41005. Note: Standby BANKFRS HADR service port will be 42005. Warning: You cannot use the Instance TCPIP port (SVCENAME) or next port number ( SVCENAME+1) as the HADR service port. This is by design. Step 7: Configure the HADR settings for the Primary DB in DB2INST1 Type the following commands: SET DB2INSTANCE=DB2INST1 db2 update alternate server for database BANKFRS using hostname localhost port 4 1001 db2 update db cfg for BANKFRS using hadr_local_host localhost db2 update db cfg for BANKFRS using hadr_local_svc 42005 db2 update db cfg for BANKFRS using hadr_remote_host localhost db2 update db cfg for BANKFRS using hadr_remote_svc 41005 db2 update db cfg for BANKFRS using hadr_remote_inst DB2INST1 db2 update db cfg for BANKFRS using hadr_syncmode SYNC db2 update db cfg for vusing hadr_timeout 120 Note: Primary BANKFRS HADR service port will be 41005. Note: Standby BANKFRS HADR service port will be 42005. Warning: You cannot use the Instance TCPIP port (SVCENAME) or next port number ( SVCENAME+1) as the HADR service port. This is by design.

Now, you are ready to test the configuration. Step 8: Start HADR on Standby DB IN DB2INST2 SET DB2INSTANCE=DB2INST2 db2 START HADR ON DB BANKFRS AS STANDBY Step 9: Start HADR on Primary DB IN DB2INST1 SET DB2INSTANCE=DB2INST1 db2 START HADR ON DB BANKFRS AS PRIMARY Step 10: Take over the Primary Role to Standby Instance SET DB2INSTANCE=DB2INST2 db2 TAKEOVER HADR ON DB BANKFRS Step 11: Take back the Primary Role from Standby Instance

SET DB2INSTANCE=DB2INST1 db2 TAKEOVER HADR ON DB BANKFRS Step 12: Stop the HADR service on Primary DB SET DB2INSTANCE=DB2INST1 db2 STOP HADR ON DB BANKFRS Step 13: Stop the HADR service on Standby DB SET DB2INSTANCE=DB2INST2 db2 deactivate db BANKFRS db2 STOP HADR ON DN BANKFRS

General Notes: You can invoke the HADR wizard from the DB2 Control Center by right clicking on the specific database and select "High Availability and Disaster Recovery" -> Se tup You can monitor the HADR status on the database by using the database snapshot m onitor. "db2 get snapshot for database on BANKFRS" Posted by Eddy Lee Sin Ti at 10:20 PM Labels: DB2, HA, Process, Tips and Tricks, Work 3 comments: BALA said... Nice nice .. thanks a lot... needed topics to queries tunning March 9, 2011 1:42 PM ShallowThunker said... Good post. Very helpful. Just three small corrections: There are two "Step 7" instructions. The second should really be step 8 (sub sequent step numbers should be incremented by one) and instance name should be D B2INST2 in the step header and the "SET DB2INSTANCE=" command. The last command in the second "Step 7" should be changed from "db2 update d b cfg for vusing hadr_timeout 120 " to "db2 update db cfg for BANKFRS using hadr_timeout 120". The last step in the original "Step 13" should be changed from "db2 STOP HAD R ON DN BANKFRS" to "db2 STOP HADR ON DB BANKFRS" Thanks for the post. May 19, 2011 5:41 PM Norberto said... Thanks for your post, very helpful. December 14, 2011 9:38 AM

S-ar putea să vă placă și