当前位置:  数据库>oracle

配置Oracle共享服务器

    来源: 互联网  发布时间:2017-05-26

    本文导语: 用户连接Oracle数据库服务器主要有两种方式:专有服务器连接和共享服务器连接 在专有服务器模式中,当客户端发出连接数据库的请求时,监听器负责把客户端连接到专有服务器进程,该专有服务器进程只为该会话的用户进程...

用户连接Oracle数据库服务器主要有两种方式:专有服务器连接和共享服务器连接

在专有服务器模式中,当客户端发出连接数据库的请求时,监听器负责把客户端连接到专有服务器进程,该专有服务器进程只为该会话的用户进程服务,即使处于空闲状态。专有服务器进程与用户进程之间是一一对应的,每个服务器进程都会使用系统资源,包括CPU周期和内存。

在负荷很高的系统中,由于专有服务器进程占用了内存和CPU资源,因而会对系统的可伸缩性产生负面影响,所以一般客户端要通过中间件的连接池连接到数据库的专有服务器,或者连接到数据库的共享服务器。

相关阅读:

Oracle 共享服务器(Shared Server/MTS)的配置简析

Oracle共享服务器的监听注册机制研究 

在共享服务器模式中,客户端用户进程的连接请求将被监听器传送至负载最小的调度进程(dispatcher)中,调度进程负责将用户请求传递到SGA中一个公共的请求队列。空闲的共享服务器进程将完成请求队列中的用户请求,并将结果放到响应队列中,最后调度进程将取出响应队列中的结果返回给用户进程。

会话与调度进程的连接在会话期间持久存在,而与监听器的连接是短暂的。且所有的调度进程共享一个公共的请求队列,但是每个调度进程都具有独立的响应队列。

配置共享服务器

在服务器端,共享服务器与数据库无关,而只与实例有关。通过实例动态注册,会为共享服务器自动配置监听器。

共享服务器需要配置两个必需的参数:dispatchers和shared_servers

dispatchers参数控制在实例中启动的调度进程数以及这些进程的行为(协议类型等),max_dispatchers参数指定了能够启动的调度进程数的上限。

shared_servers参数控制在实例中启动的共享服务器进程的数量。max_shared_servers参数指定了能够启动共享服务器进程数的上限,默认为processers参数值的1/8。

$grep -A 5 APPLE $TNS_ADMIN/tnsnames.ora
APPLE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.90)(PORT = 1522))
  )
SQL> !ps aux | grep ora_s0.._orcl | grep -v grep
oracle    5223  0.0  1.0 666136 15028 ?        Ss  10:21  0:00 ora_s000_orcl
SQL> show parameter dispatchers
NAME                                TYPE        VALUE
------------------------------------ ----------- ----------------------------------
dispatchers                          string      (PROTOCOL=TCP) (SERVICE=orclXDB)
max_dispatchers                      integer
SQL> alter system set dispatchers='(PROTOCOL=TCP) (dispatchers=3)';                  //创建3个调度进程D000、D001、D002
SQL> select name,network,paddr,status from v$dispatcher;
NAME  NETWORK                                                          PADDR                STATUS
----- ----------------------------------------------------------------- -------------------- ----------------
D000  (ADDRESS=(PROTOCOL=tcp)(HOST=ora11g.example.com)(PORT=62238))    000000007AC8AFF0    WAIT
D001  (ADDRESS=(PROTOCOL=tcp)(HOST=ora11g.example.com)(PORT=54626))    000000007AC8C030    WAIT
D002  (ADDRESS=(PROTOCOL=tcp)(HOST=ora11g.example.com)(PORT=16374))    000000007AC8D070    WAIT
SQL> !ps aux | grep ora_d0.._orcl | grep -v grep
oracle    9303  0.0  1.0 666976 15992 ?        Ss  15:35  0:00 ora_d000_orcl
oracle    9392  0.0  1.0 666976 15976 ?        Ss  15:38  0:00 ora_d001_orcl
oracle    9396  0.0  1.0 666976 16004 ?        Ss  15:38  0:00 ora_d002_orcl
SQL> alter system set shared_servers=6;                                  //创建6个响应队列S000~S005(一般为dispatchers的倍数)
SQL> select name,paddr,status,circuit from v$shared_server;
NAME PADDR            STATUS          CIRCUIT
---- ---------------- ---------------- ----------------
S000 000000007AC8E0B0 WAIT(COMMON)    00
S001 000000007AC8F0F0 WAIT(COMMON)    00
S002 000000007AC90130 WAIT(COMMON)    00
S003 000000007AC91170 WAIT(COMMON)    00
S004 000000007AC921B0 WAIT(COMMON)    00
S005 000000007AC94230 WAIT(COMMON)    00
SQL> !ps aux | grep ora_s0.._orcl | grep -v grep
oracle    5223  0.0  1.0 666136 15028 ?        Ss  10:21  0:00 ora_s000_orcl
oracle    6692  0.1  1.0 666136 15028 ?        Ss  11:13  0:00 ora_s001_orcl
oracle    6696  0.1  1.0 666136 15028 ?        Ss  11:13  0:00 ora_s002_orcl
oracle    6700  0.0  1.0 666136 15032 ?        Ss  11:13  0:00 ora_s003_orcl
oracle    6704  0.1  1.0 666136 15044 ?        Ss  11:13  0:00 ora_s004_orcl
oracle    6708  0.1  1.0 666136 15032 ?        Ss  11:13  0:00 ora_s005_orcl
SQL> alter system set dispatchers='(PROTOCOL=TCP) (dispatchers=3) (listener=apple)';        //单独将dispathers注册到LISTENER1的监听器上
SQL> !lsnrctl service listener1
---------------省略输出---------------
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.90)(PORT=1522)))
Services Summary...
Service "orcl.example.com" has 1 instance(s).  Instance "orcl", status READY, has 4 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:ready
        LOCAL SERVER
      "D002" established:0 refused:0 current:0 max:972 state:ready
        DISPATCHER
        (ADDRESS=(PROTOCOL=tcp)(HOST=ora11g.example.com)(PORT=16374))
      "D001" established:0 refused:0 current:0 max:972 state:ready
        DISPATCHER
        (ADDRESS=(PROTOCOL=tcp)(HOST=ora11g.example.com)(PORT=54626))
      "D000" established:0 refused:0 current:1 max:972 state:ready
        DISPATCHER
        (ADDRESS=(PROTOCOL=tcp)(HOST=ora11g.example.com)(PORT=62238))
The command completed successfully

更多详情见请继续阅读下一页的精彩内容:


    
 
 

您可能感兴趣的文章:

  • nginx服务器下通过fastcgi支持php5详细安装配置步骤
  • 请问配置了ftp服务器、邮件服务器后系统默认开放哪些端口?
  • mysql主从服务器配置特殊问题
  • 在设备上配置NTP服务器时出现了下列问题导致服务器同步失败
  • JBuilder里如何配置JSP服务器?
  • LINUX下如何将拔号服务器配置为通过RADIUS服务器验证!最好详细一点!
  • 配置DNS服务器后,服务器可解析,客户端不能解析。求解
  • Linux 服务器能否象win2000一样配置成主域服务器?
  • 自动配置服务器 openACs
  • 1、文件共享问题?2、怎么在Linux RedHead 9下配置邮件服务器?
  • cvs服务器的配置
  • 如何配置linux下的FTP服务器?请高手提供资料!
  • Linux下怎样配置SSL的Apache服务器
  • 请教在RedHat7.2下配置新闻组服务器的方法(分不够再加)
  • linux服务器配置问题
  • sendmail邮件服务器配置域名问题
  • 服务器管理和配置系统 OpenPanel
  • 如何在Unix下配置DNS解析服务器
  • 求会linux下jabber服务器端配置的高手
  • 智能DNS服务器的配置问题
  • fedora10下如何配置dhcpv6服务器
  • 跪求!。。如何在unix下配置NAT共享?
  • 求助samba配置问题,windows无法访问linux共享的资源
  • Fedora配置samba个人目录不能访问,但共享目录可以访问
  • 如何在linux shell 下启动/停止samba共享服务,如何手动配置?
  • 高分请教 ???怎么配置Linux才能和Windows共享ASDl上网(在线等待)
  • 请问各位高手如何在用两块网卡上网的情况下配置Internet连接并将internet共享?
  • 配置samba,2000可以访问linux,但是linux不能访问2000的共享目录
  • linux下配置samba,共享根目录怎么会木有操作权限
  • ret hat linux 9,samba配置,在xp里只能看到打印机他传真机,看不到共享的目录,哪位兄台能指点?
  • ubuntu中如何配置生成、使用共享库
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Strings(字符串) 成员 get_allocator():返回配置器
  • LINUX如何配置网卡,配置TELNET,急!在线等待!
  • C++ MultiMaps 成员 get_allocator():返回multimap的配置器
  • liunx下配置axis2的环境变量怎么配置
  • C++ Lists(链表) 成员 get_allocator():返回list的配置器
  • centos配置JAVA运行环境在配置JK时出错
  • C++ Maps 成员 get_allocator():返回map的配置器
  • 求xmanager3.0 配置root用户,连接redhat linux 6.0 配置文档
  • C++ Double Ended Queues(双向队列) 成员 get_allocator():返回双向队列的配置器
  • 高分求救!!!怎样在linux下配置tomcat文件?同时配置sqlServer数据库?
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • EJB配置好了,下次启动weblogic的时候还需要重新配置吗
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 高手赐教!Tomcat4.02的配置,不知javaBean目录、servlet目录该如何配置?
  • kohana介绍及安装配置方法
  • 请问JDBC 需要配置吗?如要,如何配置??来者送分!!!
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • 请问该如何配置GTK的字体配置文件??
  • centos6网络配置及网卡设置相关命令及配置文件
  • 何处有 Linux 内核编译配置详细的中文介绍? 我在重新配置编译时老是出错:-(
  • Linux内核中影响tcp三次握手的一些协议配置
  • 安装linux的最低配置:硬盘,内存,以及cpu的最低配置?多谢赐教!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,