oracle的shared、dedicated模式解析
主要參考文档:http://www.itpub.net/thread-1714191-1-1.html
Oracleh有两种server模式shared mode和dedicated mode。
Dedicated mode下。client每发来一个连接请求。数据库都要给这个请求建立一个服务进程来完毕响应。而在shared mode下。oracle会首先建立一定数目的服务进程,client发来的请求会首先发送到dispatcher即调度器,然后由dispatcher依据服务进程的忙闲情况。选择性的把请求交付给详细的服务进程进行响应。共享服务进程作出响应后,把响应的结果再交给dispatcher,由dispatcher再次交付给client。在这个过程中,涉及到两个队列。即请求队列跟响应队列。这两个队列都位于SGA中,共享连接的会话信息放置在Large pool中,因此对SGA的使用很多其它。
使用shared mode和dedicated mode的优劣。
使用dedicated mode,由于为每个连接请求建立一个专属进程进行响应。所以它的响应速度要比shared mode快,但dedicate mode要为每个请求建立专属的PGA,所以对内存的需求更高。但在生产环境中,大多数都是使用dedicated mode。同一时候dedicated mode也是oracle的默认模式。
使用shared mode能够有效降低系统进程数目,能够在内存限制比較大的环境中使用。
但shared mode由于在client请求与server响应之间,必需要走dispatcher这道程序。也就更easy造成拥堵或死锁,也可能由于某一请求长时间占用服务时间而造成其它请求的长时间等待,此外,共享模式不easy实现trace。在生产环境中。大多不适用shared mode,而使用中间件软件来实现类似的需求。
查看当前系统的server模式
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)’;
设置要启用共享模式的服务。
此外。还须要再client的tnsnames.ora文件里,在要使用共享模式连接的实例解析下更改
CONNECT_DATA 中的 (SERVER=SHARED )一项。
仅仅有这样,client才会发起建立共享连接的请求。假设此时服务端没有启用共享模式。则会出现错误提示:
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模式解析的更多相关文章
- Oracle AWR报告指标全解析-11011552
1-5 Top 5 Timed EventsWaits : 该等待事件发生的次数, 对于DB CPU此项不可用Times : 该等待事件消耗的总计时间,单位为秒, 对于DB CPU 而言是前台进程所消 ...
- oracle dblink 查询 tns:无法解析指定的连接标识符
问题情景是这样的:我在数据库服务器(windows server 2008r2 ,64bit)oracle(11gr2,64bit)中通过dblink连接到另外一台服务器(hp-ux)的oracle( ...
- MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息
MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二 ...
- MVVM模式解析和在WPF中的实现(五)View和ViewModel的通信
MVVM模式解析和在WPF中的实现(五) View和ViewModel的通信 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 M ...
- MVVM模式解析和在WPF中的实现(三)命令绑定
MVVM模式解析和在WPF中的实现(三) 命令绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...
- Oracle中Clob类型处理解析:ORA-01461:仅可以插入LONG列的LONG值赋值
感谢原作者:破剑冰-Oracle中Clob类型处理解析 上一篇分析:ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值 最近为Clob字段在插入数据时发现当字符的字节数(一个半角字符一 ...
- 修改oracle数据库为归档模式
参考博客:http://blog.csdn.net/codesaint/article/details/1901030 Oracle分为非归档模式(NOARCHIVELOG) 和归档模式(ARCHI ...
- Android开发MVP模式解析
http://www.cnblogs.com/bravestarrhu/archive/2012/05/02/2479461.html 在开发Android应用时,相信很多同学遇到和我一样的情况,虽然 ...
- Oracle启动和归档模式
数据库运行 Oracle数据库的完整启动过程是分步骤完成的,包含以下3个步骤: 启动实例–>加载数据库–>打开数据库 因为Oracle数据库启动过程中不同的阶段可以对数据库进行不同的维护操 ...
随机推荐
- PHP cannoy modify header information - headers already sent by ....
我采用的是MVC模式的写法,代码和html分离的写法 <?php require '../mysql_connect.php'; require('../model/functions.php' ...
- 1.ruby基本格式
1.ruby对于空格是敏感的,很像shell 如:a + b 解释成 a+b(这是两个局部变量) a +b 解释成 a(+b) (这是一个方法调用) 2.在ruby中一行怎么才算结束? Ruby解释分 ...
- Oracle spool 用法小结
关于SPOOL(SPOOL是SQLPLUS的命令,不是SQL语法里面的东西.) 对于SPOOL数据的SQL,最好要自己定义格式,以方便程序直接导入,SQL语句如: select taskindex|| ...
- BZOJ 1419 Red is good ——期望DP
定义f[i][j]表示还剩i张红牌,j张黑牌的时候能取得的期望最大值 显然有$f[i][j]=max(0,\frac {i}{i+j}(f[i-1][j]+1)+ \frac {j}{i+j}(f[i ...
- 算法复习——欧拉回路混合图(bzoj2095二分+网络流)
题目: Description YYD为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个小岛之间不会有两座桥,并且从一个小岛可以到另外任意一个小岛.现在YYD想骑单车 ...
- xml和数组互转
/** * 输出xml字符 * @param $params 参数名称 * return string 返回组装的xml **/ public function data_to_xml( $param ...
- Windows下ElasticSearch的使用方式 CURL+Cygwin+Head插件
Windows使用ElasticSearch的命令方法 一.CURL(不推荐) 下载curl安装包,解压到指定目录,在命令行运行解压后的exe文件. 二.Cygwin(推荐) 安装Windows下类l ...
- UVa10491 Cows and Cars
#include<iostream> #include<cstdio> #include<algorithm> int main(){ double a,b,c; ...
- 1109 NOIP 模拟考试
NOIP2016 模拟赛 ——那些年,我们学过的文化课 背单词(word.c/cpp/pas)[题目描述]fqk 退役后开始补习文化课啦, 于是他打开了英语必修一开始背单词. 看着满篇的单词非常头疼, ...
- linux命令netstat或ifconfig未找到
linux命令netstat或ifconfig未找到 linux使用netstat或者ifconfig命令时,显示命令未找到.通过yum search netstat这个命令,匹配结果如下:===== ...