DB2High Availability Disaster Recovery(HADR) 是一个简单易用的数据复制特性,该特性为局部和全面站点故障提供一个高可用性(HA)解决方案。HADR(高可用性灾难恢复)是DB2数据库的一个组件,是DB2提供给用户的一种高可用性和灾难恢复的解决方案。组成HADR需要一对机器,一个主机和一个备机。它的基本原理是主机将数据库产生的日志通过网络传输到备机,然后备机将这些日志重新应用,整个过程类似于前滚恢复。从而保证主机和备机数据库的一致。当主机发生意外停机以后,例如停电或者灾难等,备机可以很快的接替主机继续工作。从DB2V97FP1 开始,HADR开始支持ROS(ReadOn Standby),备机除了做备份数据库以外,还可以接收连接,执行读操作。
主库:192.168.100.101 CM01
备库:192.168.100.102 CM11
使用db2sampl命令创建样本db
db2sampl
打开主库日志归档模式
db2 update db cfg for
注:上面的命令将启用数据库以进行日志归档,并将日志保留在同一活动日志目录中。这还将使数据库处于备份挂起状态。
进行离线备份
db2 "backup database
注意:离线备份不是必需的。也可以使用在线备份。但是,在线备份可能需要更长的时间才能使HADR对进入对等状态。为了简单起见,我们在这里使用离线备份。
在主数据库上设置HADR cfg参数
db2 update db cfg for
db2 update db cfg for
db2update db cfg for
db2 update db cfg for
db2 update db cfg for
db2update db cfg for
进行脱机备份以用于设置HADR
db2 "backup database
版本一致
确保两个服务器都在同一版本上,以免发生不匹配的情况。在两个服务器上运行“ db2level”命令,以检查它们是否在相同的DB2版本和修订包中。
通过FTP将备份映像(从主机)传输到备机
备库进行恢复
db2 "restore database DBNAME"
在备用数据库上设置HADR cfg参数。
db2 update db cfg for
db2 update db cfgfor
db2update db cfg for
db2 update db cfg for
db2 update db cfg for
启动备机
db2 start hadr on database
在主服务器上启动HADR
db2 start hadr on database
--验证HADR是否运行
db2pd -db
1. ON PRIMARY (CM01):
db2 connect to
2. ONPRIMARY (CM01):
db2 "create table tab1 (col1 int)"
3.ON PRIMARY (CM01):
db2 "insert into tab1 values (1)"-insert 20 rows
4. ON PRIMARY (CM01):
power down the Primary --> db2stopforce
5. ON STANDBY (CM11):
db2 takeover hadr on database
6. The STANDBY instance on CM11 (DB2) is now theprimary
7. ON CM11:
db2pd -db
8. ON CM11:
db2 connect to
9. ONCM11:
db2 "select * from tab1" -Youshould see the 20 rows inserted
10. ON CM11:
db2 "create table tab2 (col1int)"
11. ON CM11:
db2 "insert into tab2 values (1)"-insert about 20 rows
12. ON CM01:
db2 start hadr on database
13. ON CM01:
db2pd -db
14. on CM01:
db2 takeover hadr on database
15.on CM01:
db2pd -db
16. ON CM01:
db2 "select * from tab2" -youshould be able to see the 20 rows inserted
17. on CM11:
db2pd -db
注意:
1.两台服务器上的HADR对的主机名不能相同。
2.UNIX系统上的实例名称和基础用户ID可以不同。确保将dbcfg参数HADR_REMOTE_INST的实例的正确名称更新为正确的值。
1.SYNC(同步)
在四种方式中,此方式将最大可能地避免事务丢失,但使用此方式会导致事务响应时间最长。在此方式中,仅当日志已写入主数据库上的日志文件,而且主数据库已接收到来自备用数据库的应答,确定日志也已写入备用数据库上的日志文件时,方才认为日志写入是成功的。保证日志数据同时存储在这两处。
2.NEARSYNC(接近同步)
此方式具有比同步方式更短的事务响应时间,但针对事务丢失提供的保护也较少。在此方式中,仅当日志记录已写入主数据库上的日志文件,而且主数据库已接收到来自备用系统的应答,确定日志也已写入备用系统上的主存储器时,方才认为日志写入是成功的。仅当两处同时发生故障,并且目标位置未将接收到的所有日志数据转移至非易失性存储器时,才会出现数据的丢失。
3.ASYNC(异步)
与SYNC和NEARSYNC方式相比,ASYNC方式使事务响应时间更短,但在主数据库出现故障时,导致事务丢失的可能性更大。
在ASYNC方式下,仅当日志记录已写入主数据库上的日志文件,并且已传递到主系统的主机的TCP层时,才认为日志写入成功。因为主系统不会等待来自备用系统的确认,所以当事务仍处于正在传入备用数据库的过程中时,可能会认为事务已落实。
4.SUPERASYNC(超级异步)
此方式具有最短的事务响应时间,但在主系统出现故障时,此方式导致事务丢失的可能性也最大。当您不希望事务由于网络中断或拥塞而受到阻塞或经历较长的响应时间时,此方式很有用。
在此方式下,HADR对永远不会处于对等状态或断开连接的对等状态。只要日志记录已写入主数据库上的日志文件,就认为日志写入成功。由于主数据库不会等待来自备用数据库的确认,所以无论事务的复制状态如何,都会认为已落实该事务。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/130117.html
摘要:文章共字,阅读大约需要分钟概述在如今海量数据充斥的互联网环境下,分库分表的意义我想在此处就不用赘述了。 showImg(https://segmentfault.com/img/remote/1460000017453449); 文章共 1796字,阅读大约需要 4分钟 ! 概 述 在如今海量数据充斥的互联网环境下,分库分表的意义我想在此处就不用赘述了。而分库分表目前流行的方案最起码...
摘要:下面基于,带着大家看一下中如何配置多数据源。注意版本不一致导致的一些小问题。配置配置两个数据源数据库和数据库注意事项在配置数据源的过程中主要是写成和。五启动类此注解表示启动类这样基于的多数据源配置就已经完成了,两个数据库都可以被访问了。 在上一篇文章《优雅整合 SpringBoot+Mybatis ,可能是你见过最详细的一篇》中,带着大家整合了 SpringBoot 和 Mybatis...
摘要:多数据源,一般用于对接多个业务上独立的数据库可能异构数据库。这也就导致异构数据库的检查也是类似问题。内容略数据源多数据源,涉及到异构数据库,必须明确指定,否则的转换出错取值内容可参考初始连接数最大连接池数量。 开篇之前,说一句题外话。多数据源和动态数据源的区别。 多数据源,一般用于对接多个业务上独立的数据库(可能异构数据库)。 动态数据源,一般用于大型应用对数据切分。 配置参考 如...
阅读 1347·2023-01-11 13:20
阅读 1686·2023-01-11 13:20
阅读 1133·2023-01-11 13:20
阅读 1861·2023-01-11 13:20
阅读 4104·2023-01-11 13:20
阅读 2705·2023-01-11 13:20
阅读 1386·2023-01-11 13:20
阅读 3599·2023-01-11 13:20