DB2-HADR搭建

发布时间:2020-05-28 09:39:01 作者:hxx_BL
来源:网络 阅读:747

DB2-HADR搭建

1、系统环境搭建

系统版本:CentOS-6.7-x86_64-bin-DVD1  

1、选择 minimal

2、安装完成配置IP、主机名 (/etc/hosts  /etc/sysconfig/network  改为相同主机名)

数据库版本:v9.7fp7_linuxx64_server.tar

3、在centos-6.7系统下安装好主库 erpdb、和从库实例  

4、同步时间  ntpdate asia.pool.ntp.org  (可不做,看具体时间而定)

5、安装scp   yum install -y openssh-clients (可不做,为了传备份集而做)

以下实验以数据库devdb47为主库,devdb49为备库: 

1、备份主库

db2 backup db devdb47

2、将备份集传于从库

scp xxx(备份集) 172.16.0.49:/home/db2inst1 

3、从库还原备份集

db2 restore db devdb47

4、配置通讯端口

主从都修改

vi  /etc/service

添加 db2h_erpinst1 70000/tcp

5、主从参数配置   参数具体含义看最下解释

主库:

db2 update db cfg for devdb47 using hadr_local_host PrimaryNode-1

db2 update db cfg for devdb47 using hadr_local_svc db2h_erpinst1

db2 update db cfg for devdb47 using hadr_remote_host PrimaryNode-2

db2 update db cfg for devdb47 using hadr_remote_svc db2h_erpinst1

db2 update db cfg for devdb47 using hadr_remote_inst db2inst1

db2 update db cfg for devdb47 using logindexbuild on

db2 update db cfg for devdb47 using indexrec restart

db2 update db cfg for devdb47 using hadr_syncmode SUPERASYNC

从库:

db2 update db cfg for devdb47 using hadr_local_host PrimaryNode-2

db2 update db cfg fordevdb47 using hadr_local_svc db2h_erpinst1

db2 update db cfg for devdb47 using hadr_remote_host PrimaryNode-1

db2 update db cfg for devdb47 using hadr_remote_svc db2h_erpinst1

db2 update db cfg for devdb47 using hadr_remote_inst db2inst1

db2 update db cfg for devdb47 using logindexbuild on

db2 update db cfg for devdb47 using indexrec restart

db2 update db cfg for devdb47 using hadr_syncmode SUPERASYNC

6、注册变量配置:

主库:

db2set db2_HADR_ROS=ON 

db2set db2_STANDBY_ISO=UR

#开启备库只读

从库:

db2set db2_HADR_ROS=ON

db2set db2_STANDBY_ISO=UR

7、启动主从数据库(第一次启动,切记以后启动不在使用):

从库:

db2start

db2 start HADR on db devdb47 as standby

主库:

db2start

db2 start HADR on db devdb47 as primary

查看hadr:

db2 get db cfg  for devdb47| grep HADR

10、最后主查看表空间,在用工具查看数据

db2 list tablespaces show detail

第一次启动以后的启动:(附关闭过程)

(关闭过程

取消激活主数据库以及停止数据库devdb47  

db2 list applications all    #断开所有连接

db2 terminate 

db2 deactivate db erpdb

db2stop force

(关闭过程)

取消激活备用数据库及停止数据库devdb47  

db2 list applications all   #断开所有连接

db2 terminate 

db2 deactivate db erpdb

db2stop force

以上关闭完成

开始启动过程(第一次启动后的启动):

1、db2start

2、db2 activate db devdb47  # 激活数据库

3、在主服务器上,运行以下命令以验证此服务器的 HADR 角色

      db2 get snapshot for db on devdb47| grep Role

4、在各服务器上,运行以下命令以验证数据库是否已同步

      db2 get snapshot for database on devdb47| grep State

5、查看HADR状态  (此时查看的数据不同步,插入数据后查看数据同步)

      db2pd -db erpdb   -hadr 

 

1、db2start

2、db2 activate db devdb47

3、在主服务器上,运行以下命令以验证此服务器的 HADR 角色

      db2 get snapshot for db on devdb47| grep Role

4、在各服务器上,运行以下命令以验证数据库是否已同步

      db2 get snapshot for database on devdb47| grep State

5、查看HADR状态  (此时查看的数据不同步,插入数据后查看数据同步)

      db2pd -db erpdb   -hadr  

HADR搭建完成后需要导入表结构及其数据

1、导入导出表结构(两种方法)

目标表中导出表结构:

db2look -d devdb47 -e -a -x -i db2inst1 -w db21234 -o devdb47.sql 

导入到使用表:

db2 -tvf devdb47.sql  

由于导出的数据可能不会应用到相同的数据库,所以必须先修改devdb47.sql文件中数据库名称

vi /home/db2inst1/devdb47     将devdb47修改为目前的数据库名称

DB2-HADR搭建DB2-HADR搭建

2、使用工具导出表结构 SqlDbx      后再目前数据库操作表结构

导出:

DB2-HADR搭建DB2-HADR搭建

导入:

DB2-HADR搭建

3、导出 导入表数据

导出(备份表内容):

导出全部数据:(只导出表数据  未导出表结构

db2move devdb47 EXPORT    

导出部分表:(含IP、dim、ods的所有表)

db2move devdb47 EXPORT -tn IP*,DIM*,ODS* -tc db2inst1 -l /home/db2inst1

导单表:

db2move devdb47 EXPORT -tn DIM_GAME_RESULT -tc db2inst1 -l /home/db2inst1/

导多表:

db2move devdb47 EXPORT -tn ODS_BAC_ROUND_RESULT_COMP,ODS_BAC_ROUND_RESULT_DETAIL -tc db2inst1 -l /home/db2inst1/game

导入(还原表内容):

db2move devdb47  IMPORT      (较慢)

db2move devdb47 LOAD -lo INSERT -l /home/db2inst1/  (较快)

此时就将未指定generated always选项的identity列 的数据导入了数据库,但要所有数据相同还需导入指定了generated always选项的identity列。

3、恢复指定了generated always选项的identity列 需要结合identityoverride选项进行load导入

导出:db2move devdb47 EXPORT -tn ODS_ACCOUNT_BOOK_HISTORY -tc db2inst1 -l /home/db2inst1 

#可以单独在导出,也可以直接使用已经导出的数据

导入:db2 "LOAD FROM tab98.ixf OF ixf modified BY identityoverride INSERT INTO acct.ODS_ACCOUNT_BOOK_HISTORY"

# tab98.ixf 是导出的ixf备份文件

导入成功后需要手动更新目标表中的identity字段的值。以保障下次写入数据的连续性

"alter table acct.ODS_ACCOUNT_BOOK_HISTORY alter column history_id restart with 352120"

其中tab1.ixf 为备份导出的ixf格式文件    identityoverride(将数据导入到目标表中,指定使用输入文件中标识列的值) 如要生成新的标识列则何以使用identitygnore  如下:

db2 "LOAD FROM tab1.ixf OF ixf modified BYidentitygnore INSERT INTO acct.ODS_ACCOUNT_BOOK_HISTORY

4、在进行导入数据其中有序列的列需要修改序列初始值(每次导入数据之前必须查看)

db2 select prevval for SEQ.SEQ_IP_ID from sysibm.sysdummy1 

#查看序列的当前值

db2 alter sequence SEQ.SEQ_AGENT_ID restart with 5000649

#修改序列的起始值

db2 values next value for SEQ.SEQ_AGENT_ID

#序列的下一个值(执行就会到下一个值)

此时可以对主库进行操作,查看从库是否同步

SELECT max(OP_ID) FROM U_OPERATOR

查看最大值

select NEXT VALUE for MAMA.SEQ_U_OPERATOR_OP_ID from sysibm.sysdummy1 

查看下一个值

alter sequence MAMA.SEQ_U_OPERATOR_OP_ID restart with 126

修改现在起始值

=====================================================================================================

=====================================================================================================

(HADR) 复制的操作:

高可用性灾难恢复 (HADR) 使用数据库日志将数据从主数据库复制到备用数据库。在备用数据库上重放日志时,某些活动可能会导致备用数据库落后于主数据库。某些活动要进行大量记录,它们生成的大量日志文件可能会导致存储问题。虽然使用日志将数据复制到备用数据库是可用性策略的核心,但记录本身可能会对解决方案的可用性产生负面影响。合理设计维护策略,配置系统以尽可能降低日志记录的负面影响,并允许日志记录保护您的事务数据。

=========================================================================================================

=========================================================================================================

HADR的同步方式:

目前使用的是: SUPERASYNC (超级异步)

#db2 update db cfg for devdb47 using hadr_syncmode SUPERASYNC

1、SYNC(同步) #当日志写入到主数据库,且主收到备库应答,已经写入到备库,则成功,确保主 备同时存储

#此方式将最大可能地避免事务丢失,但使用此方式会导致事务响应时间最长,

2、NEARSYNC(接近同步)#当日志写入到主数据库,且主收到备库应答,已经写入到备库,则成功,确保主 备同时存储仅当两处同时发生故障,并且目标位置未将接收到的所有日志数据转移至非易失性存储器时,才会出现数据的丢失

此方式具有比同步方式更短的事务响应时间,但针对防止事务丢失的能力也相对较低

3、ASYNC(异步)#仅当日志记录已写入主数据库上的日志文件,而且已将这些记录传递给主系统主机的 TCP 层时,才认为日志写操作是成功的,不用等待备库的确认。

4、SUPERASYNC(超级异步)#HADR 对永远不会处于对等状态或断开连接的对等状态,一旦数据写入主 就认为是成功

具有最短的事务响应时间,但如果主系统发生故障,那么丢失事务的可能性也最大。如果您不希望事务因为网络中断或拥塞而导致阻塞或经历较长的响应时间,那么此方式很有用

HADR同步的几中状态:






















附件:http://down.51cto.com/data/2366625
推荐阅读:
  1. DNS搭建
  2. gitlab搭建

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

db2-hadr搭建 had %d

上一篇:CentOS6.0最小化安装系统后搭建nagios监控平台

下一篇:Linux-Mycat-安装配置

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》