oracle session和process的關係

2021-07-24 07:36:19 字數 2119 閱讀 4246

通俗來講,session 是通訊雙方從開始通訊到通訊結束期間的乙個上下文(context)。這個上下文是一段位於伺服器端的記憶體:記錄了本次連線的客戶端機器、通過哪個應用程式、哪個使用者在登入等資訊[在pl/sql developer中,通過tools-->sessions可以檢視當前資料庫的session]。session 是和connection同時建立的,兩者是對同一件事情不同層次的描述。簡單講,connection是物理上的客戶機同伺服器段的通訊鏈路,session是邏輯上的使用者同伺服器的通訊互動。session被應用於oracle層次而非作業系統層次.在不考慮通過專用伺服器或共享伺服器進行登入的情況下,這個引數限制了對指定例項的併發登陸數. 

oracle中乙個使用者登入oracle伺服器的前提,就是該使用者具有oracle的 「create session」許可權。oracle允許同乙個使用者在同乙個客戶機上建立多個同伺服器的連線,這一點從oracle的檢視v$session中可以看到[select * from v$session;]。每個session都代表了使用者與伺服器的乙個互動。就像兩個國家之間可以同時開展很多談判,經濟的,環境的等等。關閉了有關經濟的談判,不會影響到環境談判的進行。後台程序pmon會每隔一段時間,就會測試使用者連線狀況,如果連線已斷開,pmon會清理現場,釋放相關的資源。

在具體的應用場景中connction 和 session 有很多情況:

1. sqlplus 登入 oracle

這種場景比較容易理解,乙個連線對應乙個session。

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

比如:pl/sql developer 登入oracle。pl/sql developer 可以設定是否每個視窗共用同乙個session. 如果想在除錯視窗除錯儲存過程或函式,則必須設定為共享session。如果設定為非共享, www.linuxidc.com則每次開啟乙個操作視窗,pl/sql developer 會利用最初輸入的帳戶和口令建立新的connection 和 session.

3. iis 用程式登入oracle

這種情況下,其實是iis在登入oracle。connection 和 session 的建立情況和iis機制相關。

「對於oracle來說,安全的sessions數應該為sessions = (iis process number) * (min pool size)。」

iis程序:在iis6.0中,採用了新的程序隔離模式來響應使用者的請求,在iis管理器中,可以設定應用程式池的最大程序數。對於新的web應用請求,iis程序管理器會啟動多個w3wp.exe進行響應。

process:這個引數限制了能夠連線到sga的作業系統程序數(或者是windows 系統中的執行緒數),這個總數必須足夠大,從而能夠適用於後台程序與所有的專用伺服器程序,此外,共享伺服器程序與排程程序的數目也被計算在內.此外,共享伺服器程序與排程程序的數目也被計算在內.因此,在專用伺服器環境中,這是一種限制併發連線數的方法. 

oracle的連線數(sessions)與其引數檔案中的程序數(process)相關,它們的關係如下:sessions=(1.1*process+5),若果資源允許,而當前process 數過小,那麼可以適當增大processs 數( session 數依賴於process數,一般不去直接修改session數)。

shared server中的process 乙個對應著oracle 中的乙個或者乙個以上的session。dedicated server中,乙個session對應乙個process,但是乙個process未必對應乙個session。

v$session  每乙個連線到資料庫例項中的session都擁有一條記錄。包括使用者session及後台程序如dbwr,lgwr,arcchiver等等。

v$process 本檢視包含當前系統oracle執行的所有程序資訊。常被用於將oracle或服務程序的作業系統程序id與資料庫session之間建立聯絡。

show parameter sessions  檢視當前session配置

show parameter processes   檢視當前process配置

alter system set processes=1000 scope=spfile  更改配置,更改完後需要重啟資料庫。

修改oracle配置檔案中process進行修改

**:

p 和 p的區別

p 和 p的區別 舉例,如清單3 cpp view plain copy include intmain void int p arr inta p 等價於a p 即a p p p 1 intb p 等價於b p 即p p 1 b p printf a d,b d n a,b return 0 例子...

C語言指標 p 和 p及 p的區別

今天覆習了一下c語言的指標題目,發現在很多 結果題目中都出現了表示式 p p和 p,而這幾個表示式特別容易混淆。那麼通過什麼方式區分他們呢,答案就是運算子優先順序。和 指標訪問運算子 優先順序相同,根據從右往左的結合性,因此等價於 p 又因為後置 是先使用再自加,所以先取值 p,然後再讓p加1.p ...

p 和 p 岳雲鵬也可以P成公主

8月23日,岳雲鵬再次上網玩。這次他沒有自己的助手。相反,他開始給自己畫一些漂亮的 總的來說,p 會很帥。岳雲鵬也是如此。這一次岳雲鵬似乎在漂浮。事實上,他把自己的 變成了 迪斯尼王子 在此之前,迪士尼公主在逃 在網路上非常流行。如今岳雲鵬的公開賽獲得了無數人的青睞。其實岳雲鵬不僅僅p圖成了迪士尼王...