DB2--HADR

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Page1HighAvailabilityDisasterRecovery(HADR)●目标定位–针对在线交易●需求–24x7可用●解决方案–离线灾备:–在线热备:●价值–业务不被中断–容易使用–客户端自动切换OffsiteDisasterRecoveryOnsiteStandbyHADRPrimaryDatabaseServerStandbyDatabaseServerHTTP&App.ServersStandbyHTTP&App.ServersTorontoPortlandClientHADRPrimaryDatabaseServerStandbyDatabaseServerApplicationServerAutomaticReroutePage2什么是HADR?●DB2HADR特性采用InformixHDR技术●采用日志复制技术(快速切换和灾难恢复)●Informix“HDR”=“HighAvailabilityDataReplication”●IBM“HADR”=“HighAvailabilityDisasterRecovery”(在DB2中“Replication”=“DataPropagator”)Page3HighAvailabilityDisasterRecovery●DB2HighAvailabilityDisasterRecovery(HADR)针对高可用性提供易用的解决方案●HADR将主系统(primary)的数据的变化复制到–使用同步模式,HADR保证在主系统的交易提交后,在从系统也提交成功–HADR允许在两个系统之间进行失败切换–HADR要求两系统间,同样的硬件,操作系统,DB2软件(小版本可以不同)●HADR通过传递日志进行数据变化的同步Page4客户端自动切换●当服务器宕掉后,每个客户端都能收到一个通讯错误并导致应用错误–DB2UDB客户端将尝试自动再次建立连接以前的服务器或新的服务器–当连接建立,应用能收到一个错误提示,告诉交易失败,但是交易可以继续进行●客户端自动切换的环境:–EnterpriseServerEdition(ESE)/DataPartitioningFeature(DPF)–Dpropr-styleReplication–HighAvailabilityClusterMultiprocessor(HACMP)–HighAvailabilityDisasterRecovery(HADR)environment●LDAP也支持Page5HADR配置举例Logbased●PrimaryServer实例名:db2inst1数据库:sample端口号:5000密码:db2inst1IP:192.168.1.162主机名:dbserv1●StandbyServer实例名:db2inst1数据库:sample端口号:5000密码:db2inst1IP:192.168.1.163主机名:dbserv2Page6在primary上修改logretain为on●UPDATEDBCFGFORSAMPLEUSINGLOGRETAINON●UPDATEDBCFGFORSAMPLEUSINGTRACKMODONPage7备份数据库SAMPLE●BACKUPDBSAMPLETO/database/dbbak备份影像假设为:SAMPLE.0.db2inst1.NODE0000.CATN0000.20050726122125.001Page8在DBSERV2上恢复数据库SAMPLE●RESTOREDATABASESAMPLEFROM/database/dbbakTAKENAT20050726122125REPLACEHISTORYFILEWITHOUTPROMPTING说明:备份文件需要ftp到dbserv2上Page9配置自动客户端重新路由在主数据库服务器(DBSERV1)上:UPDATEALTERNATESERVERFORDATABASESAMPLEUSINGHOSTNAME192.168.1.163PORT50000在备用数据库服务器上(DBSERV2):UPDATEALTERNATESERVERFORDATABASESAMPLEUSINGHOSTNAME192.168.1.162PORT50000Page10配置HADR服务和侦听端口用vi编辑/etc/services文件(需要切换到root用户),加入下面两行:DB2_HADR_155001/tcpDB2_HADR_255002/tcp注:这一步不是必须的,因为在下面配置HADR_LOCAL_SVC和HADR_REMOTE_SVC数据库参数的时候您可以直接使用端口号来替代服务名。Page11修改主数据库(DBSER1-SAMPLE)的配置参数:UPDATEDBCFGFORSAMPLEUSINGHADR_LOCAL_HOST192.168.1.162UPDATEDBCFGFORSAMPLEUSINGHADR_LOCAL_SVCDB2_HADR_1UPDATEDBCFGFORSAMPLEUSINGHADR_REMOTE_HOST192.168.1.163UPDATEDBCFGFORSAMPLEUSINGHADR_REMOTE_SVCDB2_HADR_2UPDATEDBCFGFORSAMPLEUSINGHADR_REMOTE_INSTdb2inst1UPDATEDBCFGFORSAMPLEUSINGHADR_SYNCMODENEARSYNCUPDATEDBCFGFORSAMPLEUSINGHADR_TIMEOUT120CONNECTTOSAMPLEQUIESCEDATABASEIMMEDIATEFORCECONNECTIONSUNQUIESCEDATABASECONNECTRESETPage12修改备用数据库(DBSERV2-SAMPLE)的配置参数UPDATEDBCFGFORSAMPLEUSINGHADR_LOCAL_HOST192.168.1.163UPDATEDBCFGFORSAMPLEUSINGHADR_LOCAL_SVCDB2_HADR_2UPDATEDBCFGFORSAMPLEUSINGHADR_REMOTE_HOST192.168.1.162UPDATEDBCFGFORSAMPLEUSINGHADR_REMOTE_SVCDB2_HADR_1UPDATEDBCFGFORSAMPLEUSINGHADR_REMOTE_INSTdb2inst1UPDATEDBCFGFORSAMPLEUSINGHADR_SYNCMODENEARSYNCUPDATEDBCFGFORSAMPLEUSINGHADR_TIMEOUT120Page13启动HADR:首先启动备用数据库服务器的HADR:db2setDB2_HADR_ROS=ONDEACTIVATEDATABASESAMPLESTARTHADRONDATABASESAMPLEASSTANDBY然后启动主数据库服务器的HADR:DEACTIVATEDATABASESAMPLESTARTHADRONDATABASESAMPLEASPRIMARY注:如果你先启动主数据库服务器HADR,那么你必须保证在HADR_TIMEOUT参数指定的时间内(单位为秒)启动备用数据库服务器HADR。否则将启动失败。到目前为止,我们已经成功配置并启动了DB2HADRPage14HADR测试1.连接到主数据库,创建测试表HADRTEST,并插入几条测试数据:CONNECTTOSAMPLEUSERdb2inst1USINGdb2inst1CREATETABLEHADRTEST(IDINTEGERNOTNULLWITHDEFAULT,NAMEVARCHAR(10),PRIMARYKEY(ID))INSERTINTOHADRTEST(ID,NAME)VALUES(1,'张三')INSERTINTOHADRTEST(ID,NAME)VALUES(2,'李四')2.使用备份数据库接管主数据库TAKEOVERHADRONDATABASESAMPLEUSERdb2inst1USINGdb2inst1接管命令只能用在备用数据库上Page15观察数据库主数据库和备用数据库的状态:GETSNAPSHOTFORDBONSAMPLE新的主数据库(原备用数据库):Page16●备用数据库(原主数据库):Page17连接到新的主数据库,并查询HADRTEST表Page18HADR管理操作●启动和停止HADR使用STARTHADR命令启动主数据库和备用数据库的HADR。启动主数据库使用ASPRIMARY子句,启动备用数据库使用ASSTANDBY子句。如果想以其他用户启动HADR,可以通过USERuser-nameUSINGpassword子句指定用户名和密码:例子:starthadrondatabasesampleusingdb2inst1usingdb2inst1asstandby在启动主数据库的HADR时,如果在数据库HADR_TIMEOUT所指定的时间内未能建立与备用数据库HADR的连接,启动将失败。这时候,你可以等排除故障并成功启动备用数据库HADR后再启动主数据库HADR,也可以通过指定BYFORCE子句强行启动主数据库。例如:starthadrondatabasesampleasprimarybyforce使用STOPHADR停止主数据库和备用数据库的HADRPage19接管/故障转移HADR提供两种接管方式:●紧急接管:当主数据库发生故障时,可以在备用数据库上使用紧急接管,使备用数据库成为新的主数据库。紧急接管必须指定TAKEOVER命令的BYFORCE子句,例如:TAKEOVERHADRONDATABASESAMPLEBYFORCE●普通接管:普通接管就是没有使用BYFORCE子句的接管,例如:TAKEOVERHADRONDATABASESAMPLE这种接管必须在主数据库和备用数据库都正常运行的情况下使用。如果主数据库发生故障,普通接管将失败,这时候必须使用上面的紧急接管。Page20同步方式●SYNC(同步):采用SYNC方式时,仅当主数据库日志写入成功,并收到备用数据库的应答,确保备用数据库的日志也成功写入的情况下,才认为日志写入成功。这种方式下的事务响应时间最长,但最大限度的确保不发生事务丢失。●NEARSYNC(接近同步):采用NEARSYNC方式时,当主数据库日志写入成功,并收到备用数据库的应答,确定备用数据库已经接收到日志时,即认为日志写入成功。也就是说,备用数据库接收到的日志并不一定能成功写入持久存储设备上的日志文件。这种方式下的事务响应时间比SYNC方式短,且仅当两台服务器同时发生故障时,才会发生事务丢失。●ASYNC(异步):采用ASYNC方式时,当主数据库日志写入成功,并将日志发送出去之后,即认为日志写入成功。此方式并不保证备用数据库能收到日志,这要依赖于TCP/IP网络情况。这种方式下的事务响应时间最短,但产生事务丢失的可能性也最大Page21自动客户端重新路由(AutomaticClientReroute)●要配置自动客户端重新路由,使用UPDATEALTERNATESERVER命令设置备用数据库信息(使用方法参考上面的配置实例),这些信息将被存放在数据库的系统目录中。●当客户端与数据库建立连接时,备用数据库的配置信息(主机/IP及端口号)也同时被发送给DB2客户端。当客户端与主数据库的连接被中断时,客户端就使用这些信息连接到备用数据库,从而最小限度的降低了数据库故障所造成的影响。需要强调的是,这个过程由DB2客户端自动完成,不需要用户用程序干涉。

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功