现在的位置: 首页 > 综合 > 正文

ORACLE的专用模式和共享模式(转)

2011年12月12日 ⁄ 综合 ⁄ 共 978字 ⁄ 字号 评论关闭

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)

抱歉!评论已关闭.