最佳实践:基于Oracle RAC构建WebSphere Process Server6.2高可用性_第1页
最佳实践:基于Oracle RAC构建WebSphere Process Server6.2高可用性_第2页
最佳实践:基于Oracle RAC构建WebSphere Process Server6.2高可用性_第3页
最佳实践:基于Oracle RAC构建WebSphere Process Server6.2高可用性_第4页
最佳实践:基于Oracle RAC构建WebSphere Process Server6.2高可用性_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、最佳实践:基于Oracle RAC构建WebSphere Process Server6.2高可用性田甜 IBM软件测试工程师 胡滨 IBM软件测试工程师1.      概述Oracle RAC (Real Application Cluster,真正应用集群)  由多台Oracle数据库服务器组成,保证了单一节点宕机后失败切换,另一方面,Oracle RAC可进行并行计算和负载均衡,与单一数据库节点相比,性能更加稳定。WebSphere Process Server提供了对Oracle RAC的配置支持,用来保证大数据量处

2、理和系统的实时可靠性。本文介绍使用Oracle RAC的失败切换功能来介绍WebSphere Process Server对(以下简称WPS)高可用性的支持。在实现此测试过程中,笔者将数据库服务器上的一个节点置为不可用的情景来触发Oracle实施失败切换(failover)功能,与此同时,事件不停息地产生并持续流经到WPS中进行正常处理。笔者使用CitiApp场景来完成这个事件发送过程。为方便起见,本文以Websphere Process Server 6.2 Stand-alone单机架构为例,详细阐述配置步骤及场景测试验证。在网络部署架构(Network Deployment)中,配置过程

3、是类似的。在本文中,笔者使用两台Linux机器作为Oracle节点,一台共享磁盘阵列来存放Oracle数据文件和日志文件。拓扑图如下所示:图1:Oracle RAC拓扑结构 在使用多节点的Oracle RAC拓扑结构之前,首先要确保单一节点的Oracle数据库在WPS中正确配置,即本文第二部分所述的单点配置,在此基础上,才能继续进行针对WPS的Oracle RAC即集群配置。2.      Oracle RAC的单节点配置配置基于Oracle数据库的WPS通用配置过程包括以下几个部分。2.1  拷贝驱动文

4、件将Oracle驱动文件(classes12.zip)从Oracle DB服务器拷贝到WPS服务器。2.2  建立Oracle用户在Oracle中建立多个Oracle用户,以用于WPS的不同用途。在此说明,针对Oracle数据库的内部原理,每个实例(instance)拥有一套独立的系统资源,建立多个实例将消耗巨大的系统资源(CPU,内存,硬盘空间等)。而在一个实例中创建多个用户(或模式,Schema)则可共享一个实例的资源,但实例的配置参数是共享的。读者可以选择创建多个实例以区分不同的实例参数来达到特定的性能要求,或根据本文的推荐,在同一实例中建立不同的模式以示区分。表1:

5、WPS使用的Oracle用户本文使用的模式/用户名WPS中使用的默认名称说明WPCDB实例ID的前3个字母+COMMWPS主要配置用户CEIDB实例ID的前3个字母+CEID用来配置公共事件基础结构(CEI)SCASYSMSG实例ID的前3个字母+SS00用来配置服务组件架构(SCA)中系统总线(System Bus)消息引擎(Messaging Engine,ME)的数据存储SCAAPPMSG实例ID的前3个字母+SA00用来配置SCA中应用总线(Application Bus)上ME的数据存储CEIMSG实例ID的前3个字母+CM00用来配置CEI上ME中的数据存储BPCMSG实例ID的前

6、3个字母+BM00用于配置业务流程编排器(Business Process Choreographer, BPC)总线上的数据存储BPCDB实例ID的前3个字母+BE00用于业务流程编排器容器(BPC container)的配置BPCOBS说明:此用户只限于对安装了业务流程编排器浏览器有效实例ID的前3个字母+BC00用于业务流程编排器浏览器(BPC explorer)的配置在Oracle中创建了以上用户后,我们需要在Oracle中将以上用户授予相应权限。以下为授予WPCDB用户的例子,读者需重复此步骤直至以上所有用户均授予了权限。grant connect, resource, unlimi

7、ted tablespace to WPCDB;grant execute on dbms_system to WPCDB;grant javauserpriv to WPCDB;2.3 安装WPS 产品      本文略去安装WPS产品的过程,在过程中注意选择“延迟创建概要文件”。2.4  创建概要文件在安装产品之后,需要手工创建概要文件。本文推荐使用manageprofiles.bat/manageprofiles.sh命令来手工创建概要文件,而非Profile Management Tool (PMT)。原因

8、是因为,基于oracle的概要文件,在PMT工具中只能使用WPS默认用户名(见表1中的第2列),而不能使用自定义的用户名称,这将使得手工创建的Oracle用户没有用武之地。以下是基于Oracle的manageprofiles命令的一个范例:manageprofiles.bat -create -templatePath D:IBMWPS62GMprofileTemplatesdefault.wbiserver -profileName oraProfile -enableSecurity false -configureBPC false -dbType ORACLE10G-dbName RA

9、S -ceiDbName RAS -dbDelayConfig true -dbCommonForME true -dbDriverType oracle_thin -dbJDBCClasspath D:ora_driver -dbServerPort 1521 -configureBSpace false -configureBRM false -dbHostName 76 -winserviceCheck false -dbCommonUserId WPCDB -dbCommonPassword passw0rd -dbCeiUserId CEIDB -dbCeiPas

10、sword passw0rd -dbSysMeUserId SCASYSMSG -dbSysMePassword passw0rd -dbAppMeUserId SCAAPPMSG -dbAppMePassword passw0rd -dbCeiMeUserId CEIMSG -dbCeiMePassword passw0rd -dbBPCMeUserId BPCMSG -dbBPCMePassword passw0rd参数说明:-dbType: ORACLE10G用来标识使用的是Oracle10g版本数据库-dbName: Oracle数据库的实例名称-ceiDBName:同-dbName-

11、dbDriverType:使用oracle_thin方式的驱动程序-dbJDBCClasspath: WPS机器上classes12.zip驱动程序的路径-dbHostName: Oracle数据库主机名/IP地址-dbCommonUserId:使用已创建的WPCDB用户,用于WPS通用数据库(Common DB)-dbCeiUserId:使用已创建的CEIDB用户,用于公共事件基础结构(CEI)-dbSysMeUserId:使用已创建的SCASYSMSG用户,用于服务组件架构(SCA)系统总线上的消息引擎-dbAppMeUserId:使用已创建的SCAAPPMSG用户,用于服务组件架构上应用

12、总线上的消息引擎-dbCeiMeUserId:使用已创建的CEIMSG用户,用于公共事件基础结构总线上的消息引擎-dbBPCMeUserId:使用你哦个已创建的BPCMSG用户,用于业务流程编排器总线上的消息引擎2.5  配置公共数据库将公共数据库配置脚本目录从WPS机器的<Profile_Home>dbscriptsCommonDBOracle<DB_Name>上拷贝到Oracle服务器上。注意,将从Windows上生成的shell脚本拷贝到Linux/Unix上时,有可能需要执行dos2unix命令以避免文件格式不识别问题。在Oracle服务器上

13、执行此脚本并确保执行成功。2.6  配置总线更改每个总线上的数据源信息,以使用正确的模式名称和认证别名。Ø        对于CEI总线:图2:CEI总线配置确保使用模式名:CEIMSG,认证别名:CEIME_<node_name>.server1_Auth_AliasØ        对于BPC总线:图3:业务流程编排器总线配置确保使用模式名:BPCMSG,认证别名:BPCME_&l

14、t;数字>_Auth_AliasØ        对于SCA Application总线: 图4:SCA应用总线配置确保使用模式名:SCAAPPMSG,认证别名:SCAAPPME<数字>_Auth_AliasØ        对于SCA System总线:   图5:SCA系统总线配置确保使用模式名:SCASYSMSG,认证别名:SCASYSME<数字&

15、gt;_Auth_Alias2.7  配置CEI将生成的CEI配置脚本从WPS机器<Profile_Home>dbscriptsCEI_<DBName>目录拷贝到Oracle数据库某处。,有可能需要执行dos2unix命令已避免文件格式不识别问题。执行命令:cr_event_oracle.sh CEI_DB_User_Password sys <sys_password> sid=<sid> racleHome=<Oracle_HOME>参数说明:CEI_DB_User_Password:CEIDB用户的密码SYS

16、USER:使用sys用户SYSUSERPWD:sys用户的密码Sid=<sid>:Oracle数据库实例名2.8  配置BPC container按照如下步骤配置BPC container:Ø        数据源:模式名:BPCDB用户名:BPCDB服务器:oracle服务器IP地址驱动提供:Oracle10g或11g图6:BPC container的数据源配置Ø        人工

17、任务管理器邮件配置:取消enable e-mail service选项图7:人工任务管理器邮件配置Ø        安全:本文中没有使用到安全设置,将其保留为空。若配置了安全,将信息填入。Ø        状态观察器勾选CEI logging for Business Flow Manager图8:状态观察器Ø        S

18、CA绑定:保留为空Ø        总线:模式名:BPCMSG用户名:BPCMSG服务器:oracle服务器IP地址提供者:Oracle10g或11g图9:业务流程编排器容器的总线配置点击完成并保存更改。2.9  配置BPC Event CollectorØ        数据源:模式名:BPCOBS用户名:BPCOBSØ     

19、60;  观察对象选择server1,若是网络部署(Network Deployment)环境,选择相应的集群名称。图10:事件收集者点击OK完成,保存更改。2.10 配置BPC explorer添加一个新的BPC explorer,勾选“开启报告功能”图11:BPC explorer点击OK完成,保存更改2.11 验证数据源连接在重启环境前,我们需保证所有的数据源连通正常,如果连通不正常,需修复错误,直至所有连接测试通过。重启WPS server,检查SystemOut.log文件,确保没有任何异常信息。至此,单机版的Oracle数据库配置结束。3.&

20、#160;     RAC RAC的集群配置为了支持Oracle RAC环境,WPS在数据源的JDBC URL中引入了多重地址列表功能,使得URL地址如下所示:jdbc:oracle:thin:(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=76)(PORT=1521)(ADDRESS=(PROTOCOL=TCP)(HOST=77)(PORT=1521)(FAILOVER=on)(LOAD_BALANCE=on)(CONNECT_DATA=(

21、SERVER=DEDICATED)(SERVICE_NAME=RAS)图12:Oracle RAC数据源URL替换HOST和SERVICE_NAME属性值以满足实际环境。建议读者拷贝以上字符串以避免输入错误。更改每一个数据源的URL信息,保存设置并保证重新测试仍然可以成功。4.      测试用例场景CitiApp简介CitiApp基于“快速开发,易于更改”为原则,以Web客户端,SCA模块和BPEL流程组合而成,用户通过登陆JSP页面输入需要处理的数据量,SCA模块随机生成对应的数据,在BPEL流程中对业务对象进行简单处理(如,赋值

22、,更改属性等)再通过JDBC适配器将处理后的业务对象以记录的形式插入应用数据库中。由于该流程简单,部署方便,在用户指定事件数连续不断发送业务请求,适用于进行测试集群环境下的负载均衡和失败切换功能。CitiApp主要由以下三部分构成:· Web模块: RecoverDriverUI用户登陆http:/<localhost:9080>/RecoveryDriverUI/Driver.jsp输入所需处理的数据量· SCA模块:AccountRouting,在POJO中通过随机方法生成业务对象(Business Object)并为每个Business Object创建处

23、理实例,通过异步调用进入Account Creation流程图13:AccountRouting · BPEL长流程模块 在BPEL长流程中对业务对象进行简单处理,并通过JDBC适配器插入应用数据库中                               

24、0;                      图14:AccounCreation的BPEL流程                       

25、60;                 图15:AccounCreation的调用关系 5.      配置CitiApp场景具体如何配置CitiApp场景的过程超出了本文介绍的范畴。总的来说,包括如下步骤:1)       在oracle中创建用户rcovflda,并赋予权限2) 

26、60;     部署应用3)       配置数据源4)       创建认证别名和数据源5)       更改连接工厂属性6)       更改数据源的RAC字符串格式6.      测试流程6.1  验证正常情况下的流程打开citiApp应用的主页:http:/<host>:<port>/RecoveryDriverUI/Driver.jsp图16:CitiApp主页更改BPEL process/Web service Endpoint URL为实际环境,点击运行。在Oracle中检查用户rcovflda的Account表,若有一条记

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论