是否配置為共享服務器最主要的參數是:
i mts_servers
i shared_server
show parameter shared_server mts_servers
如果數值 > 就是enable了共享服務器
在配置為共享服務器的情況Client可以選擇用共享服務器或者專用服務器來連接到數據庫這個參數的控制是在tnsnamesora裡設定的
aaaa=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = aaaa)(PORT = ))
)
(CONNECT_DATA =
(SID = aa)
(SERVER = DEDICATED)
)
)
紅色部分指定了用DEDICATED方式連接DB
另外Background process 以及通過本地連接進來的只能是DEDICATED
比如說sqlplus user/pass 形式
如果DB沒有配置共享服務器那麼Client只能以DEDICATED方式連接DB
判斷一個已經連接的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
select pprogramsserver from v$session s v$process p
* where spaddr = paddr
如果 program 為 (SNN) 的則是shared方式並且正有shared_server_process為其服務
如果 program 為 (DNN) 的則是shared方式並且當前沒有shared_server_process為其服務
如果 program 為 其它的則是DEDICATED方式
From:http://tw.wingwit.com/Article/program/Oracle/201311/18600.html