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