`
guoyanxi
  • 浏览: 277458 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

搭建简单的DB2 HADR

    博客分类:
  • db2
 
阅读更多
简单的HADR,只用一台虚拟机,两个实例间搭建。工作量不大,一般5分钟左右能够完成。
步骤:
1.设定归档模式
2.使用备份建立standby数据库
3.设定hadr相关的参数
4.启动并测试

环境:
Server: 127.0.0.1
Primary instance: db2inst4
Primary service/port: 42099
Standby instance: db2inst5
Standby service/port: 41099
DB name: SAMPLE
--注意,切勿使用与DBM SVCENAME 太接近的端口,因为实例会默认使用那端口之后的连续几个端口,所以应尝试更远一些的端口


1.设定归档模式
--在Primary:
--启用归档模式
[db2inst4@localhost instance]$ db2 update db cfg for SAMPLE using LOGRETAIN on
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.

--启用LOGINDEXBUILD,以便日志有关索引的操作
[db2inst4@localhost instance]$ db2 update db cfg for SAMPLE using LOGINDEXBUILD on
DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully.


2.使用备份建立standby数据库
--备份primary
[db2inst4@localhost arch]$ db2 list db directory

 System Database Directory

 Number of entries in the directory = 1

Database 1 entry:

 Database alias                       = SAMPLE
 Database name                        = SAMPLE
 Local database directory             = /home/db2inst4
 Database release level               = d.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =

[db2inst4@localhost arch]$ db2 backup db sample to /arch

Backup successful. The timestamp for this backup image is : 20110430101950
[db2inst4@localhost arch]$ ls -atrl 
total 135208
drwxr-x---  3 db2inst1 db2iadm1      4096 Dec  8 12:12 db2inst1
drwxr-xr-x 27 root     root          4096 Apr 22 23:45 ..
drwxrwxrwx  3 root     root          4096 Apr 30 10:19 .
-rw-------  1 db2inst4 db2iadm1 138297344 Apr 30 10:20 SAMPLE.0.db2inst4.NODE0000.CATN0000.20110430101950.001

--注意修改备份文件属性,以便standby实例能够访问
[db2inst4@localhost arch]$ chmod 777 SAMPLE.0.db2inst4.NODE0000.CATN0000.20110430101950.001

--在standby:
[db2inst5@localhost ~]$ db2 restore db sample from /arch/ on /home/db2inst5/
DB20000I  The RESTORE DATABASE command completed successfully.
[db2inst5@localhost ~]$ db2 list db directory

 System Database Directory

 Number of entries in the directory = 1

Database 1 entry:

 Database alias                       = SAMPLE
 Database name                        = SAMPLE
 Local database directory             = /home/db2inst5
 Database release level               = d.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =

--这时候standby的数据库应该是roll-forward pedning的状态,切勿手动roll-forward
[db2inst5@localhost ~]$ db2 connect to SAMPLE
SQL1117N  A connection to or activation of database "SAMPLE" cannot be made 
because of ROLL-FORWARD PENDING.  SQLSTATE=57019


3.设定hadr相关的参数
--在Primary:
db2 update db cfg for sample using HADR_LOCAL_HOST 127.0.0.1
db2 update db cfg for sample using HADR_LOCAL_SVC 42099
db2 update db cfg for sample using HADR_REMOTE_HOST 127.0.0.1
db2 update db cfg for sample using HADR_REMOTE_SVC 41099
db2 update db cfg for sample using HADR_REMOTE_INST db2inst5
db2 update db cfg for sample using HADR_SYNCMODE SYNC
db2 update db cfg for sample using HADR_TIMEOUT 3
db2 update db cfg for sample using HADR_PEER_WINDOW 120
db2 connect to sample
db2 quiesce database immediate force connections
db2 unquiesce database
db2 connect reset

--在Standby:
db2 update db cfg for sample using HADR_LOCAL_HOST 127.0.0.1
db2 update db cfg for sample using HADR_LOCAL_SVC 41099
db2 update db cfg for sample using HADR_REMOTE_HOST 127.0.0.1
db2 update db cfg for sample using HADR_REMOTE_SVC 42099
db2 update db cfg for sample using HADR_REMOTE_INST db2inst4
db2 update db cfg for sample using HADR_SYNCMODE SYNC
db2 update db cfg for sample using HADR_TIMEOUT 3
db2 update db cfg for sample using HADR_PEER_WINDOW 120



4.启动并测试
--先启动standby
--在Standby:
[db2inst5@localhost ~]$ db2 start hadr on db sample as standby
DB20000I  The START HADR ON DATABASE command completed successfully.

--这时候应该是remote catchup pending的状态:
[db2inst5@localhost ~]$ db2pd -d sample -hadr

Database Partition 0 -- Database SAMPLE -- Standby -- Up 0 days 00:03:44

HADR Information:
Role    State                SyncMode HeartBeatsMissed   LogGapRunAvg (bytes)
Standby RemoteCatchupPending Sync     0                  1                   

ConnectStatus ConnectTime                           Timeout   
Disconnected  Sat Apr 30 14:09:54 2011 (1304143794) 3         

PeerWindowEnd                         PeerWindow
Null (0)                              120       

LocalHost                                LocalService      
127.0.0.1                                41099             

RemoteHost                               RemoteService      RemoteInstance    
127.0.0.1                                42099              db2inst4          

PrimaryFile  PrimaryPg  PrimaryLSN        
S0000000.LOG 0          0x0000000002AC24A1

StandByFile  StandByPg  StandByLSN         StandByRcvBufUsed
S0000000.LOG 0          0x0000000002AC24A1 0%  

--再启动Primary
--在Primary:
[db2inst4@localhost ~]$ db2 start hadr on database sample as primary
DB20000I  The START HADR ON DATABASE command completed successfully.
[db2inst4@localhost ~]$ db2pd -d sample -hadr

Database Partition 0 -- Database SAMPLE -- Active -- Up 0 days 00:00:15

HADR Information:
Role    State                SyncMode HeartBeatsMissed   LogGapRunAvg (bytes)
Primary Peer                 Sync     0                  0                   

ConnectStatus ConnectTime                           Timeout   
Connected     Sat Apr 30 14:14:14 2011 (1304144054) 3         

PeerWindowEnd                         PeerWindow
Sat Apr 30 14:16:26 2011 (1304144186) 120       

LocalHost                                LocalService      
127.0.0.1                                42099             

RemoteHost                               RemoteService      RemoteInstance    
127.0.0.1                                41099              db2inst5          

PrimaryFile  PrimaryPg  PrimaryLSN        
S0000002.LOG 0          0x0000000003288861

StandByFile  StandByPg  StandByLSN        
S0000002.LOG 0          0x0000000003288861

--可以看到一旦Primary也起来了,hadr的状态就会变成peer

--这时候尝试手动归档,看日志是否能够顺利传递到standby
[db2inst4@localhost ~]$ db2 archive log for DB sample
DB20000I  The ARCHIVE LOG command completed successfully.

--在Standby观察
[db2inst5@localhost ~]$ db2pd -d sample -hadr

Database Partition 0 -- Database SAMPLE -- Standby -- Up 0 days 00:05:25

HADR Information:
Role    State                SyncMode HeartBeatsMissed   LogGapRunAvg (bytes)
Standby Peer                 Sync     0                  0                   

ConnectStatus ConnectTime                           Timeout   
Connected     Sat Apr 30 14:14:14 2011 (1304144054) 3         

PeerWindowEnd                         PeerWindow
Sat Apr 30 14:17:18 2011 (1304144238) 120       

LocalHost                                LocalService      
127.0.0.1                                41099             

RemoteHost                               RemoteService      RemoteInstance    
127.0.0.1                                42099              db2inst4          

PrimaryFile  PrimaryPg  PrimaryLSN        
S0000003.LOG 0          0x000000000366BA41

StandByFile  StandByPg  StandByLSN         StandByRcvBufUsed
S0000003.LOG 0          0x000000000366BA41 0%  

--两边当前日志都是S0000003.LOG,测试成功
分享到:
评论
1 楼 Yiwu_zh 2013-10-28  
步骤清晰,跟着来做,真搭建好了
不过用的是10.5版本,输出有点不一样

相关推荐

    DB2 HADR多备机配置

    在DB2数据库管理中,HADR(High Availability Disaster Recovery)是一种用来提高数据库可用性和灾难恢复能力的关键技术。HADR通过建立数据库主节点(主要数据库)与一个或多个从节点(备用数据库)之间的实时数据...

    Linux DB2安装及配置TSA+HADR

    在本教程中,我们将深入...通过以上步骤,你将在Red Hat 7.4上成功搭建了DB2数据库的高可用环境,结合TSA和HADR,可以提供强大的数据保护和业务连续性保障。记住,定期备份和维护是确保系统稳定性和数据安全的关键。

    db2 HADR最佳实践

    本文介绍了HADR的原理、配置要求、调优方法和故障转移机制,旨在帮助读者搭建和维护一个高可用的数据库环境。通过遵循最佳实践,可以确保HADR带来的高可用性与业务需求之间的最佳平衡。在实际操作过程中,应充分考虑...

    DB2 V9/10 HADR 数据库部署

    通过上述步骤,不仅能够成功搭建DB2 V9/V10 HADR环境,还能根据实际情况调整相关配置,提高系统的可用性和稳定性。在实际应用中,还需要根据具体需求进一步优化HADR的配置,以达到最佳性能表现。

    DB2实战手册

    DB2是IBM开发的一款关系型数据库管理系统,广泛应用于企业级数据存储、管理和分析。本《DB2实战手册》旨在提供全面且深入的DB2知识,帮助读者从理论到实践掌握这款强大的数据库系统。 一、DB2概述 DB2是IBM公司推出...

    DB2purescale、锁、高可用性等资料

    #### 一、HADR 搭建步骤 - **规划阶段**:确定主备节点的位置、网络配置等。 - **安装配置**:在主备节点上安装 DB2,并进行相应的配置。 - **建立 HADR 关系**:使用 DB2 命令建立主备关系,并配置同步参数。 - **...

Global site tag (gtag.js) - Google Analytics