文档库 最新最全的文档下载
当前位置:文档库 › DB2安装及HADR配置手册 V1.0

DB2安装及HADR配置手册 V1.0

DB2安装及HADR配置手册 V1.0
DB2安装及HADR配置手册 V1.0

DB2安装操作手册一、数据库的安装db2 V10.5:

安装ESE版本数据库:./db2setup

使用图形化安装步骤:

密码:password

二、HADR配置

mkdir -p /home/db2inst1/db2_backup

mkdir -p /home/db2inst1/db2_archive

mkdir -p /home/db2inst1/db2_log

chmod -R 775 /home/db2inst1/db2_backup

chmod -R 775 /home/db2inst1/db2_archive

chmod -R 775 /home/db2inst1/db2_log

chown -R db2inst1:db2inst1 /home/db2inst1/db2_backup

chown -R db2inst1:db2inst1/home/db2inst1/db2_archive

chown -R db2inst1:db2inst1 /home/db2inst1/db2_log

2.1、服务和端口配置(注意HADR服务端口和实例端口要区分开)

DB2_HADR_1 55110/tcp

DB2_HADR_2 55111/tcp

db2 get dbm cfg | grep -i SVCENAME

db2 update dbm cfg using SVCENAME DB2_db2inst1

db2 update database manager configuration using svcename DB2_HADR _1(自定义名称)

主库

db2 update dbm cfg using SVCENAME 55110

备库

db2 update dbm cfg using SVCENAME 55111

UPDATE ALTERNATE SERVER FOR DATABASE SAMPLE USING HOS TNAME 192.168.12.107 PORT 50000

UPDATE ALTERNATE SERVER FOR DATABASE SAMPLE USING HOS TNAME 192.168.12.108 PORT 50000

2.2、开启归档模式(主库和备库都操作)

先修改归档参数,做离线备份,重启数据库后,手工测试归档

主库

db2 update db cfg for sample using logarchmeth1 disk:/home/db2inst1/db 2_archive/

db2 update db cfg for sample using NEWLOGPATH /home/db2inst1/db2_ log

db2 force applications all

db2 backup db sample to /home/db2inst1/db2_backup/

db2stop force;db2start

db2 archive log for db sample

SQL1116N A connection to or activation of database "SAMPLE" failed b ecause

the database is in BACKUP PENDING state. SQLSTATE=57019

备库:

db2 update db cfg for sample using logarchmeth1 disk:/home/db2inst1/db 2_archive/

db2 update db cfg for sample using NEWLOGPATH /home/db2inst1/db2_ log

db2 force applications all

db2 backup db sample to /home/db2inst1/db2_backup/

db2stop force;db2start

db2 archive log for db sample

2.3、备份和还原从库

主库离线全备份

1.db2 backup database sample to /home/db1inst1/db2_backup

3.scp /home/db2inst1/db2_backup/SAMPLE.0.db2inst1.DBPART000.201712 2016540

4.001 db2inst1@192.168.12.108:/home/db2inst1/db2_backup/

备库还原数据

db2 restore database sample from "/home/db2inst1/db2_backup/" taken a t 20171220165404 replace history file

2.SQL2523W Warning! Restoring to an existing database that is different from

3.the database on the backup image, but have matching names. The tar get database

4.will be overwritten by the backup version. The Roll-forward recovery lo gs

5.associated with the target database will be deleted.

6.Do you want to continue ? (y/n) y

7.DB20000I The RESTORE DATABASE command completed successfull y.

2.4、主库参数配置

db2 get db cfg for sample | grep -i HAD

R

[db2inst1@107-sqlcheck db2_backup]$ db2 get db cfg for sample | grep -i HADR

HADR database role = STANDARD

HADR local host name (HADR_LOCAL_HOST) =

HADR local service name (HADR_LOCAL_SVC) =

HADR remote host name (HADR_REMOTE_HOST) =

HADR remote service name (HADR_REMOTE_SVC) =

HADR instance name of remote server (HADR_REMOTE_INST) =

HADR timeout value (HADR_TIMEOUT) = 120

HADR target list (HADR_TARGET_LIST) =

HADR log write synchronization mode (HADR_SYNCMODE) = NEARS YNC

HADR spool log data limit (4KB) (HADR_SPOOL_LIMIT) = AUTOMAT IC(0)

HADR log replay delay (seconds) (HADR_REPLAY_DELAY) = 0

HADR peer window duration (seconds) (HADR_PEER_WINDOW) = 0 db2 update db cfg for sample using HADR_LOCAL_HOST 192.168.12.1 08

db2 update db cfg for sample using HADR_LOCAL_SVC DB2_HADR_2 db2 update db cfg for sample using HADR_REMOTE_HOST 192.168.12. 107

db2 update db cfg for sample using HADR_REMOTE_SVC DB2_HADR_ 1

db2 update db cfg for sample using HADR_REMOTE_INST db2inst1

db2 update db cfg for sample using HADR_SYNCMODE NEARSYNC

db2 update db cfg for sample using HADR_TIMEOUT 120

备库参数配置

db2 get db cfg for sample | grep -i HADR

db2 update db cfg for sample using HADR_LOCAL_HOST 192.168.12.10 8

db2 update db cfg for sample using HADR_LOCAL_SVC DB2_HADR_2 db2 update db cfg for sample using HADR_REMOTE_HOST 192.168.12. 107

db2 update db cfg for sample using HADR_REMOTE_SVC DB2_HADR_ 1

db2 update db cfg for sample using HADR_REMOTE_INST db2inst1

db2 update db cfg for sample using HADR_SYNCMODE NEARSYNC

db2 update db cfg for sample using HADR_TIMEOUT 120

db2 get db cfg for sample | grep -i HADR

启动HADR

先启动备库

standby端的数据库通过primary端的数据库恢复来,恢复后必须是roll forward-pending状态,

restore中不能使用without rolling forward,启动备库之前先确定这个状态

备库状态确认

db2 get db cfg for sample | grep Rollforward

Rollforward pending = DATABASE

相比于主库:

db2 get db cfg for sample | grep Rollforward

Rollforward pending = NO

启动备库

db2 start hadr on database sample as standby

[db2inst2@kvm111 ~]$ db2 start hadr on database sample as standby SQL1766W The command completed successfully. However, LOGINDEX BUILD was not

enabled before HADR was started.

查看HADR状态-目前只有备库,状态是disconnected

启动主库

db2 deactivate database sample

db2 start hadr on database sample as primary

现在主库和备库已经建立连接,HADR实验环境部署完成

db2 get snapshot for db on sample | grep -A 15 "HADR Status"

db2 get snapshot for db on hadb01 | grep -A 15 "HADR Status"

SQL1768N

未能启动HADR。原因码= reason-code。

说明:

与原因码对应的解释是:

1 不可恢复数据库,这是因为正在使用循环日志记录。

2 数据库启用了无限活动日志记录。

3 数据库启用了DATALINKS。

4 HADR_LOCAL_HOST 配置参数与本地主机名不匹配。

5 HADR_LOCAL_SVC 配置参数是无效服务名称。

6 HADR_REMOTE_SVC 配置参数是无效服务名称。

7 在HADR 超时时间间隔内,主数据库未能与它的备用数据库建立连接。

8 一个或多个HADR 数据库配置参数没有任何值。

9 数据库配置为使用原始日志。但是,HADR 不支持对数据库日志文件使用原始I/O(直接磁盘存取)。

10 命令由于STOP HADR 命令、取消激活数据库或内部错误而被HADR 关闭所中断。

98 未安装有效的HADR 许可证。命令未成功完成。

99 在HADR 启动期间发生了内部错误。

用户响应:

与原因码对应的用户响应是:

1 数据库必须是可恢复的数据库。激活日志归档或者打开LOGRETAIN,然后重新发出该命令。

2 禁用无限活动日志记录并重新发出该命令。

3 将数据库管理器配置参数DATALINKS 设置为NO 并重新发出该命令。

4 将HADR_LOCAL_HOST 设置更正为与本地主机名相匹配。

5 确保HADR_LOCAL_SVC 配置参数是有效的服务名称。对于Unix 平台,编辑/etc/services 文件。对于Windows,编辑%SystemRoot%\system32\dr ivers\etc\services。另外,可以为此参数指定文字端口号。

6 确保HADR_REMOTE_SVC 配置参数是有效服务名称。对于Unix 平台,编辑/etc/services 文件。对于Windows,编辑%SystemRoot%\system32\dr ivers\etc\services。另外,可以为此参数指定文字端口号。

7 检查备用数据库上的远程主机和远程服务参数。确保备用数据库是联机的,并且网络在起作用。如果网络速度太慢,则还要考虑增大HADR_TIMEOUT 配置参数,或者使用BY FORCE 选项来启动主数据库。

8 确保一个或多个HADR 数据库配置参数具有值。

9 将数据库重新配置为对日志文件只使用文件系统存储器,而不是使用原始I/ O(直接磁盘存取)设备。参阅DB2 信息中心中有关logpath 和newlogpath 数据库配置参数的讨论。

10找出HADR 关闭的原因,如有必要,重新发出START HADR 命令。

98 获取并安装有效的HADR 许可证,然后重新提交该命令。

99 如果问题仍然存在,请与“IBM 支持机构”联系。

有时候我们会希望让一个实例下的某个数据库停止对外提供服务,而不影响其它的数据库,

这时就需要停止单个数据库。

方法总结如下:

一种方法是:

使用quiense database停止单个数据库:

如果连上来的用户不是sysadm中的一员,你可用instance用户连接上数据库,然后用

db2 quiesce db IMMEDIATE FORCE CONNECTIONS

然后

db2 reset 或者db2 terminate

然后

deactivate db

办完事后,记得用db2 unquiesce db来恢复其对外连接。

具体流程如下:

db2 connect to sample

db2 quiesce db immediate force connections

db2 terminate

db2 deactivate db sample

db2 connect to sample

db2 unquiesce db

注意:

QUIESCE DATABASE 后,仅有sysadm, sysmaint, dbadm, 或sysctrl 用户可以访问数据库。

另一种方法:

停止访问:

db2 uncatalog database sample

db2 terminate

启动访问:

db2 catalog database sample

db2 terminate

db2 connect to sample

相关文档