oracle的shared、dedicated模式解析

主要参考文档:http://www.itpub.net/thread-1714191-1-1.html

Oracleh有两种服务器模式shared mode和dedicated mode。

Dedicated mode下,客户端每发来一个连接请求,数据库都要给这个请求建立一个服务进程来完成响应。而在shared mode下,oracle会首先建立一定数目的服务进程,客户端发来的请求会首先发送到dispatcher即调度器,然后由dispatcher根据服务进程的忙闲情况,选择性的把请求交付给具体的服务进程进行响应,共享服务进程作出响应后,把响应的结果再交给dispatcher,由dispatcher再次交付给客户端。在这个过程中,涉及到两个队列,即请求队列跟响应队列,这两个队列都位于SGA中,共享连接的会话信息放置在Large pool中,因此对SGA的使用更多。

使用shared mode和dedicated mode的优劣。

使用dedicated mode,因为为每一个连接请求建立一个专属进程进行响应,所以它的响应速度要比shared mode快,但dedicate mode要为每个请求建立专属的PGA,所以对内存的需求更高。但在生产环境中,大多数都是使用dedicated mode。同时dedicated mode也是oracle的默认模式。

使用shared mode可以有效减少系统进程数目,可以在内存限制比较大的环境中使用。但shared mode因为在客户端请求与服务器响应之间,必须要走dispatcher这道程序,也就更容易造成拥堵或死锁,也可能因为某一请求长时间占用服务时间而造成其他请求的长时间等待,此外,共享模式不容易实现trace。在生产环境中,大多不适用shared mode,而使用中间件软件来实现类似的需求。

查看当前系统的服务器模式

Show parameter shared

首先shared_servers显示的系统启动时候启用的共享服务进程的个数,这个参数大于0表示启用了共享模式,这个参数不用设置过大,过大会增加启动时间,oracle会自动根据负载调节共享服务进程的个数,这个数值只是启动时候的初始值。

Max_shared_servers这个参数设置了共享服务进程的最大数。

Show parameter dispatcher

只启动shared_server并不能真正启用共享模式,还需要设置好dispatchers。Dispatchers的内容形如‘(protocol=tcp) (service=jf01) (dispatchers=3)’。其中protocol表示协议类型,service表示要启用共享模式的服务名,dispatchers表示初始调度进程的数量。

Max_dispatchers为调度进程的最大数目。

共享模式下对应的后台进程分别为以“S”和“D”开头的,S开头的为服务进程,D开头的为调度进程,形如S000,S001,D000,D001此类。可以通过select pname from v$process查看。

启用禁用共享模式

Dedicated模式是oracle的默认模式,oracle也不推荐使用shared模式。

启用共享

Alter system set shared_servers=2;

设置此参数大于0

Alter system set dispatcher=’(protocol=tcp) (service=jf01) (dispatchers=3)’;

设置要启用共享模式的服务。

此外,还需要再客户端的tnsnames.ora文件中,在要使用共享模式连接的实例解析下更改

CONNECT_DATA 中的 (SERVER=SHARED )一项。

只有这样,客户端才会发起建立共享连接的请求。如果此时服务端没有启用共享模式,则会出现错误提示:

ORA-12520 TNS:Listener count not find available handler for requested type of server。

禁用共享模式

Alter system set shared_server=0;

Alter system set dispatcher=’’;

这样就可以了。

查看当前会话的信息

Select server from v$session;

相关视图

V$shaed_server

V$dispatcher

V$circuit

oracle的shared、dedicated模式解析,布布扣,bubuko.com

时间: 2024-10-05 19:50:53

oracle的shared、dedicated模式解析的相关文章

Oracle MTS模式和Dedicated模式

MTS模式:一个Dispatch进程专门处理处理Client Connection Request,进行排队,由后台多个Shared Server并行处理排队的请求.所以如果存在Client Request请求处理耗时过长,则整体处理效率就会下降. Dedicated模式:会为每个Client Connection Request分配专门进程进行处理,所以该模式更适应于请求处理时间较长,请求数相对较少情况.

(转载)Oracle AWR报告指标全解析

Oracle AWR报告指标全解析 2014-10-16 14:48:04 分类: Oracle [性能调优]Oracle AWR报告指标全解析 2013/08/31 BY MACLEAN LIU 26条评论 [性能调优]Oracle AWR报告指标全解析 开Oracle调优鹰眼,深入理解AWR性能报告:http://www.askmaclean.com/archives/awr-hawk-eyes-training.html 开Oracle调优鹰眼,深入理解AWR性能报告 第二讲: http:

Oracle OCP认证考试题库解析052-1&2

QUESTION 1 You notice that the performance of the database has degraded because of frequent checkpoints. Which two actions resolve the issue? (Choose two.) A. Disable automatic checkpoint tuning B. Check the size of the redo log file size and increas

中国十大成功商业模式解析

转:.. [腾讯] 从产业价值链定位来看,抓住互联网对人们生活方式的改变形成新的业态的机遇,通过建立中国规模最大的网络社区“为用户提供一站式在线生活服务”,通过影响人们的生活方式嵌入主营业务. 盈利模式:在一个巨大的便捷沟通平台上影响和改变数以亿计网民的沟通方式和生活习惯,并借助这种影响嵌入各类增值服务. 创新性:借互联网对人们生活方式改变之力切入市场,通过免费的方式提供基础服务而将增值服务作为价值输出和盈利来源的实现方式. [阿里巴巴] 从产业价值链定位来看,抓住互联网与企业营销相结合的机遇,

Oracle使用Sql把XML解析成表(Table)的方法

SELECT * FROM XMLTABLE('$B/DEAL_BASIC/USER_DEAL_INFO' PASSING XMLTYPE('<?xml version="1.0" encoding="gb2312" ?> <DEAL_BASIC> <USER_DEAL_INFO> <USER_DEAL_ID>1000100001</USER_DEAL_ID> <DEAL_INURE_TIME>

MVVM模式解析和在WPF中的实现(三) 命令绑定

MVVM模式解析和在WPF中的实现(三) 命令绑定 0x00 命令绑定要达到的效果 命令绑定要关注的核心就是两个方面的问题,命令能否执行和命令怎么执行.也就是说当View中的一个Button绑定了ViewModel中一个命令后,什么时候这个Button是可用的,按下Button后执行什么操作.解决了这两个问题基本就实现了命令绑定.另外一个问题就是执行过程中需要的数据(参数)要如何传递.本次主要探讨这几个问题. 0x01 命令绑定的实现 自定义一个能够被绑定的命令需要实现ICommand接口.该接

【Oracle学习笔记-3】关于Oracle 10g中各种服务解析

[原创]关于oracle 10g中各种服务解析 (2014/10/16 8:39:40) 时间:2014-10-16 8-58-30     作者:ssslinppp 1. 当首次安装oracle 10g完成后,会有两个oracle服务被设为自动启动,如下图: OracleoraDb10g_home1TNSLister服务  为数据库监听器服务,若是想通过 PLSQL Develop 等软件 进行远程登录访问oracle数据库,这个服务必须被启动! 默认时,系统会将这两个服务设置为自动启动,但是

Oracle学习笔记—归档模式

什么是归档模式 Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里.一般数据库至少要有2个联机重做日志组.当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行.如果数据库处于非归档模式,联机日志在切换时就会丢弃.而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档.比如,当前在使用联机重

Oracle数据库LOGGING&amp;NOLOGGING模式概述

1.日志记录模式(LOGGING .FORCE LOGGING .NOLOGGING) 1.1三者的含义 LOGGING:当创建一个数据库对象时将记录日志信息到联机重做日志文件.LOGGING实际上是对象的一个属性,用来表示在创建对象时是否记录REDO日志,包括在做DML时是否记录REDO日志.一般表上不建议使用NOLOGGING,在创建索引或做大量数据导入时,可以使用NOLOGGING FORCE LOGGING:简言之,强制记录日志,即对数据库中的所有操作都产生日志信息,并将该信息写入到联机