• dispatchers 设置


    Oracle连接方式(dispatchers 设置)

    oracle 响应客户端请求有两种方式:


    1 专有连接:用一个服务器进程响应一个客户端请求
    2 共享连接:用一个分派器(dispatcher)响应一个客户端请求,服务器端有多个服务器进程,共享处理所有分派器的请求;

    两种连接方式的优缺点


    1 对于连接数不多的应用,适宜用专有连接,客户的请求响应及时;
    2 对于连接数较大的应用,适宜用共享连接,充分利用系统资源

    后台作业和RMAN操作必须使用专有连接;

    配置共享服务器连接
    既可以在参数文件内进行静态配置,可以动态修改;

    共享服务器配置的初始化参数


      SHARED_SERVERS: 初始化启动的服务器进程数和保留的最小服务器进程数;如果使用共享连接,这个参数是必配的;
      MAX_SHARED_SERVERS: 最大并发的共享服务器进程数
      SHARED_SERVER_SESSIONS: 可并发处理的最大共享用户会话数,超过此数值的用户会话将使用专有连接
      DISPATCHERS: 共享连接的分派器数量
      MAX_DISPATCHERS: 可同时并发的共享连接的最大的分派器数量,此参数目前可忽略;
      CIRCUITS: 可用的虚拟回路数(Specifies the total number of virtual circuits that are available for inbound and outbound network sessions)

    配置共享服务器连接


    1 静态参数文件中SHARED_SERVERS大于0既可。其他参数不是必要的。
    2 使用ALTER SYSTEM语句设置SHARED_SERVERS为一大于0值,如:
        ALTER SYSTEM SET SHARED_SERVERS = 5;

    设置SHARED_SERVERS数值


    一般而言,可以按一个服务器响应10个连接进行计算;
    实际的共享服务器进程可以动态增加,SHARED_SERVERS的数值应该设置为实际所需要的最小值;

    设置MAX_SHARED_SERVERS以限制共享服务器进程数;
    可以动态修改MAX_SHARED_SERVERS以允许更多的服务器进程数,或者动态修改SHARED_SERVERS为一个大于MAX_SHARED_SERVERS的数值以允许更多的服务器进程数;

    设置SHARED_SERVERS数值


    Number of dispatchers =
    CEIL ( max. concurrent sessions / connections for each dispatcher )


    例如:


    每进程能支持970个连接
    TCP/IP连接最多有4000个会话
    安全(TCP/IP with SSL)最多有2,500个会话

    则用于TCP/IP协议的DISPATCHERS可设为5,CELL(4000 / 970), 用于安全TCP/IP协议的dispatchers 可设为3,CELL(2500 / 970:

    DISPATCHERS='(PROT=tcp)(DISP=5)', '(PROT-tcps)(DISP=3)'

    强制特定的IP使用DISPATCH
    DISPATCHERS="(ADDRESS=(PROTOCOL=TCP)(HOST=144.25.16.201))(DISPATCHERS=2)"

    这将产生两个DISPATCH监听特定的IP

    强制DISPATCH使用特定端口


    DISPATCHERS="(ADDRESS=(PROTOCOL=TCP)(PORT=5000))"
    DISPATCHERS="(ADDRESS=(PROTOCOL=TCP)(PORT=5001))"

    修改DISPATCH数量


    DISPATCH不可以自动地动态变化。须使用ALTER SYSTEM命令进行修改。
    MAX_DISPATCHERS可以设定可使用的最大DISPATCH数;

    察看DISPATCH的负载性能,可查询如下视图


      V$QUEUE
      V$DISPATCHER
      V$DISPATCHER_RATE

    动态修改DISPATCH数量,使用ALTER SYSTEM 命令,如初始配置为:


    DISPATCHERS='(PROT=tcp)(DISP=2)', '(PROT=tcps)(DISP=2)'
    现在要将TCP协议的DISPATCH设为3,TCPS设为1
    命令如下:
    ALTER SYSTEM SET DISPATCHERS = '(INDEX=0)(DISP=3)', '(INDEX=1)(DISP=1)';
    或:
    ALTER SYSTEM SET DISPATCHERS = '(PROT=tcp)(DISP=3)', '(PROT-tcps)(DISP=1)';
    如果当前TCP协议的DISPATCH少于3,数据库将会创建新的DISPATCH。相反,如下TCPS当前有2个DISPATCH,则会在用户退出连接后减少一个dispatch

    查询DISPATCH的配置


    V$DISPATCHER_CONFIG

    当修改一个DISPATCH的DESCRIPTION, ADDRESS, PROTOCOL, CONNECTIONS,TICKS, MULTIPLEX, and POOL属性后,修改后的设置不能立即生效,需要强制性地杀掉现在的DISPATCH进程

    关闭DISPATCH进程


    1 确定要关闭的进程
    SELECT NAME, NETWORK FROM V$DISPATCHER;
    2 ALTER SYSTEM SHUTDOWN IMMEDIATE 'D002'(DISPATCH NAME);


    关闭共享服务连接


    1 设置SHARED_SERVERS=0;
    2 关闭DISPATCH
    ALTER SYSTEM SET DISPATCHERS = '';


    监控


    View                  Description
    V$DISPATCHER          提供DISPATCH进程信息,包括DISPATCH名称,网络,地址,状态,统计信息和索引号等;
    V$DISPATCHER_CONFIG   提供DISPATCH的配置信息
    V$DISPATCHER_RATE     提供DISPATCH的速度(RATE)统计
    V$QUEUE               提供共享服务器队列信息.
    V$SHARED_SERVER       提供共享服务器信息.
    V$CIRCUIT             提供用户通过DISPATCH连接到数据库的虚拟回路信息(virtual circuits)
    V$SHARED_SERVER_MONITOR 提供共享服务器的优化信息

  • 相关阅读:
    最近的3个困惑:信守承诺、技术产品先行还是市场销售先行、客户从哪来
    最近的3个困惑:信守承诺、技术产品先行还是市场销售先行、客户从哪来
    详细回复某个CSDN网友,对我的文章和技术实力以及CSDN的吐槽
    详细回复某个CSDN网友,对我的文章和技术实力以及CSDN的吐槽
    2015年工作中遇到的问题:21-30(这10个问题很有价值)
    使用ABAP(ADBC)和Java(JDBC)连接SAP HANA数据库
    C4C和Outlook的集成
    Hybris开发环境的license计算实现
    CRM WebClient UI和Hybris里工作中心跳转的url生成逻辑
    CRM WebUI and Hybris的Product页面标题实现
  • 原文地址:https://www.cnblogs.com/ios9/p/7660918.html
Copyright © 2020-2023  润新知