【IT168 技术文档】前言
在一些实时性要求高的行业,数据库系统的高可用性和灾难恢复一直是备受关注的。本文旨在通过介绍DB2 HADR的功能和基本的工作原理,并且通过一个实例(在单机环境中快速实践DB2-HADR),使您能更好的学习和了解DB2 HADR的功能和基本的工作原理,你可以在这个环境中作一些简单DB2 HADR的练习和测试,并真心希望本文能够为您在学习和应用DB2 HADR在您的数据库系统的高可用性灾难恢复方面提供一些帮助。
DB2 HADR简介
High Availability Disaster Recovery (HADR)是数据库级别的高可用性数据复制机制,HADR 实现是基于 HDR 的 Informix 实现的(是数据库中高可用性灾难恢复相对比较成熟的功能)。本质上讲,HADR 是一种日志传送功能(DB2 UDB 现在支持这种功能),但它传送的不是固化的磁盘上的日志,而是日志缓冲区中的日志。这种方法提供了充分的粒度来满足解决方案的高可用性需求。HADR 复制发生在数据库层。
在生产环境下,HADR环境需要两台数据库服务器:主数据库服务器(primary)和备用数据库服务器(standby)。当主数据库中发生事务操作时,会同时将日志文件通过TCP/IP协议传送到备用数据库服务器,然后备用数据库对接受到的日志文件进行重放(Replay),从而保持与主数据库的一致性。当主数据库发生故障时,备用数据库服务器可以接管主数据库服务器的事务处理。此时,备用数据库服务器作为新的主数据库服务器进行数据库的读写操作,而客户端应用程序的数据库连接可以通过自动客户端重新路由(Automatic Client Reroute)机制转移到新的主服务器。当原来的主数据库服务器被修复后,又可以作为新的备用数据库服务器加入HADR。通过这种机制,DB2 UDB实现了数据库的灾难恢复和高可用性,最大限度的避免了数据丢失。下图为DB2 HADR的工作原理图:
