专有/共享服务器模式

    专有服务器模式:用户进程和专有服务器进程是两种不同类型的进程。当客户端发出连接数据库请求的时候,监听器把客户端(用户进程)连接到专有服务器进程。是一一对应的关系。

    适用于批处理和RMAN备份恢复。

    共享服务器模式:调度进程接接受多个客户端的连接请求,并把这些请求放到一个公共队列中。空闲的服务器进程从这个公共队列中抓出这些请求,然后完成请求的任务,任务完成后,把结果放到响应队列中,调度进程再从响应队列中把完成的结果返回给用户进程(客户端)。

    手动配置共享服务器模式

      环境

      OSCentOS5.4

      DBOracle11g 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进行格式化,是非常麻烦的事情。

      请求一个专有服务器模式

        编辑客户端的网络配置文件tnsnames.ora增加红色部分

        ……

        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))

         

        SERVER=dedicate

        12-31 05:12
        查看更多