`
itspace
  • 浏览: 978661 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Oracle shared server配置

阅读更多
接触Oracle这么些年来,看到Oracle不少,起码也有几百个了吧,但数据库s是shared server配置只有一个。所以也一直没有好好研究它。OCM考试大纲中有Configure the database instance to support shared server connections 一栏,那今天就来配置一下Oracle shared server。



由上图可知,shared server进程主要通过disipatch进程进行派发,此进程起到了类似中间件的作用。采用shared server模式,可以最大程度的减少主机用户进程数(也就意味着shared server模式比dedicated sever模式更加节约操作系统资源)。以下为shared server配置过程(从dedicated sever转变成shared server)。
1、配置dispatch进程数,协议为TCP
SQL> alter system set dispatchers='(PROTOCOL=TCP) (DISPATCHERS=20)';     

System altered.
2、配置最大dispatch进程数,需要注意的是如果dispatchers参数配置中大于30,如dispatchers='(PROTOCOL=TCP) (DISPATCHERS=40)',将覆盖max_dispatchers=30
SQL> alter system set max_dispatchers=30 ;

System altered.
3、设置Oracle启动时最小的shared server进程数,需要注意的是不要将此参数设置太高。
SQL> alter system set shared_servers=5;

System altered.
4、设置Oracle允许最大shared server session数。需要注意的是当设置此参数之后不能大于参数sessions。如果不设置此参数,Oracle将会根据空闲槽(free slot)创建shared server session数。

SQL> show parameter sessions

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size           integer     0
java_soft_sessionspace_limit         integer     0
license_max_sessions                 integer     0
license_sessions_warning             integer     0
logmnr_max_persistent_sessions       integer     1
sessions                             integer     500
shared_server_sessions               integer
SQL> alter system set shared_server_sessions=400;

System altered.

当配置完成shared server之后,可以看到操作系统中fork出20个dispatch进程
[ora10g@mcprod admin]$ ps -ef|grep ora_d|grep -v grep|grep -v  ora_dbw
ora10g   13915     1  0 18:03 ?        00:00:00 ora_d001_mcstar
ora10g   13917     1  0 18:03 ?        00:00:00 ora_d002_mcstar
ora10g   13919     1  0 18:03 ?        00:00:00 ora_d003_mcstar
ora10g   13921     1  0 18:03 ?        00:00:00 ora_d004_mcstar
ora10g   13923     1  0 18:03 ?        00:00:00 ora_d005_mcstar
ora10g   13925     1  0 18:03 ?        00:00:00 ora_d006_mcstar
ora10g   13927     1  0 18:03 ?        00:00:00 ora_d007_mcstar
ora10g   13929     1  0 18:03 ?        00:00:00 ora_d008_mcstar
ora10g   13931     1  0 18:03 ?        00:00:00 ora_d009_mcstar
ora10g   13933     1  0 18:03 ?        00:00:00 ora_d010_mcstar
ora10g   13935     1  0 18:03 ?        00:00:00 ora_d011_mcstar
ora10g   13937     1  0 18:03 ?        00:00:00 ora_d012_mcstar
ora10g   13939     1  0 18:03 ?        00:00:00 ora_d013_mcstar
ora10g   13941     1  0 18:03 ?        00:00:00 ora_d014_mcstar
ora10g   13943     1  0 18:03 ?        00:00:00 ora_d015_mcstar
ora10g   13945     1  0 18:03 ?        00:00:00 ora_d016_mcstar
ora10g   13947     1  0 18:03 ?        00:00:00 ora_d017_mcstar
ora10g   13968     1  0 18:03 ?        00:00:00 ora_d018_mcstar
ora10g   13982     1  0 18:03 ?        00:00:00 ora_d019_mcstar
ora10g   17123     1  0 Apr03 ?        00:00:00 ora_d000_mcstar
操作系统fork出5个shared server进程
[ora10g@mcprod admin]$  ps -ef|grep ora_s|grep -v ora_smon_mcstar
ora10g    3097     1  0 18:22 ?        00:00:00 ora_s000_mcstar
ora10g    7909     1  0 18:24 ?        00:00:00 ora_s001_mcstar
ora10g    7911     1  0 18:24 ?        00:00:00 ora_s002_mcstar
ora10g    7913     1  0 18:24 ?        00:00:00 ora_s003_mcstar
ora10g    7915     1  0 18:24 ?        00:00:00 ora_s004_mcstar
查看监听service可以看dispatch状态
[ora10g@mcprod admin]$ lsnrctl services

LSNRCTL for Linux: Version 10.2.0.3.0 - Production on 06-APR-2011 18:24:53

Copyright (c) 1991, 2006, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.4.163)(PORT=1521)))
Services Summary...
Service "mcstar" has 1 instance(s).
  Instance "mcstar", status READY, has 21 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:17 refused:0 state:ready
         LOCAL SERVER
      "D018" established:0 refused:0 current:0 max:972 state:ready
         DISPATCHER <machine: mcprod, pid: 7086>
         (ADDRESS=(PROTOCOL=tcp)(HOST=mcprod)(PORT=30802))
      "D017" established:0 refused:0 current:0 max:972 state:ready
         DISPATCHER <machine: mcprod, pid: 7084>
         (ADDRESS=(PROTOCOL=tcp)(HOST=mcprod)(PORT=61930))
      "D016" established:0 refused:0 current:0 max:972 state:ready
         DISPATCHER <machine: mcprod, pid: 7082>
         (ADDRESS=(PROTOCOL=tcp)(HOST=mcprod)(PORT=18529))
      "D015" established:0 refused:0 current:0 max:972 state:ready
         DISPATCHER <machine: mcprod, pid: 7080>
         (ADDRESS=(PROTOCOL=tcp)(HOST=mcprod)(PORT=61294))
      "D014" established:0 refused:0 current:0 max:972 state:ready
         DISPATCHER <machine: mcprod, pid: 7078>
         (ADDRESS=(PROTOCOL=tcp)(HOST=mcprod)(PORT=8452))
      "D013" established:0 refused:0 current:0 max:972 state:ready
         DISPATCHER <machine: mcprod, pid: 7076>
         (ADDRESS=(PROTOCOL=tcp)(HOST=mcprod)(PORT=7950))
。。。
在共享模式下,如果local naming,tnsnames.ora也可以配置成专用模式,需要注意的是如果使用参数DEDICATED,Oracle将单独派生进程进行客户端处理,也就是专用模式。
mcstar =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.4.163)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (service_name = mcstar2)
    )
  )
如果要使用shared server模式,需要将tnsnames.ora配置成
mcstar =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.4.163)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = shared)
      (sid = mcstar)
    )
  )
需要注意的是配置成shared server模式之后,我们建议将larger pool加大,因为在shared server模式下,配置larger pool之后,UGA将保存在larger pool下,这样可以分担shared pool部分压力。此外配置成shared pool之后,尤其当数据库出现性能问题时,如下视图将变得十分重要:v$shared_sevrver,v$circuit,v$dispatcher,v$queue。





  • 大小: 19.5 KB
分享到:
评论

相关推荐

    Linux 下Oracle数据库配置

    在配置过程中,你需要指定全局数据库名称,比如`mydbsys`,并且选择服务模式,如Dedicated Server Mode或Shared Server Mode。Dedicated模式适用于内存充足的情况,每个连接都有自己独立的进程,而Shared Server ...

    oracle9配置详细说明

    7. **mts_servers** 和 **shared_server_sessions**:这两个参数都涉及共享服务器环境下的服务器进程数量,用于控制并发用户会话,其中mts_servers是针对MTS环境,shared_server_sessions则是通用的共享服务器会话。...

    Oracle数据库内存优化配置

    ### Oracle数据库内存优化配置 #### 一、引言 在当今大数据时代,企业对数据库性能的要求越来越高。Oracle作为全球领先的关系型数据库管理系统之一,在企业级应用中占据着举足轻重的地位。为了确保Oracle数据库...

    oracle远程客户端配置

    (SERVER = SHARED) (SERVICE_NAME = ZJ_JCCGL) ) ) ``` 这里,"ZJ_JCCGL"是客户端将使用的连接别名,"(DESCRIPTION)"部分定义了连接的地址信息,包括使用TCP协议,主机IP(192.168.2.29)和端口(1521)。"...

    配置ORACLE的listener.ora、tnsnames.ora

    在Oracle数据库的运行过程中,`listener.ora`和`tnsnames.ora`是两个至关重要的配置文件,它们负责管理和通信数据库实例与客户端应用程序之间的连接。 `listener.ora`文件是Oracle监听器的配置文件,它定义了监听器...

    ORACLE Server 8i Quick Reference Card.pdf

    `v$mts`、`v$circuit`和`v$shared_server`等视图涉及到Oracle的多线程服务器架构,展示了如何配置和监控多线程环境,提高数据库处理能力。 #### 7. 分布式事务 `v$pq_sesstat`、`v$pq_slave`等视图涉及并行查询和...

    Pentaho_bi_server配置手册

    ### Pentaho BI Server 配置知识点详解 #### 1. 使用 MySQL 作为 Pentaho 默认数据库 **1.1 创建数据库** - **SQL 脚本**:为了将 MySQL 设置为 Pentaho 的默认数据库,需要执行特定的 SQL 脚本来创建必要的表...

    oracle10g培训讲义05

    配置共享服务器涉及多个步骤,包括 Dispatcher 配置、Shared Server 配置、电路配置、对话配置和内存配置等。初始化参数 MAX_DISPATCHERS 和 DISPATCHERS 控制 Dispatcher 的最大数量和具体配置,而 V$QUEUE 和 V$...

    Oracle基于Client/Server的性能调整

    总的来说,Oracle基于Client/Server的性能调整涉及多个层面,需要综合考虑数据库服务器、网络和应用程序的性能瓶颈,通过精细化的配置和优化,才能最大限度地发挥Oracle数据库的潜能,提高系统整体性能。这个过程...

    oracle+sqlserver+mysql驱动包

    Oracle JDBC驱动分为四种类型: Thin Driver、 Thick Driver、Shared Server Driver 和 Network Client Driver。其中, Thin Driver 是最常用的一种,它是一个轻量级的驱动,无需在客户端安装Oracle数据库软件,直接...

    oracle、MySQL、SQLServer驱动

    Oracle JDBC驱动有四种类型: Thin驱动、 Thin No-Registry驱动、Shared Server驱动和OCI驱动。其中,Thin驱动是最常用的,它是一个纯Java驱动,无需Oracle客户端软件即可直接与Oracle服务器通信。 MySQL驱动,主要...

    oracle数据库体系结构之一【连接配置】

    Oracle还提供了数据字典视图,如`V$MTS`, `V$DISPATCHER`, `V$SHARED_SERVER`和`V$CIRCUIT`,用于监控和管理MTS环境的性能和状态。 理解这些连接配置方式对于优化Oracle数据库的性能和资源利用至关重要,尤其是在...

    Oracle数据库网络的安装和配置

    Oracle数据库是全球广泛使用的大型企业级关系型数据库管理系统,其网络安装与配置是数据库系统运行的基础,对于确保数据的高效传输、稳定性和安全性至关重要。在本文中,我们将深入探讨Oracle数据库网络的安装与配置...

    oracle 10g提示oracle not available

    在使用Oracle 10g数据库时,可能会遇到一个常见的错误提示:“ORA-01034: Oracle not available”以及“ORA-27101: shared memory realm does not exist”。这个错误通常出现在尝试启动数据库实例时,表明Oracle服务...

    Oracle监听专题[定义].pdf

    而Oracle Shared Server模式则适用于高并发环境,多个客户端可以共享一个服务器进程,提高资源利用率。 Oracle Net服务支持多种命名解析方法,如本地命名(tnsnames.ora)、目录命名(使用LDAP)和隐式命名(直接...

    可用于oracle19c的jdbc驱动

    3. ** JDBC Shared Server Driver(类型三)**:这个驱动使用了Oracle Net Services,允许Java应用程序通过数据库服务器进程与数据库交互,减少了网络通信开销。 4. ** JDBC Driver for SQL*Net (类型一)**:这种...

    Oracle12C JDBC 驱动

    2. ** Shared Server Mode Driver**:或类型3驱动,使用Oracle Net Services作为中间件,适用于大型企业级应用。 3. ** JDBC-ODBC Bridge**:类型2驱动,通过ODBC接口与Oracle数据库通信,适合已存在ODBC驱动的应用...

    Server在Oracle Enterprise Linux上安装Oracle RAC 10g.docx

    本文档将详细介绍如何在Oracle Enterprise Linux环境下使用VMware Server搭建Oracle Real Application Clusters (RAC) 10g集群的过程。Oracle RAC是Oracle提供的一种高可用性解决方案,通过在多个服务器之间共享数据...

    tnsnames.ora配置

    此外,CONNECT_DATA部分包含SERVER参数(如DEDICATED或SHARED,定义连接类型)和服务名称(与服务器端的service_name参数匹配)。例如: ```markdown ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = ...

Global site tag (gtag.js) - Google Analytics