WebSphere Process Server中如何用Oracle RAC

日期: 2011-01-10 作者:midware 来源:TechTarget中国 英文

  IBM WebSphere Process Server要求运行多个数据库,Oracle是许多流行数据库之一,该数据库有时在WebSphere Process Server安装中使用。尽管对Oracle Real Application Cluster的共享一切的基本体系结构有较大的争论,但使用RAC可以为Oracle数据库获得高可用性、可靠性、工作负载管理和可伸缩性。

  尽管有些人可能有这样的错误认识,认为Oracle RAC不能用于可在WebSphere Process Server中使用的数据库,甚至不能用于可在最新版本 6.0.2 中使用的数据库,但事实情况是,目前在WebSphere Process Server版本中使用Oracle RAC相当简单,只需稍微更改一些相应的数据源配置即可。本文向您介绍一种简单的方法,通过执行一些必要的配置更改,便可成功对WebSphere Process Server数据库使用Oracle RAC。

  WebSphere Process Server数据库

  根据您的安装情况,WebSphere Process Server可能需要使用以下四个数据库:

  公共存储库数据库:它是整个计算单元范围内的一种数据库,缺省名称是WPRCSDB。通常情况下,首先会创建一个空数据库,然后 WebSphere Process Server向导将创建所有必要的表。对于WebSphere Process Server的网络部署配置,可以在创建部署管理器概要时创建数据库中的表。从WebSphere Process Server V6.0.2.x开始,可以推迟表的创建,原因是部署管理器概要的创建过程不需要有此数据库。

  业务流程数据库:是一种特定于部署目标的数据库,缺省名称是 BPEDB,其中包含与业务流程编排相关的表。数据库中的表通常是通过执行提供的 DDL 脚本创建的。

  公共事件基础设施数据库:如果公共事件基础设施(Common Event Infrastructure,CEI)在WebSphere Process Server安装中使用,那么这里还需要一个特定于部署目标的数据库。CEI数据库是通过执行生成的DDL脚本创建的,其缺省名称是“event”。

  消息传递引擎数据库:在典型的WebSphere Process Server安装中,可有四个消息传递引擎,每个消息传递引擎都需要有一个自己的数据库。按照最佳实践,消息传递引擎的数据库是通过执行生成的DDL脚本创建的。

  Oracle RAC和数据源

  在使用WebSphere产品创建Oracle JDBC数据源时将指定一个Oracle URL和驱动程序类型,其中包含Oracle数据库服务器主机名、端口号和Oracle数据库名。典型的Oracle URL可能类似于以下所示:

以下是引用片段:
  jdbc:oracle:thin:@::

  配置Oracle RAC不是一项简单的任务。Oracle 数据库管理员在创建和配置RAC时需要考虑与故障转移、负载平衡以及其他事项相关的诸多因素。不过,对于WebSphere Application Server运行时,Oracle RAC本质上就是使用合适的JDBC驱动程序访问的另一数据库。

  可以通过多种方法在WebSphere产品中配置RAC环境。其中一种方法是让JDBC驱动程序平衡数据库连接请求。另一可靠的备选方法是让WebSphere Workload Management组件执行连接平衡;这可以通过将每个WebSphere集群成员配置为指向一个(而且仅指向一个)Oracle数据库服务器来完成。本文使用的是前一个策略。在此方法中,Oracle JDBC驱动程序将识别基础的RAC并与之交互,并从适当的数据库服务器获得连接,因此可以按DBA的配置维持故障转移和负载平衡特征。

  不过,要让JDBC驱动程序与RAC一起工作,在定义WebSphere JBDC数据源时需要指定较为复杂的Oracle URL。下面是RAC的一个示例URL,其中包含两个Oracle数据库服务器,目的是在它们之前平衡连接负载:

以下是引用片段:
  jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST= 
  (ADDRESS=(PROTOCOL=TCP)(HOST= myoraclehost1.ibm.com)(PORT=1521)) 
  (ADDRESS=(PROTOCOL=TCP)(HOST= myoraclehost2.ibm.com)(PORT=1521)) 
  (FAILOVER=on)(LOAD_BALANCE=on) 
  (CONNECT_DATA=(SERVER=DEDICATED) 
  (SERVICE_NAME=dbservice))) 

  而且,在WebSphere产品中使用Oracle RAC这一方法中,在定义相关的Oracle JDBC数据源时,您只需将RAC-ified URL指定为Oracle URL。

  WebSphere Process Server中的Oracle

  这些数据源由内部WebSphere Process Server应用程序使用,并且它们的名称和范围可以根据不同的版本而改变。

  对WebSphere Process Server的所有四个数据库使用Oracle数据库相当简单。WebSphere Process Server基础结构通过数据源访问这些数据库。在WebSphere Process Server的四类基本数据源中,消息传递引擎数据源应手动创建,而其他三种类型一般是直接通过向导或脚本创建的:

  公共存储库数据源:在网络部署环境中,此数据库中的表可以在创建部署管理器概要的过程中创建。对于原来已经存在的数据库,您需要在部署管理器概要创建向导中指定这些属性(图 1 和 2):

图 1. 配置WebSphere Process Server数据库

  图 1. 配置WebSphere Process Server数据库 

图 2. Oracle数据库属性 

  图 2. Oracle数据库属性 

  通过这些指定的值,部署管理器概要创建向导将使用jndi名称jdbc/WPSDB创建计算单元范围的WebSphere Process Server数据源(图 3)。

图 3. 创建的数据源  

  图 3. 创建的数据源  

  业务流程执行数据源:在业务流程容器安装向导的第 1 步中,将这些参数指定为自定义属性 (Custom Properties)(图 4):

图 4. 配置业务流程容器  

  图 4. 配置业务流程容器  

以下是引用片段:
databaseName=<DBName>
serverName=<Fully qualified Oracle server name or IP address>
portNumber=<Oracle port number>
dataSourceName=URL=jdbc:oracle:thin:@<hostname>:<port number>:<DBName> 

  在WebSphere Process Server集群中安装业务流程容器的过程中,该向导将使用jdbc/BPEDB<集群名称>作为JNDI名称创建 BPEDataSourceOracle_<集群名称> 数据源。在6.0.1.x版本中,将在所有计算单元范围内创建此数据源;在 6.0.2.0版本中,将在集群范围内定义数据源。

  CEI数据源:可以通过两个步骤创建CEI数据源。首先,必须在OracleResponseFile.txt文件中指定Oracle数据库名称、JDBC驱动程序位置、驱动程序类型、数据库服务器主机名和Oracle端口号属性。该文件然后用作创建所需脚本的元脚本参数,并使用该脚本创建和配置数据源。

  在执行J2EE构件创建脚本之后,将会配置两个Oracle数据源:event (jdbc/cei)和event_catalog(jdbc/eventcatalog)(图5)。

图 5. 创建JDBC数据源 

  图 5. 创建JDBC数据源 

  两个CEI数据源的范围可以通过在OracleResponseFile.txt文件中指定SCOPE属性进行控制。

  WebSphere Process Server中的RAC

  上面的三个数据源适用于单个(传统 Oracle)数据库服务器,而前面所显示的示例规范举出的是一个更为典型的RAC环境,该环境包含多个数据库服务器。若要在现有WebSphere Process Server安装中使用RAC,请对Oracle DBA应用以下简单的策略:

  配置一个非RAC Oracle数据源,即使Oracle环境已经是RAC环境。在配置Oracle URL时,对于所有相关的WebSphere Process Server向导和脚本,使用Oracle服务器之一作为URL中的主机名。(在生成模式和表时可能必须提供单一的Oracle服务器。)

  将WebSphere Process Server向导和脚本创建的所有数据源的Oracle URL更改为特定于该环境的实际RAC URL。例如,假设您使用 Deployment Manager Profile创建向导和以下值创建一个数据源:

  数据库驱动程序:Oracle Thin

  名为WPRCSDB的预创建Oracle数据库模式

  数据库服务器名称:myoraclehost1.ibm.com

  端口:1521

  在创建部署管理器概要后,将创建一个访问WPRCSDB的数据源。数据源的属性看上去类似于图 6,其中您可以看到 Oracle URL 为:

  jdbc:oracle:thin:@myoraclehost1.ibm.com:1521:WPRCSDB

图 6. 创建的数据源 

  图 6. 创建的数据源 

  要使此WebSphere Process Server数据源适用于RAC,您需要做的就是将向导创建的这一特定于单一服务器的传统Oracle数据源属性URL替换为RAC URL,如图7所示。

图 7. 使用RAC URL替换单一服务器URL 

  图 7. 使用RAC URL替换单一服务器URL 

  还应对使用WebSphere Process Server向导和脚本创建的所有其他数据源执行相同的URL替换操作。

  重新启动部署管理器和任何运行的WebSphere Process Server实例。

  在管理控制台中验证修改的数据源与测试连接工具的连接性。尽管本文中的URL针对的是Oracle瘦驱动程序,但Oracle OCI驱动程序还可以用于Oracle URL。这一URL替换策略也适用于Oracle OCI驱动程序。

  还有需要注意一点:在手动创建消息传递引擎数据源时,您可以为 Oracle 数据源属性直接指定RAC URL,并可以完全避免“传统Oracle到Oracle RAC URL”的替换步骤。

  结束语

  尽管Oracle RAC在较新的WebSphere Process Server V6.0.2.x和更高版本中是正式支持的产品,但您可以使用本文中描述的URL替换策略为Oracle RAC环境配置任何WebSphere Process Server 安装。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

midware
midware

相关推荐

  • 企业IT架构术语之Amazon Dynamo数据库

    Dynamo可以用来形容一个精力充沛的人。不用如此惊讶,Amazon Dynamo数据库的创建正是要延续这一理念。

  • IBM投资12亿美元用于扩大其全球云的部署

    1月17日,IBM宣布计划投入超过12亿美元大规模拓展其全球云的部署。这项投资包括建立旨在为客户带来更大灵活性和透明度的数据中心网络。

  • 2014年的云计算之战

    预测未来的云计算市场,就得先看一眼2013年的市场表现。在2013年,“云”被80%的企业用户用来进行云计算、数据库和数据存储。

  • IBM中国云:周密包裹着能量

    今年第二季度,IBM高调了一把,宣布收购SoftLayer。这家全球最大的私人控股IaaS供应商,在全球拥有跨越美国、亚洲和欧洲的13个数据中心,拥有多达21000个从Web创业公司到大型跨国公司的客户。