Oracle UCP 常见问题解答

2014 年 8 月 13 日更新

 
本文档包含有关 Oracle 通用连接池 (UCP) 的常见问题的解答。请注意,这些解答仅针对特定的技术问题,并用于记载对常见客户问题以及任何已知问题的解决方案。服务器文档(包括 JDBC 文档)也可在线获取。

返回页首

新动态

“UCP 常见问题解答”页面是全新的页面,旨在回答所有与 UCP 相关的问题。其目的是使 UCP 的使用更轻松,并介绍其强大功能。

返回页首

UCP 概述


什么是 UCP?

UCP 是通用连接池。它是一个处理 JDBC、JCA、LDAP 等各类连接的连接池。它支持非 Oracle JDBC 驱动程序和与非 Oracle 数据库的 JDBC 连接。用于与 Oracle 数据库的 Oracle JDBC 连接时,它可提供旧的 JDBC 隐式连接缓存的所有特性以及其他特性。UCP 广泛应用于 Oracle 产品。因其能轻松处理故障切换、管理连接、资源以及许多其他原因,我们建议使用 UCP。

返回页首

如何使用 UCP?

UCP 是独立的 jar 文件。其名为 ucp.jar。它不包含在 JDBC jar 文件中。 

返回页首


在哪里可以获得 UCP jar 文件?

请从 Oracle 技术网 JDBC、UCP 和 SQLJ 下载页面下载所需版本的 UCP jar 文件。

返回页首
在哪里可以了解有关 UCP 的更多信息?

更多详细信息,请参见 UCP 参考指南

返回页首
UCP 可与哪些应用容器一起使用?

UCP 可以与 Apache Tomcat、IBM Websphere、JBOSS、Weblogic 等任何容器一起使用。

返回页首
UCP 能否与 Weblogic 结合使用?

UCP 可以与 Weblogic 结合使用。但您应使用 Oracle 的“Active Grid Link”,它具有所有类似功能

返回页首

版本相关问题


支持哪些 UCP 版本?

当前支持的 ucp.jar 文件版本包括 11.1、11.2 和 12.1

返回页首
ucp.jar 版本能否与 JDBC 驱动程序版本不同?

在 12c(即 12.1.0.1.0)之前,UCP 可以使用任何版本的 Oracle JDBC 驱动程序。新池 UCP 12.1.0.2 依赖于 Oracle JDBC 驱动程序 12.1.0.2。示例:12.1.0.2 ucp.jar 需要 12.1.0.2 中的 ojdbc7.jar 或 ojdbc6.jar。我们建议保持 ucp.jar 和 JDBC 驱动程序来自同一版本。

返回页首
ucp.jar 版本是否依赖于任何数据库版本?

数据库版本兼容性来自 JDBC 驱动程序版本,而不是 UCP 版本。UCP jar 文件应与 JDBC 驱动程序版本兼容。

返回页首

连接相关问题

如何使用 UCP 创建数据库连接?

适用于 JDBC 的 UCP 提供启用池的数据源,应用使用该数据源借用 UCP JDBC 连接池中的连接。以下是所涉及的步骤。
(1) 获取启用池的数据源实例
PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource();

(2) 设置获取数据库物理连接所需的连接属性。
 pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
pds.setURL("jdbc:oracle:thin:@//localhost:1521/XE");
pds.setUser("<user>"); pds.setPassword("<password>"); (3) 设置任何池属性以覆盖连接池的默认行为。
 

返回页首

Oracle 通知服务 (ONS)

什么是 ONS?

Oracle 通知服务器 (ONS) 使用一个简单的发布/订阅方法生成和传递事件消息,供本地和远程使用。ONS 后台进程在本地运行,与配置的节点列表中各节点(其他 ONS 后台程序处于活动状态)之间发送和接收消息。Oracle Real Application Clusters (RAC) 和快速连接故障切换 (FCF) 等高级 Oracle Database 特性需要 Oracle 客户端软件中包含的 ons.jar。

返回页首

如何使用 ONS?

ONS 是一个名为 ons.jar 的 jar 文件。请将此文件包含在类路径中以及 JDBC 和 UCP jar 文件所在的任何位置中

返回页首

如何配置 ONS?

ONS 配置由配置文件 (ons.config) 控制,位于 ORACLE_HOME/opmn/conf/ons.config。ons.config 中的配置信息通过名称/值对来定义。它应包含:
localport:ONS 绑定到 localhost 接口上与本地客户端通信的端口。
remoteport:ONS 绑定到所有接口上与其他远程 ONS 后台进程通信的端口
nodes:通信的其他 ONS 后台进程列表,指定为主机名或 IP 地址加端口

# First three values are required
localport=4100
remoteport=4200
nodes=racnode1:4200, racnode2:4200, racnode3:4200

返回页首

ONS 监听的标准端口是什么?

在 ONS 配置中,ONS 只区分“本地”和“远程”端口,即“localport=”和“remoteport=”。通常,端口为 6100 和 6200。但这些端口不一定是 6100 和 6200。客户可以将它们配置成任何端口号,只要它们在 ONS 客户端和服务器主机上配置成一致的即可。

返回页首

如何更改 ONS 端口?

ONS 端口需要在客户端和服务器端更改。
客户端:更改 ons.config 文件中的 localport 和 remoteport。
服务器端:使用 SRVCTL 命令修改 Oracle Restart 中注册的 Oracle 通知服务后台进程所用的端口。
srvctl modify ons [-l ons_local_port] [-r ons_remote_port] [-t host[:port][,host[:port]][...]] [-v]

返回页首

如何监视 ONS 是否正在运行?

使用以下命令监视 ONS 是否正在运行。
$srvctl status nodeapps |grep ONS
ONS is enabled
ONS daemon is running on node:
ONS daemon is running on node:
ONS daemon is not running on node:
$srvctl config nodeapps | grep ONS
ONS exists:Local port 6100, remote port 6200, EM port 0, Uses SSL false
ONS is enabled
ONS is explicitly enabled on nodes:
ONS is explicitly disabled on nodes:
$onsctl debug 或 onsctl ping

返回页首

UCP — 负载平衡

什么是负载平衡?

负载平衡是对负载进行分配,从而为用户和应用提供优秀性能。在 RAC 感知应用中,当从服务添加/删除新的节点/实例时,这两种情况下负载均应取得平衡,无需人工干预。数据库连接数应始终在可用的实例之间分配。

返回页首

什么是负载平衡公告?

RAC 和 GDS 发布负载平衡公告,显示每个活动实例的 CPU 利用率。

返回页首 false ,,,,,,,,,,,,,,,,