数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

实例解析Oracle是共享模式还是专用模式


发布日期:2023年01月09日
 
实例解析Oracle是共享模式还是专用模式

是否配置为共享服务器最主要的参数是:

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方式

上一篇:Oracle数据库出现奇怪表名的清除方法

下一篇:ORACLErowdi坏块恢复案例