a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

oracle數(shù)據(jù)庫連接池的使用

2024-08-29 13:53:34
字體:
供稿:網(wǎng)友
數(shù)據(jù)庫連接是一種關(guān)鍵的有限的昂貴的資源,這一點(diǎn)在多用戶的網(wǎng)頁應(yīng)用程序中體現(xiàn)得尤為突出。對(duì)數(shù)據(jù)庫連接的管理能顯著影響到整個(gè)應(yīng)用程序的伸縮性和健壯性,影響到程序的性能指標(biāo)。數(shù)據(jù)庫連接池正是針對(duì)這個(gè)問題提出來的。

數(shù)據(jù)庫連接池負(fù)責(zé)分配、管理和釋放數(shù)據(jù)庫連接,它允許應(yīng)用程序重復(fù)使用一個(gè)現(xiàn)有的數(shù)據(jù)庫連接,而再不是重新建立一個(gè);釋放空閑時(shí)間超過最大空閑時(shí)間的數(shù)據(jù)庫連接來避免因?yàn)闆]有釋放數(shù)據(jù)庫連接而引起的數(shù)據(jù)庫連接遺漏。這項(xiàng)技術(shù)能明顯提高對(duì)數(shù)據(jù)庫操作的性能。

數(shù)據(jù)庫連接池在初始化時(shí)將創(chuàng)建一定數(shù)量的數(shù)據(jù)庫連接放到連接池中,這些數(shù)據(jù)庫連接的數(shù)量是由最小數(shù)據(jù)庫連接數(shù)來設(shè)定的。無論這些數(shù)據(jù)庫連接是否被使用,連接池都將一直保證至少擁有這么多的連接數(shù)量。連接池的最大數(shù)據(jù)庫連接數(shù)量限定了這個(gè)連接池能占有的最大連接數(shù),當(dāng)應(yīng)用程序向連接池請(qǐng)求的連接數(shù)超過最大連接數(shù)量時(shí),這些請(qǐng)求將被加入到等待隊(duì)列中。數(shù)據(jù)庫連接池的最小連接數(shù)和最大連接數(shù)的設(shè)置要考慮到下列幾個(gè)因素:

1) 最小連接數(shù)是連接池一直保持的數(shù)據(jù)庫連接,所以如果應(yīng)用程序?qū)?shù)據(jù)庫連接的使用量不大,將會(huì)有大量的數(shù)據(jù)庫連接資源被浪費(fèi);

2) 最大連接數(shù)是連接池能申請(qǐng)的最大連接數(shù),如果數(shù)據(jù)庫連接請(qǐng)求超過此數(shù),后面的數(shù)據(jù)庫連接請(qǐng)求將被加入到等待隊(duì)列中,這會(huì)影響之后的數(shù)據(jù)庫操作。

3) 如果最小連接數(shù)與最大連接數(shù)相差太大,那么最先的連接請(qǐng)求將會(huì)獲利,之后超過最小連接數(shù)量的連接請(qǐng)求等價(jià)于建立一個(gè)新的數(shù)據(jù)庫連接。不過,這些大于最小連接數(shù)的數(shù)據(jù)庫連接在使用完不會(huì)馬上被釋放,它將被放到連接池中等待重復(fù)使用或是空閑超時(shí)后被釋放。

在傳統(tǒng)的兩層結(jié)構(gòu)中,客戶端程序在啟動(dòng)時(shí)打開數(shù)據(jù)庫連接,在退出程序時(shí)關(guān)閉數(shù)據(jù)庫連接。這樣,在整個(gè)程序運(yùn)行中,每個(gè)客戶端始終占用一個(gè)數(shù)據(jù)庫連接,即使在大量沒有數(shù)據(jù)庫操作的空閑時(shí)間,如用戶輸入數(shù)據(jù)時(shí),從而造成數(shù)據(jù)庫連接的使用效率低下。

在三層結(jié)構(gòu)模式中,數(shù)據(jù)庫連接通過中間層的連接池管理。只有當(dāng)用戶真正需要進(jìn)行數(shù)據(jù)庫操作時(shí),中間層才從連接池申請(qǐng)一個(gè)連接,數(shù)據(jù)庫操作完畢,連接立即釋放到連接池中,以供其他用戶使用。這樣,不僅大大提高了數(shù)據(jù)庫連接的使用效率,使得大量用戶可以共享較少的數(shù)據(jù)庫連接,而且省去了建立連接的時(shí)間。

連接池的配置使用

數(shù)據(jù)庫連接池是應(yīng)用服務(wù)器的一項(xiàng)基本功能,我們以Apusic application Server為例,來說明JDBC連接池的配置使用。

Apusic JDBC連接池提供對(duì)多種數(shù)據(jù)庫的支持,如Oracle、MS SqlServer、Sybase、Informix、DB2等。

Apusic JDBC連接池可以通過數(shù)據(jù)庫本身的JDBC Driver連接到數(shù)據(jù)庫,也可以通過JDBC-ODBC橋連接到數(shù)據(jù)庫。下面我們以O(shè)racle為例說明如何配置連接池:

Oracle數(shù)據(jù)庫的JDBC Driver包文件classes111.zip在/usr/oracle/jdbc/lib(假設(shè)oracle的安裝目錄是/usr/oracle)目錄下,首先將classes111.zip加入到系統(tǒng)的CLASSPATH中。然后在apusic/config/apusic.conf(假設(shè)安裝目錄為apusic) 中作如下設(shè)置:

<SERVICE

CLASS="com.apusic.jdbc.PoolManager"

NAME="JdbcPool:name=jdbc/sample"

>

<ATTRIBUTE NAME="ExpirationTime" VALUE="300"/>

<ATTRIBUTE NAME="MinCapacity" VALUE="5"/>

<ATTRIBUTE NAME="URL" VALUE="jdbc:oracle:thin:@192.168.19.136:1521:orcl"/>

<ATTRIBUTE NAME="ConnectionPRoperties" VALUE="user=gtj,passWord=abc123"/>

<ATTRIBUTE NAME="DriverClassName" VALUE="oracle.jdbc.driver.OracleDriver" />

<ATTRIBUTE NAME="MaxCapacity" VALUE="30"/>

</SERVICE>

ExpirationTime: 超時(shí)時(shí)間,單位是秒。當(dāng)一個(gè)數(shù)據(jù)庫連接超過expirationTime設(shè)定時(shí)間不被使用

時(shí),系統(tǒng)會(huì)自動(dòng)關(guān)閉這個(gè)數(shù)據(jù)庫連接。默認(rèn)值為300秒

MinCapacity: 最小連接數(shù)

URL: 數(shù)據(jù)庫的URL

ConnectionProperties: 連接屬性,其中:user用戶名,password密碼

DriverClassName: JDBC驅(qū)動(dòng)程序類名

MaxCapacity: 最大連接數(shù)

192.168.19.136: oracle所在計(jì)算機(jī)的IP地址。

調(diào)用連接池

我們以一個(gè)jsp程序?yàn)槔f明如何使用連接池。首先通過JNDI得到DataSource,再的得到連接Connection,如下例所示:

<html>

<head>

<title>Jsp sample</title>

</head>

<body>

<p>

<%@ page contentType="text/html;charset=gb2312" %>

<%@ page import="

java.sql.*,

javax.naming.*,

javax.sql.*

"%>

<%

try{

Context ctx = new InitialContext();

DataSource ds = (DataSource)ctx.lookup("jdbc/sample");

Connection con = ds.getConnection();

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("select ENAME from EMP");

while(rs.next()){

out.println("<p>" + rs.getString(1));

}

rs.close();

stmt.close();

}catch(Exception e){

System.out.println("jsp:" + e.getMessage());

}finally{

try{

con.close();

}catch(Exception e1){}

}

%>

</body>

</html>
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美日本一区二区三区 | 亚洲欧美国产毛片在线 | 丁香婷婷久久久综合精品国产 | 黄色av免费在线观看 | 欧美日韩精品综合 | 特级淫片裸体免费看 | 一级片 | 国产一级淫免费播放m | 久久99精品国产麻豆婷婷洗澡 | 国产激情视频 | 超碰在线免费看 | 欧美在线a | 午夜精品久久久久久久99黑人 | 欧美a∨一区二区三区久久黄 | 色噜噜狠狠狠综合曰曰曰88av | 欧美日韩国产一区二区三区不卡 | 欧美一区二区 | 久久爱成人 | 日韩亚洲欧美在线观看 | 美日韩精品视频 | 午夜影院18| 一级在线毛片 | 欧美激情一区二区三区蜜桃视频 | 精品国产三级a在线观看 | 欧美日韩卡一卡二 | 激情婷婷 | 日韩精品无码一区二区三区 | 二区久久| 精品久久久久久久久久久久 | 欧美精品在线免费观看 | 91久久国产精品 | 国产精品无码专区在线观看 | 国产二区三区 | 国产精品原创巨作av色鲁 | 91最新 | 亚洲综合视频一区 | 午夜国产精品视频 | 99久久婷婷国产综合精品 | 欧美精产国品一二三区 | 成人a视频 | 久久久久久av |