主要參考文档: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模式解析的更多相关文章

  1. Oracle AWR报告指标全解析-11011552

    1-5 Top 5 Timed EventsWaits : 该等待事件发生的次数, 对于DB CPU此项不可用Times : 该等待事件消耗的总计时间,单位为秒, 对于DB CPU 而言是前台进程所消 ...

  2. oracle dblink 查询 tns:无法解析指定的连接标识符

    问题情景是这样的:我在数据库服务器(windows server 2008r2 ,64bit)oracle(11gr2,64bit)中通过dblink连接到另外一台服务器(hp-ux)的oracle( ...

  3. MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息

    MVVM模式解析和在WPF中的实现(六) 用依赖注入的方式配置ViewModel并注册消息 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二 ...

  4. MVVM模式解析和在WPF中的实现(五)View和ViewModel的通信

    MVVM模式解析和在WPF中的实现(五) View和ViewModel的通信 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 M ...

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

    MVVM模式解析和在WPF中的实现(三) 命令绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

  6. Oracle中Clob类型处理解析:ORA-01461:仅可以插入LONG列的LONG值赋值

    感谢原作者:破剑冰-Oracle中Clob类型处理解析 上一篇分析:ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值 最近为Clob字段在插入数据时发现当字符的字节数(一个半角字符一 ...

  7. 修改oracle数据库为归档模式

    参考博客:http://blog.csdn.net/codesaint/article/details/1901030 Oracle分为非归档模式(NOARCHIVELOG)  和归档模式(ARCHI ...

  8. Android开发MVP模式解析

    http://www.cnblogs.com/bravestarrhu/archive/2012/05/02/2479461.html 在开发Android应用时,相信很多同学遇到和我一样的情况,虽然 ...

  9. Oracle启动和归档模式

    数据库运行 Oracle数据库的完整启动过程是分步骤完成的,包含以下3个步骤: 启动实例–>加载数据库–>打开数据库 因为Oracle数据库启动过程中不同的阶段可以对数据库进行不同的维护操 ...

随机推荐

  1. 【LeetCode】Combination Sum(组合总和)

    这道题是LeetCode里的第39道题. 题目描述: 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组 ...

  2. 性能测试之五--webservices接口测试

    下面我们进行webservices接口的讲解,包括脚本生成,参数化和关联. 以天气预报的接口为例,接口地址为: http://ws.webxml.com.cn/WebServices/WeatherW ...

  3. [luoguP4035] [JSOI2008]球形空间产生器(高斯消元)

    传送门 设球心的坐标为未知量 用最后一个点来表示球面到球心的距离,那么它和前n个式子相等 移项乱搞 最后高斯消元 #include <cmath> #include <cstdio& ...

  4. [luoguP2324] [SCOI2005]骑士精神(A*?)

    传送门 蒟蒻并不懂A*是什么,但是题解里有个Astar 可以看出,当前棋盘和最终的棋盘如果有k个不同的,那么至少需要k-1步来移动 所以如果 当前步数 + k - 1 > limit 就直接退出 ...

  5. Docker镜像分层技术

    Docker镜像管理 1.镜像分层技术 2.创建镜像 3.下载镜像到主机 4.删除镜像 5.上传镜像到registry docker镜像: 早在集装箱没有出现的时候,码头上还有许多搬运的工人在搬运货物 ...

  6. es6 箭头函数 map、find

    var  value = arr.map(function (x) {return x * x}); const arr = [1,2,3,4]; const value = arr.map(x =& ...

  7. jenkins换端口号

    两个地方 1,检查 /etc/init.d/jenkins 脚本,修改 do_start 函数的 check_tcp_port 命令,端口号从 8080 换成 8082: 2,修改 /etc/defa ...

  8. 【bzoj4004】【JLOI2015】装备购买 (线性基+高斯消元)

    Description 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量zi(aj ,.....,am) 表示 (1 <= i <= n; 1 < ...

  9. 洛谷 P 1119 灾后重建

    题目背景 B地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响.但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车.换句话说,只有连接着两个重建完成的村庄的公路才能 ...

  10. Codevs 2956 排队问题

    2956 排队问题 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题目描述 Description 有N个学生去食堂,可教官规定:必须2人或3人组成一组,求有多少种不 ...