如何在WebSphere Process Server中使用Oracle RAC?

2019-02-26    来源:多智时代

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

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

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

根据您的安装情况,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脚本创建的。

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

以下是引用片段:

jdbc:oracle:thin:@::

如何在WebSphere Process Server中使用Oracle RAC?

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

可以通过多种方法在WebSphere产品中配置RAC环境。其中一种方法是让JDBC驱动程序平衡数据库连接请求(因此,也称为工作负载平衡)。另一可靠的备选方法是让WebSphere Workload Management (WLM)组件执行连接平衡;这可以通过将每个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应用程序使用,并且它们的名称和范围可以根据不同的版本而改变。

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

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

如何在WebSphere Process Server中使用Oracle RAC?

图 1. 配置WebSphere Process Server数据库

如何在WebSphere Process Server中使用Oracle RAC?

图 2. Oracle 数据库属性

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

如何在WebSphere Process Server中使用Oracle RAC?

图 3. 创建的数据源

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

如何在WebSphere Process Server中使用Oracle RAC?

图 4. 配置业务流程容器

以下是引用片段:

databaseName=

serverName=

portNumber=

dataSourceName=URL=jdbc:oracle:thin:@:

:

在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)。

如何在WebSphere Process Server中使用Oracle RAC?

图 5. 创建JDBC数据源

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

上面的三个数据源适用于单个(传统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

如何在WebSphere Process Server中使用Oracle RAC?

图 6. 创建的数据源

要使此WebSphere Process Server数据源适用于RAC,您需要做的就是将向导创建的这一特定于单一服务器的传统 racle数据源属性URL替换为RAC URL,如图7所示。(RAC URL应由Oracle DBA提供,并且应与如上所示的示例URL类似。)

如何在WebSphere Process Server中使用Oracle RAC?

图 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安装。<script language="javascript"></script>

在不久的将来,云计算一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏云计算,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

标签: isp 大数据 服务器 脚本 数据库 网络 云计算

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:数据分析不使用Hadoop的五大理由

下一篇:让云计算更“绿” 浅析有效利用能源的方法