使用和配置共享服务器连接进程

oracle的2种连接进程方式
1.专有服务器进程
2.共享服务器进程

他们做共同的工作:不仅维持连接,而且处理所有的SQL请求,负载非常大。

专有服务器进程是与客户端进程是一对一映射,即时生成,即时消失。用户会话数据和游标状态放在PGA里

共享服务器进程是已经存在的,分为2部分,一种是dispatch进程,一种是共享服务器进程。
dispatch进程与user进程建立连接,把用户请求放入SGA的请求队列里,共享进程取出请求进行处理,处理完后放入SGA响应队列,dispatch进程取出处理结果给用户进程。一个dispatch可以和250或300个客户端进程进行连接。一个请求队列,多个响应队列。用户会话数据和游标状态放在SGA里。

配置共享服务器:
设置初始化参数dispatchers和shared_servers;
dispatchers 设置初始化不同协议dispatcher的数量,不可动态增加(为空时不能直接修改,必须改spfile;不为空时可通过alter system set dispatchers='(protocol=tcp)(dispatchers=1)'修改)
create pfile from spfile;
在pfile中增加一行  *.dispatchers='(protocol=tcp)(dispatchers=1)'
create spfile from pfile;

shared_servers 共享服务器初始化个数,最少启动个数

可选参数:
max_shared_servers 共享服务器最大的个数,
max_dispatchers 限制dispatchers参数的最大的dispatchers的个数
circuits 整个oracle进站和出站的请求包的数目
shared_server_sessions 所有的共享服务器所能处理的会话总数
large_pool_size SGA里large pool大小(注:用户会话数据和游标状态放在SGA里shared pool或者large pool里)

查看是否启动shared server
lsnrctl services

在客户端指定连接方式
1.增加一行在tnsnames.ora文件 (SERVER = DEDICATED)或者 (SERVER = SHARED)
XWX =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)或者(SERVER = SHARED)
      (SERVICE_NAME = orcl)
    )
  )
2.在sqlnet.ora中增加一行 USE_DEDICATED_SERVER=ON;

如何选择使用dedicated server还是shared server
下面3种情况你需选用dedicated server
1.批处理操作
2.作为数据库管理员进行启动停止恢复数据库(shared server不能shutdown)
3.3层架构

2种指定dispatcher进程要连接的listener
1.在tnsnames.ora配置一个listener的连接识别码,在spfile里dispatchers加入参数listener=连接识别码。
2.设置参数local_listener为连接识别码。


相关的动态视图
v$circuit
v$shared_server
v$dispatcher
v$shared_server_monitor
v$queue
v$session

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值