1。是否為配置為共用伺服器,最主要的參數是
8i mts_servers
9i shared_server
show parameter shared_server mts_servers
如果數值 > 0 ,就是enable了共用伺服器.
2。在配置為共用伺服器的情況,Client可以選擇用共用伺服器或者專用伺服器來串連到資料庫,這個參數的控制是在tnsnames.ora裡設定的
aaaa=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = aaaa)(PORT = 1521))
)
(CONNECT_DATA =
(SID = aa)
(SERVER = DEDICATED)
)
)
紅色部分指定了用DEDICATED方式串連DB.
另外,Background process ,以及通過本地串連進來的,只能是DEDICATED
比如說sqlplus user/pass 形式
如果DB沒有配置共用伺服器,那麼Client只能以DEDICATED方式串連DB.
3。判斷一個已經串連的session的串連方式有兩種方法
A
select server from v$session
where ...
如果server = 'DEDICATED'則是DEDICATED方式
server='SHARED'則是shared方式,並且正有shared_server_process為其服務
server='NONE'的話,則是shared方式,並且當前沒有shared_server_process為其服務。
B. 僅用於Unix 底下,似乎windown不行
串連v$session, v$process 看process中的program
1 select p.program,s.server from v$session s , v$process p
2* where s.paddr = p.addr
如果 program 為 。。(S0NN) 的,則是shared方式,並且正有shared_server_process為其服務
如果 program 為 。。(D0NN) 的,則是shared方式,並且當前沒有shared_server_process為其服務
如果 program 為 其它的,則是'DEDICATED'方式
(原文:http://www.cublog.cn/u/20078/showart.php?id=127802)