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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值