是否配置为共享服务器最主要的参数是:
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方式