日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

oracle会话资源,oracle session 会话

發(fā)布時(shí)間:2024/10/6 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle会话资源,oracle session 会话 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

管理Oracle

Session是后臺(tái)DBMS采用Oracle的信息管理系統(tǒng)的一個(gè)重要工作。如果管理不當(dāng),會(huì)對(duì)系統(tǒng)的性能和運(yùn)行的穩(wěn)定性產(chǎn)生非常大的影響。Oracle

Session是非常寶貴的資源,其數(shù)量通常都是有一個(gè)固定的設(shè)定值,對(duì)于Oracle 10g Enterprise

Edition來說,如果不修改初始化參數(shù),那么默認(rèn)最大的Session數(shù)為170個(gè),在后期系統(tǒng)管理員可以根據(jù)實(shí)際的需要來修改這個(gè)數(shù)值。因此系統(tǒng)必須非常小心的管理這些Session。本文主要就多層分布式系統(tǒng)中Oracle

Session的管理提供解決方案。下圖是本文所述的多層分布式管理系統(tǒng)的模型圖,層與層之間的調(diào)用關(guān)系如圖:

對(duì)于使用.NET Framework作為開發(fā)平臺(tái)的系統(tǒng)來說,如果是Web Application或者Smart Client

Application,在中間件層,應(yīng)用程序服務(wù)器多采用IIS,業(yè)務(wù)邏輯組件和數(shù)據(jù)訪問組件通常寄宿在IIS進(jìn)程中運(yùn)行。如果采用此種部署方案,那么影響Oracle

Session的主要是兩種因素:

1)IIS進(jìn)程數(shù);

2)連接池的設(shè)置。

一、連接池對(duì)Oracle Session的影響

在現(xiàn)代的軟件設(shè)計(jì)中,為了提高系統(tǒng)的性能,在數(shù)據(jù)訪問層通常會(huì)采用連接池來改善數(shù)據(jù)庫(kù)連接的效率來改善系統(tǒng)的性能,很多人可能不知道連接池的配置對(duì)Oracle

Session的產(chǎn)生有著至關(guān)重要的影響。連接池對(duì)Oracle Session影響主要有兩個(gè)因素:

1)對(duì)于ADO.NET來說,對(duì)于不同的連接字符串會(huì)產(chǎn)生不同的連接池。

2)min pool size的值。

對(duì)于使用了連接池的數(shù)據(jù)訪問層來說,Oracle Session的產(chǎn)生機(jī)制為:minsessions=(連接池?cái)?shù))X(min

pool size)。值得注意的是每次產(chǎn)生新的Oracle

Session是在不同AppDomain邊界產(chǎn)生的時(shí)候發(fā)生的,也就是說不同的進(jìn)程每執(zhí)行一次就會(huì)產(chǎn)生minsessions個(gè)oracle

Session,直到這個(gè)進(jìn)程結(jié)束才會(huì)釋放這些session.

二、IIS進(jìn)程數(shù)對(duì)Oracle Session的影響

在IIS6.0中,采用了新的進(jìn)程隔離模式來響應(yīng)用戶的請(qǐng)求,管理員可以設(shè)置多個(gè)進(jìn)程來滿足實(shí)際的需要。IIS進(jìn)程管理器(實(shí)際上是inetinfo.exe)負(fù)責(zé)調(diào)度這些進(jìn)程。在IIS管理器中,我們可以這樣來增加IIS進(jìn)程數(shù).

上文說到Oracle

Session是在不同的AppDomain邊界產(chǎn)生的時(shí)候發(fā)生的,因此不同的請(qǐng)求發(fā)送到IIS以后,每一個(gè)IIS進(jìn)程使Oracle產(chǎn)生min

pool size個(gè)Sessions。按照這個(gè)推算,那么實(shí)際產(chǎn)生的會(huì)話數(shù)為:

Sessions = (IIS process number) X (min pool size)。

從上文的分析中我們可以得出,對(duì)于Oracle來說,安全的Sessions數(shù)應(yīng)該為Sessions = (IIS process

number) X (min pool size)X(連接池?cái)?shù))。假定連接池?cái)?shù)為1,連接池min pool

size為10,iis進(jìn)程數(shù)為30,那么安全的Oracle

Sessions的數(shù)量應(yīng)該為300。如果不按照這個(gè)數(shù)量進(jìn)行設(shè)置,那么系統(tǒng)運(yùn)行的過程中IIS會(huì)經(jīng)常報(bào)告一些莫名奇妙的錯(cuò)誤,如認(rèn)證失敗。很多人可能會(huì)認(rèn)為IIS已經(jīng)Crash了,實(shí)際上是由于Session的數(shù)量超過了Oracle允許的數(shù)量。

當(dāng)然我們還必須將由于程序異常處理不當(dāng)?shù)仍斐傻膲乃赖腟ession的可能數(shù)量計(jì)算在內(nèi)。為了保證系統(tǒng)的運(yùn)行問題,應(yīng)該在上文所說的計(jì)算方法上加一個(gè)保險(xiǎn)值,如350.

什么是session

通俗來講,session

是通信雙方從開始通信到通信結(jié)束期間的一個(gè)上下文(context)。這個(gè)上下文是一段位于服務(wù)器端的內(nèi)存:記錄了本次連接的客戶端機(jī)器、通過哪個(gè)應(yīng)用程序、哪個(gè)用戶在登錄等信息[在pl/sql

developer中,通過Tools-->Sessions可以查看當(dāng)前數(shù)據(jù)庫(kù)的session]。session

是和connection同時(shí)建立的,兩者是對(duì)同一件事情不同層次的描述。簡(jiǎn)單講,connection是物理上的客戶機(jī)同服務(wù)器段的通信鏈路,session是邏輯上的用戶同服務(wù)器的通信交互。

oracle中一個(gè)用戶登錄oracle服務(wù)器的前提,就是該用戶具有oracle的 “create

session”權(quán)限。oracle允許同一個(gè)用戶在同一個(gè)客戶機(jī)上建立多個(gè)同服務(wù)器的連接,這一點(diǎn)從oracle的視圖V$session中可以看到[select

* from

v$session;]。每個(gè)session都代表了用戶與服務(wù)器的一個(gè)交互。就像兩個(gè)國(guó)家之間可以同時(shí)開展很多談判,經(jīng)濟(jì)的,環(huán)境的等等。關(guān)閉了有關(guān)經(jīng)濟(jì)的談判,不會(huì)影響到環(huán)境談判的進(jìn)行。后臺(tái)進(jìn)程PMON會(huì)每隔一段時(shí)間,就會(huì)測(cè)試用戶連接狀況,如果連接已斷開,PMON會(huì)清理現(xiàn)場(chǎng),釋放相關(guān)的資源。

在具體的應(yīng)用場(chǎng)景中connction 和 session 有很多情況:

1. sqlplus 登錄 oracle

這種場(chǎng)景比較容易理解,一個(gè)連接對(duì)應(yīng)一個(gè)session。

2. 其他客戶端工具登錄oracle

比如:pl/sql developer 登錄oracle。pl/sql developer

可以設(shè)置是否每個(gè)窗口共用同一個(gè)session. 如果想在調(diào)試窗口調(diào)試存儲(chǔ)過程或函數(shù),則必須設(shè)置為共享session。如果設(shè)置為非共享,

則每次打開一個(gè)操作窗口,pl/sql developer 會(huì)利用最初輸入的帳戶和口令建立新的connection 和

session.

3. IIS 用程序登錄oracle

這種情況下,其實(shí)是IIS在登錄oracle。connection 和 session

的建立情況和iis機(jī)制相關(guān)。(以下是參考了網(wǎng)友的觀點(diǎn),文章來源:http://www.cnblogs.com/)

“對(duì)于Oracle來說,安全的Sessions數(shù)應(yīng)該為Sessions = (IIS process number) * (min

pool size)?!?/p>

IIS進(jìn)程:在IIS6.0中,采用了新的進(jìn)程隔離模式來響應(yīng)用戶的請(qǐng)求,在IIS管理器中,可以設(shè)置應(yīng)用程序池的最大進(jìn)程數(shù)。對(duì)于新的WEB應(yīng)用請(qǐng)求,IIS進(jìn)程管理器會(huì)啟動(dòng)多個(gè)W3wp.exe進(jìn)行響應(yīng)。

4、 其他情況 有待各路英雄補(bǔ)充

orcale的session內(nèi)存

oracle 的連接分為兩種:獨(dú)占式,共享式。

在獨(dú)占式連接情況下,session(如游標(biāo),排序去,sql區(qū))是在PGA中分配的。

在共享式連接情況下,session的一部分(如UGA)是在中SGA的larg pool中分配的。

oracle session 和process

oracle中每個(gè)process 都有對(duì)應(yīng)的session。

process 分為

用戶進(jìn)程在V$session 中可用條件:$session.type = ‘USER’.查詢。

后臺(tái)進(jìn)程在V$session 中可用條件:$session.type = ‘BACKGROUND’查詢。

常見的后臺(tái)進(jìn)程:

SMON,PMON,DBWR,LGWR,MMAN,MRP,

RFS,RECO,CKPT,ARCH,Dnnn,Snnn,LMON,LMD0,QMNn,TRWR,WMON,LCKnnn,SNPnnn,

MMON,DMON,SNP

session 相關(guān)的初始化參數(shù):

process:oracle的連接數(shù)(sessions)與其參數(shù)文件中的進(jìn)程數(shù)(process)相關(guān),它們的關(guān)系如下:sessions=(1.1*process+5),我們可以通過修改inia.ora的這個(gè)process參數(shù)在更改可連接的最大session數(shù)。

workarea_size_policy:PGA用手動(dòng)管理還是自動(dòng)管,

在AUTO的時(shí)候每個(gè)session最多能用到5%或100M

總結(jié)

以上是生活随笔為你收集整理的oracle会话资源,oracle session 会话的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。