接触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
分享到:
相关推荐
在配置过程中,你需要指定全局数据库名称,比如`mydbsys`,并且选择服务模式,如Dedicated Server Mode或Shared Server Mode。Dedicated模式适用于内存充足的情况,每个连接都有自己独立的进程,而Shared Server ...
7. **mts_servers** 和 **shared_server_sessions**:这两个参数都涉及共享服务器环境下的服务器进程数量,用于控制并发用户会话,其中mts_servers是针对MTS环境,shared_server_sessions则是通用的共享服务器会话。...
### Oracle数据库内存优化配置 #### 一、引言 在当今大数据时代,企业对数据库性能的要求越来越高。Oracle作为全球领先的关系型数据库管理系统之一,在企业级应用中占据着举足轻重的地位。为了确保Oracle数据库...
(SERVER = SHARED) (SERVICE_NAME = ZJ_JCCGL) ) ) ``` 这里,"ZJ_JCCGL"是客户端将使用的连接别名,"(DESCRIPTION)"部分定义了连接的地址信息,包括使用TCP协议,主机IP(192.168.2.29)和端口(1521)。"...
在Oracle数据库的运行过程中,`listener.ora`和`tnsnames.ora`是两个至关重要的配置文件,它们负责管理和通信数据库实例与客户端应用程序之间的连接。 `listener.ora`文件是Oracle监听器的配置文件,它定义了监听器...
`v$mts`、`v$circuit`和`v$shared_server`等视图涉及到Oracle的多线程服务器架构,展示了如何配置和监控多线程环境,提高数据库处理能力。 #### 7. 分布式事务 `v$pq_sesstat`、`v$pq_slave`等视图涉及并行查询和...
### Pentaho BI Server 配置知识点详解 #### 1. 使用 MySQL 作为 Pentaho 默认数据库 **1.1 创建数据库** - **SQL 脚本**:为了将 MySQL 设置为 Pentaho 的默认数据库,需要执行特定的 SQL 脚本来创建必要的表...
配置共享服务器涉及多个步骤,包括 Dispatcher 配置、Shared Server 配置、电路配置、对话配置和内存配置等。初始化参数 MAX_DISPATCHERS 和 DISPATCHERS 控制 Dispatcher 的最大数量和具体配置,而 V$QUEUE 和 V$...
总的来说,Oracle基于Client/Server的性能调整涉及多个层面,需要综合考虑数据库服务器、网络和应用程序的性能瓶颈,通过精细化的配置和优化,才能最大限度地发挥Oracle数据库的潜能,提高系统整体性能。这个过程...
Oracle JDBC驱动分为四种类型: Thin Driver、 Thick Driver、Shared Server Driver 和 Network Client Driver。其中, Thin Driver 是最常用的一种,它是一个轻量级的驱动,无需在客户端安装Oracle数据库软件,直接...
Oracle JDBC驱动有四种类型: Thin驱动、 Thin No-Registry驱动、Shared Server驱动和OCI驱动。其中,Thin驱动是最常用的,它是一个纯Java驱动,无需Oracle客户端软件即可直接与Oracle服务器通信。 MySQL驱动,主要...
Oracle还提供了数据字典视图,如`V$MTS`, `V$DISPATCHER`, `V$SHARED_SERVER`和`V$CIRCUIT`,用于监控和管理MTS环境的性能和状态。 理解这些连接配置方式对于优化Oracle数据库的性能和资源利用至关重要,尤其是在...
Oracle数据库是全球广泛使用的大型企业级关系型数据库管理系统,其网络安装与配置是数据库系统运行的基础,对于确保数据的高效传输、稳定性和安全性至关重要。在本文中,我们将深入探讨Oracle数据库网络的安装与配置...
在使用Oracle 10g数据库时,可能会遇到一个常见的错误提示:“ORA-01034: Oracle not available”以及“ORA-27101: shared memory realm does not exist”。这个错误通常出现在尝试启动数据库实例时,表明Oracle服务...
而Oracle Shared Server模式则适用于高并发环境,多个客户端可以共享一个服务器进程,提高资源利用率。 Oracle Net服务支持多种命名解析方法,如本地命名(tnsnames.ora)、目录命名(使用LDAP)和隐式命名(直接...
3. ** JDBC Shared Server Driver(类型三)**:这个驱动使用了Oracle Net Services,允许Java应用程序通过数据库服务器进程与数据库交互,减少了网络通信开销。 4. ** JDBC Driver for SQL*Net (类型一)**:这种...
2. ** Shared Server Mode Driver**:或类型3驱动,使用Oracle Net Services作为中间件,适用于大型企业级应用。 3. ** JDBC-ODBC Bridge**:类型2驱动,通过ODBC接口与Oracle数据库通信,适合已存在ODBC驱动的应用...
本文档将详细介绍如何在Oracle Enterprise Linux环境下使用VMware Server搭建Oracle Real Application Clusters (RAC) 10g集群的过程。Oracle RAC是Oracle提供的一种高可用性解决方案,通过在多个服务器之间共享数据...
此外,CONNECT_DATA部分包含SERVER参数(如DEDICATED或SHARED,定义连接类型)和服务名称(与服务器端的service_name参数匹配)。例如: ```markdown ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = ...