Oracle中的Connect、session、process的區別

mengzhaoliang發表於2009-04-13

Session:在計算機中,尤其是在網路應用中,稱為“會話”。
Session:在計算機專業術語中,Session是指一個終端使用者與互動系統進行通訊的時間間隔,通常指從註冊進入系統到登出退出系統之間所經過的時間。


Connect、session、process的區別:
  一個資料庫的Connect可以有一個或多個session,同時connect也可以有一個或多個process.
  在專業伺服器連線方式中,一個session對應一個process,在共享伺服器方式中,一個process可以為多個session。
  一個session也可以存在若干個process中,並行同樣是一個session對應一個process,主session是coordinator session,每個parallel process同樣會對應資料庫裡一個單獨的session。
可以從v$px_session和v$session檢視。

比如某客戶端連線資料庫的session和process的值:
select * from v$session where terminal='RUIFEI'

select * from v$process
where addr in
(select paddr from v$session where terminal='RUIFEI')
如果是專用伺服器方式連線,session和process是一樣的。

 

下面摘自itpub:
連線connects,會話sessions和程式pocesses的關係
每個sql login稱為一個連線(connection),而每個連線,可以產生一個或多個會話,如果資料庫執行在專用伺服器方式,一個會話對應一個伺服器程式(process),如果資料庫執行在共享伺服器方式,一個伺服器程式可以為多個會話服務。


oracle中系統process和session的關係
 
在Shared Server中的Process 和Oracle 中的Session不是一一對應的,Shared Server中的Process 一個對應著Oracle 中的一個或者一個以上的Session。我在dedicated server機器上試驗了
資料庫的session和作業系統process是對應的
即表示一個session對應一個process,但是一個process未必對應一個session

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-588851/,如需轉載,請註明出處,否則將追究法律責任。

相關文章