高性能 Oracle JDBC 编程
高性能 Oracle JDBC 编程
了解如何利用连接和语句池特性来提高 Oracle 驱动的 JDBC 程序的性能。
作者:Yuli Vasiliev
2009 年 4 月发布
使用诸如连接池和语句池等池技术可以显著提高数据库密集型应用程序的性能,因为这样可以实现对象重用,而无需花费时间和资源重新创建对象。
如果应用程序与数据库频繁交互并且经常使用相同的参数重新建立连接,那么重用表示应用程序使用的物理数据库连接的数据库连接对象可显著提高性能。反
之,如果应用程序与其基础数据库很少连接,您不会因使用连接池获益。实际上,如果池的设置(例如,允许的最大或最小连接数限制)针对特定应用程序进行了优
化,许多数据库密集型应用程序都可以因使用连接池获益。
与连接池一样,语句池也是用于提高应用程序性能的技术。通过在应用程序运行期间多次执行语句池,可以进一步提高性能。然而,我们应该意识到语句池并
不是解决性能问题的灵丹妙药。如果对每条语句进行缓存而不辨别其在程序中执行的次数,则不可能获得任何性能改进。实际上,由于将语句放入缓存并保存在缓存
中将产生开销,因此对在程序执行期间仅执行一次的语句进行缓存将降低性能。
本文将向您介绍如何利用连接池和语句池提升通过 Oracle JDBC 瘦驱动程序与 Oracle 数据库交互的数据密集型 Java
数据库连接 (JDBC) 程序的性能。本文将特别介绍 Oracle Universal Connection Pool (UCP) for
JDBC,它提供了适用于缓存 JDBC 连接的全功能连接池实现。最后,本文将讨论如何通过使用语句池获益,需要利用特定于 Oracle 的
JDBC 驱动程序的特性以及新的 JDBC 4.0 方法,这些方法已添加到 Statement 接口并且在支持 Java 开发工具包
(JDK) 1.6 及更高版本的 Oracle JDBC 驱动程序中可用。
设置工作环境
要使用本文中的示例并访问 Oracle 数据库,您的开发计算机上需要安装以下软件组件(请参见“下载”portlet 以获得链接):
JDK 1.6
支持 JDK 1.6 的 Oracle JDBC 瘦驱动程序
Oracle 通用连接池库
Oracle JDBC 瘦驱动程序是一个 Type IV JDBC 驱动程序,这意味着它独立于平台,并且在与 Oracle 数据库交互的客户端上不需要任何额外的 Oracle 软件。因此,您可以从 JDBC 驱动程序下载
页
面下载包含相应瘦驱动程序版本类别的 JAR 文件,然后将该驱动程序安装在您的计算机上,无需安装/升级任何其他的 Oracle
软件。要安装该驱动程序,您只需将其 JAR 文件复制到本地文件系统
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
一:oracle版本介绍:
oracle8
oracle8i 表示此时oracle公司进军互联网,i代表Internet
oracle9i和oracle8i类似
oracle10g包括现在的11g使用了网格计算,g代表grid.
二:oracle10g服务介绍:
OracleDBConsoleorcl 这个是采用浏览器使用的oracle企业管理器 (也就是你安装弹出的那个网页)
OracleOraDb10g_home1iSQ ......
在我们详细介绍之前,我们必须说清楚一点:Oracle不提供如删除表、视图一样删除数据文件的方法,数据文件是表空间的一部分,所以不能“移走”表空间。
一、使用offline数据文件的方法
非归档模式使用:alter database datafile '...' offline drop;
归档模式使用: alter database datafile '.. ......
一、使用srvctl管理RAC数据库
[root@NODE01 bin]# pwd
/orac/crs/bin # srvctl在$CRS_HOME/bin目录下,它可以在任何节点上维护。
[root@NODE01 bin]# ./srvctl
Usage: srvctl <command> <object> [<options>]
command: enable|disable|start|stop|relocate|status| ......