oracle双机热备架构方案双机热备有两种实现模式,一种是基于共享的储备设备的方式,另一种是没有共享的储备设备的方式,一样称为纯软件方式。
基于储备共享的双机热备是双机热备的最标准方案。
关于这种方式,采纳两台(或多台)服务器,使用共享的储备设备(磁盘阵列柜或储备区域网SAN)。
两台服务器能够采纳互备、主从、并行等不同的方式。
在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务要求发送给其中一台服务器承担。
同时,服务器通过心跳线(目前往往采纳建立私有网络的方式)侦测另一台服务器的工作状况。
当一台服务器显现故障时,另一台服务器依照心跳侦测的情形做出判定,并进行切换,接管服务。
关于用户而言,这一过程是全自动的,在专门短时刻内完成,从而对业务可不能造成阻碍。
由于使用共享的储备设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行治理。
关于纯软件的方式,则是通过支持镜像的双机软件,将数据能够实时复制到另一台服务器上,如此同样的数据就在两台服务器上各存在一份,假如一台服务器显现故障,能够及时切换到另一台服务器。
纯软件方式还有另外一种情形,即服务器只是提供应用服务,而并不储存数据(比如只进行某些运算,做为应用服务器使用)。
这种情形下同样也不需要使用共享的储备设备,而能够直截了当使用双机或集群软件即可。
但这种情形事实上与镜像无关,只只是是标准的双机热备的一种小的变化。
本方案是前者————基于共享储备设备的数据库热备。
数据库服务器双机热备的好处这种配置模式的优点是有利于数据库的升级,当其中systemA需要升级的时候,就把服务切换到systemB上运行,升级A的DB2程序,之后还能够把服务切换回到A来,然后升级B的DB2程序。
那个升级过程可不能阻碍用户的DB2使用,因为总有一台机器能够使用DB2程序来响应用户的服务要求。
服务器的故障可能由各种缘故引起,如设备故障、操作系统故障、软件系统故障等等。
一样地讲,在技术人员在现场的情形下,复原服务器正常可能需要10分钟、几小时甚至几天。
从实际体会上看,除非是简单地重启服务器(可能隐患仍旧存在),否则往往需要几个小时以上。
而假如技术人员不在现场,则复原服务的时刻就更长了。
而关于一些重要系统而言,用户是专门难忍耐如此长时刻的服务中断的。
因此,就需要通过双机热备,来幸免长时刻的服务中断,保证系统长期、可靠的服务。
决定是否使用双机热备,正确的方法是要分析一下系统的重要性以及对服务中断的容忍程度,以此决定是否使用双机热备。
即,你的用户能容忍多长时刻复原服务,假如服务不能复原会造成多大的阻碍。
在考虑双机热备时,需要注意,一样意义上的双机热备都会有一个切换过程,那个切换过程可能是一分钟左右。
在切换过程中,服务是有可能短时刻中断的。
然而,当切换完成后,服务将正常复原。
因此,双机热备不是无缝、不中断的,但它能够保证在显现系统故障时,能够专门快复原正常的服务,业务不致受到阻碍。
而假如没有双机热备,则一旦显现服务器故障,可能会显现几个小时的服务中断,对业务的阻碍就可能会专门严峻。
另有一点需要强调,即服务器的故障与交换机、储备设备的故障不同,其概念要高得多。
缘故在于服务器是比交换机、储备设备复杂得多的设备,同时也是既包括硬件、也包括操作系统、应用软件系统的复杂系统。
不仅设备故障可能引起服务中断,而且软件方面的咨询题也可能导致服务器不能正常工作。
还应指出的是,一些其他的防护措施如磁盘阵列(RAID)、数据备份尽管是专门重要的,但却不能代替双机热备的作用。
双机热备与数据备份的关系一些用户在规划双机热备或双机备份时,会有如此的咨询题:我差不多有了RAID,以及磁带备份,还有必须做双机吗?或者,假如我做了双机备份,还有必要做磁带备份吗?应该讲RAID和数据备份差不多上专门重要的。
然而,RAID技术只能解决硬盘的咨询题,备份只能解决系统显现咨询题后的复原。
而一旦服务器本身显现咨询题,不论是设备的硬件咨询题依旧软件系统的咨询题,都会造成服务的中断。
因此,RAID及数据备份技术不能解决幸免服务中断的咨询题。
关于需要连续可靠地提供应用服务的系统,双机依旧专门重要的。
只要想一想,假如你的服务器坏了,你要用多少时刻将其复原到能正常工作,你的用户能容忍多长的复原时刻就能明白得双机的重要性了。
从另外一个方面,RAID以及磁带备份也是专门需要的。
关于RAID而言,能够以专门低的成本大大提高系统的可靠性,而且其复杂程度远远低于双机。
因为如何讲硬盘是系统中机械操作最频繁、易损率最高的部件,假如采纳RAID,就能够使显现故障的系统专门容易修复,也减少服务器停机进行切换的次数。
数据备份更是必不可少的措施。
因为不论RAID依旧双机,差不多上一种实时的备份。
任何软件错误、病毒阻碍、误操作等等,都会同步地在多份数据中发生阻碍。
因此,一定要进行数据的备份(不论采取什么介质,都建议用户至少要有一份脱机的备份),以便能在数据损坏、丢失时进行复原。
数据库服务器双机热备组网图网络拓扑图交换机逻辑图db2oradgdb1/data2app1dg ora-rgOracle 10g(主)Oracle 10g (备)appdgdata1Appdg*设备清单软件清单 软件名称版本 安装讲明 安装名目 操作系统磁盘多路径治理硬件清单磁盘阵列(储备)主机配光纤卡(hba卡)两台型号一直的主机光纤技术部分操作系统安装Oracle安装a)创建数据文件使用的共享储备(在system1上面执行下列5个命令):i.# vxdg init oracleDG c0t0d0;创建磁盘组oracleDG,使用c0t0d0那个硬盘;ii.# vxassist -g oracleDG make oracleVol 5g;在磁盘组上创建5G大小的卷oracleV ol;iii.# mkfs -F vxfs -o largefiles /dev/vx/rdsk/oracleDG/oracleV ol;创建文件系统;iv.# mkdir /oracle ;创建mount点,共享磁盘将mount到那个地点;v.# mount -F vxfs /dev/vx/dsk/oracleDG/oracleVol /oracle;将共享盘mount到本机;b)在两台机器上面分不执行下列命令,创建相同的用户组和用户:i.# groupadd -g 500 dba;创建oracle治理组;ii.# useradd -g dba -u 500 -d /home/oracle -m oracle;创建oracle治理用户;注意:组ID或者用户ID能够是任意尚未被使用的数值,然而一定要保证多台机器必须一致。
c)安装oracle程序到oracle安装文件的名目下,运行下列命令安装oracle程序#. /runInstaller在安装过程中,指定oracle用户为“oracle”。
注意:假如需要在多台机器安装oracle,则需要在多台机器运行该程序;假如仅仅想把程序安装在共享盘上面,则仅仅需要在一台机器安装。
注意:安装过程中有一步会咨询用户是否需要配置数据库,我们选择“仅仅安装软件”,我们会在稍后配置数据库文件到共享磁盘。
d)配置数据库:oracle程序安装完毕后,我们需要配置数据库到共享磁盘上,如此多台机器才能够共享其数据资源;# dbca运行数据库配置助手来关心用户安装数据库,注意需要将路径指明到共享磁盘中。
e)设置环境变量在各个机器的/home/oracle/.profile文件中,设置两个全局变量:$ORACLE_HOME=/oracle 该变量指明数据库的安装位置;$ORACLE_SID=oracle 该变量指明访咨询哪个数据库实例;f)安装VCS的oracle代理软件:(以redhat为例)# rpm -ivh VRTSvcsor# rpm -ivh VRTScsocw如此,oracle的安装就完成了。
测试在安装终止之后,我们需要测试一下oracle能否在多台机器上正常工作。
a)从这台机器登陆数据库并创建一个表i.su – oracle 将系统用户切换到oracle用户;ii.export $ORACLE_HOME=/oracle; 导出全局变量;export $ORACLE_SID=oracle;iii.$ORACLE_HOME/bin/sqlplus /nolog 进入数据库模式;iv.connect / as sysdba 以系统治理员身份登陆数据库;v.create user tester identified by '123456' default tablespace USERS temporary tablespace TEMP quota 100K on USERS; 创建一个新用户tester;vi.grant create session to tester; 给予新用户tester创建表的权限;vii.create table tester.mytime ( tstamp date ); 在tester用户空间下创建一个新表;viii.insert into tester.mytime (tstamp) values (SYSDA TE); 在新表中插入数据;ix.disconnect; 断开连接;b)测试其他集群节点能够工作:i.connect tester/123456 以新用户身份登陆数据库;ii.update tester.mytime set ( tstamp ) = SYSDA TE; 更新表的内容;iii.select TO_CHAR(tstamp, ’MON DD, YYYY HH:MI:SS AM’) from tester.mytime;确认表的内容差不多被更新;iv.exit 推出。
在通过那个检查之后,就讲明数据库差不多正确安装并能够被每个节点正常的访咨询,测试成功。
储备安装集群软件安装选择相应的集群软件,厂家负责上门安装。
并按照业务的设计需要做相关的规划,最后输出安装文档,作为实施的交付件。