手动配置共享服务器模式

"专有服务器模式:用户进程和专有服务器进程是两种不同类型的进程。当客户端发出连接数据库请求的时候,监听器把客户端(用户进程)连接到专有服务器进程。是一一对应的关系。
适用于批处理和RMAN备份恢复。
共享服务器模式:调度进程接接受多个客户端的连接请求,并把这些请求放到一个公共队列中。空闲的服务器进程从这个公共队列中抓出这些请求,然后完成请求的任务,任务完成后,把结果放到响应队列中,调度进程再从响应队列中把完成的结果返回给用户进程(客户端)。"
 
 
环境
OS CentOS 5.4
DB Oracle 11g R2
需求:将数据库配置成共享服务器模式
1)         spfile 生成 pfile 文件
create pfile='$ORACLE_HOME/dbs/initMYTEST.ora' from spfile;
2)         修改 pfile 文件
vim $ORACLE_HOME/dbs/initMYTEST.ora
3)         加入(或修改)如下内容
shared_servers=3
max_shared_servers=39
dispatchers="(protocol=TCP)(serv=LISTENER)(list=LISTENER)(poo=on)(disp=5)(con=33)(sess=224)"
max_dispatchers=19
 
参数说明:
shared_servers指定Oracle启动时,启动的共享服务器进程的最小数量。对于很繁忙的系统,这个值设高一些,对于空闲的系统,这个值设低一些。对于一般的系统,这个值是连接数的十分之一。
max_shared_servers这个值设置共享服务器进程的最大数量
dispatchers用于设置调度进程。其中protocol用于设置调度进程支持的协议;poo用于设置是否启动共享池(on启动)disp用于设置调度进程的数量;con用于设置每个调度进程的最大网络连接数;sess用户设置每个调度进程的最大会话(session)数。
list指定监听器的别名,调度进程的信息将被注册到这个监听器。特别注意:这里的“别名”并不是监听器的名字,而是一个网络服务名。Serv指定一个网络服务名。
max_dispatchers用于设置调度进程的最大数值。
 
4)         监听器的配置(可选)
netmgr ――图形配置模式。或修改 listener.ora 文件。
5)         关闭数据库
shutdown immediate
6)         pfile 生成 spfile
create spfile from pfile='$ORACLE_HOME/dbs/initMYTEST.ora';
7)         查看设置的参数是否生效
show parameter share
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address             integer     0
max_shared_servers                   integer     39
shared_memory_address                integer     0
shared_pool_reserved_size            big integer 5M
shared_pool_size                     big integer 0
shared_server_sessions               integer
shared_servers                       integer     3
8)         查看调度进程的配置参数
show parameter disp;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cell_offload_plan_display            string      AUTO
dispatchers                          string      (protocol=TCP)(serv=MYTEST)(li
                                                 st=)(poo=on)(disp=5)(con=33)(s
                                                 ess=224)
max_dispatchers                      integer     19
9)         查看共享服务器进程的情况
select * from v$shared_server
10)     查看调度进程的情况
select * from v$dispatcher;
格式显示不规则的,最好使用第三方软件。用 SQL*Plus 进行格式化,是非常麻烦的事情。

你可能感兴趣的:(oracle,数据库,职场,休闲,共享服务器模式)