dispatchers 设置
Oracle连接方式(dispatchers 设置)
oracle 响应客户端请求有两种方式:
1 专有连接:用一个服务器进程响应一个客户端请求
2 共享连接:用一个分派器(dispatcher)响应一个客户端请求,服务器端有多个服务器进程,共享处理所有分派器的请求;
两种连接方式的优缺点
1 对于连接数不多的应用,适宜用专有连接,客户的请求响应及时;
2 对于连接数较大的应用,适宜用共享连接,充分利用系统资源
后台作业和RMAN操作必须使用专有连接;
配置共享服务器连接
既可以在参数文件内进行静态配置,可以动态修改;
共享服务器配置的初始化参数
SHARED_SERVERS: 初始化启动的服务器进程数和保留的最小服务器进程数;如果使用共享连接,这个参数是必配的;
MAX_SHARED_SERVERS: 最大并发的共享服务器进程数
SHARED_SERVER_SESSIONS: 可并发处理的最大共享用户会话数,超过此数值的用户会话将使用专有连接
DISPATCHERS: 共享连接的分派器数量
MAX_DISPATCHERS: 可同时并发的共享连接的最大的分派器数量,此参数目前可忽略;
CIRCUITS: 可用的虚拟回路数(Specifies the total number of virtual circuits that are available for inbound and outbound network sessions)
配置共享服务器连接
1 静态参数文件中SHARED_SERVERS大于0既可。其他参数不是必要的。
2 使用ALTER SYSTEM语句设置SHARED_SERVERS为一大于0值,如:
ALTER SYSTEM SET SHARED_SERVERS = 5;
设置SHARED_SERVERS数值
一般而言,可以按一个服务器响应10个连接进行计算;
实际的共享服务器进程可以动态增加,SHARED_SERVERS的数值应该设置为实际所需要的最小值;
设置MAX_SHARED_SERVERS以限制共享服务器进程数;
可以动态修改MAX_SHARED_SERVERS以允许更多的服务器进程数,或者动态修改SHARED_SERVERS为一个大于MAX_SHARED_SERVERS的数值以允许更多的服务器进程数;
设置SHARED_SERVERS数值
Number of dispatchers =
CEIL ( max. concurrent sessions / connections for each dispatcher )
例如:
每进程能支持970个连接
TCP/IP连接最多有4000个会话
安全(TCP/IP with SSL)最多有2,500个会话
则用于TCP/IP协议的DISPATCHERS可设为5,CELL(4000 / 970), 用于安全TCP/IP协议的dispatchers 可设为3,CELL(2500 / 970:
DISPATCHERS='(PROT=tcp)(DISP=5)', '(PROT-tcps)(DISP=3)'
强制特定的IP使用DISPATCH
DISPATCHERS="(ADDRESS=(PROTOCOL=TCP)(HOST=144.25.16.201))(DISPATCHERS=2)"
这将产生两个DISPATCH监听特定的IP
强制DISPATCH使用特定端口
DISPATCHERS="(ADDRESS=(PROTOCOL=TCP)(PORT=5000))"
DISPATCHERS="(ADDRESS=(PROTOCOL=TCP)(PORT=5001))"
修改DISPATCH数量
DISPATCH不可以自动地动态变化。须使用ALTER SYSTEM命令进行修改。
MAX_DISPATCHERS可以设定可使用的最大DISPATCH数;
察看DISPATCH的负载性能,可查询如下视图
V$QUEUE
V$DISPATCHER
V$DISPATCHER_RATE
动态修改DISPATCH数量,使用ALTER SYSTEM 命令,如初始配置为:
DISPATCHERS='(PROT=tcp)(DISP=2)', '(PROT=tcps)(DISP=2)'
现在要将TCP协议的DISPATCH设为3,TCPS设为1
命令如下:
ALTER SYSTEM SET DISPATCHERS = '(INDEX=0)(DISP=3)', '(INDEX=1)(DISP=1)';
或:
ALTER SYSTEM SET DISPATCHERS = '(PROT=tcp)(DISP=3)', '(PROT-tcps)(DISP=1)';
如果当前TCP协议的DISPATCH少于3,数据库将会创建新的DISPATCH。相反,如下TCPS当前有2个DISPATCH,则会在用户退出连接后减少一个dispatch
查询DISPATCH的配置
V$DISPATCHER_CONFIG
当修改一个DISPATCH的DESCRIPTION, ADDRESS, PROTOCOL, CONNECTIONS,TICKS, MULTIPLEX, and POOL属性后,修改后的设置不能立即生效,需要强制性地杀掉现在的DISPATCH进程
关闭DISPATCH进程
1 确定要关闭的进程
SELECT NAME, NETWORK FROM V$DISPATCHER;
2 ALTER SYSTEM SHUTDOWN IMMEDIATE 'D002'(DISPATCH NAME);
关闭共享服务连接
1 设置SHARED_SERVERS=0;
2 关闭DISPATCH
ALTER SYSTEM SET DISPATCHERS = '';
监控
View Description
V$DISPATCHER 提供DISPATCH进程信息,包括DISPATCH名称,网络,地址,状态,统计信息和索引号等;
V$DISPATCHER_CONFIG 提供DISPATCH的配置信息
V$DISPATCHER_RATE 提供DISPATCH的速度(RATE)统计
V$QUEUE 提供共享服务器队列信息.
V$SHARED_SERVER 提供共享服务器信息.
V$CIRCUIT 提供用户通过DISPATCH连接到数据库的虚拟回路信息(virtual circuits)
V$SHARED_SERVER_MONITOR 提供共享服务器的优化信息
dispatchers 设置的更多相关文章
- 专用服务器模式&共享服务器模式
连接ORACLE服务器一般有两种方式:专用服务器连接(dedicated server)和共享服务器连接(shared server).那么两者有啥区别和不同呢?下面我们将对这两者的区别与不同一一剖析 ...
- ORA-12520 TroubleShooting
同事反馈他连接一个新搭建的测试数据库时,报"ORA-12520: TNS: 监听程序无法为请求的服务器类型找到可用的处理程序"错误,在解决他这个问题时,顺便分析.总结一下ORA ...
- Linux命令总结大全,包含所有linux命令
使用说明:此文档包含所有的Linux命令,只有你想不到的没有你看不到的,此文档共计10万余字,有8400多行,预计阅读时间差不多需要3个小时左右,所以要给大家说一说如何阅读此文档 为了方便大家阅读,我 ...
- Oracle 设置archivelog错误解决方案
在Oracle 数据库的实际应用中,开启archivelog模式是必不可少的,但是在设置archivelog的过程中,可能因为不小心出现错误,导致数据库无法启动,本案例就是一种情况. 误操作现象: 设 ...
- Oracle11G_R2中共享服务器模式和专用服务器模式参数解释及设置
sys@MYTESTDB> show parameterNAME TYPE VALUE------------------------------------ ----------- ----- ...
- 避免因为Arcgis Server服务设置不当导致Oracle Process溢出的方法
我之前写过一篇文章<arcsoc进程无限增长导致oracle processes溢出>(见链接:https://www.cnblogs.com/6yuhang/p/9379086.html ...
- 【.net 深呼吸】设置序列化中的最大数据量
欢迎收看本期的<老周吹牛>节目,由于剧组严重缺钱,故本节目无视频无声音.好,先看下面一个类声明. [DataContract] public class DemoObject { [Dat ...
- LINUX篇,设置MYSQL远程访问实用版
每次设置root和远程访问都容易出现问题, 总结了个通用方法, 关键在于实用 step1: # mysql -u root mysql mysql> Grant all privileges o ...
- Visual Studio Code 代理设置
Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器,在十多年的编程经历中,我使用过非常多的的代码编辑器(包括 IDE),例如 Fron ...
随机推荐
- 三种数据库连接池的配置及使用(For JDBC)
DBCP 一.导包 Apache官网下载DBCP包,导入两个包路径如下: commons-dbcp-1.4-bin\commons-dbcp-1.4\commons-dbcp-1.4.jar:连接池的 ...
- ISO七层模型详解
ISO七层模型详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在我刚刚接触运维这个行业的时候,去面试时总是会做一些面试题,笔试题就是看一个运维工程师的专业技能的掌握情况,这个很 ...
- nGrinder TestRunnerInsertMysqlMore.groovy
s C:\Users\Lindows\workspace\GroovyTest\src\com\iteye\lindows\mysql\TestRunnerInsertMysqlMore.groovy ...
- 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'Address'中的标识列指
在有自增长的SQL表格里面插入指定ID的数据的时候,会禁止你操作,提示如题目,解决办法: set identity_insert address on ,,,) set identity_insert ...
- Springmvc和poi3.9导出excel并弹出下载框
Springmvc 和 poi3.9 用java程序从数据库导出数据到excel(在博客园的第一篇原创博客) @RequestMapping(value = "/importexcel.ht ...
- Codeforces 526D Om Nom and Necklace (KMP)
http://codeforces.com/problemset/problem/526/D 题意 给定一个串 T,对它的每一个前缀能否写成 A+B+A+B+...+B+A+B+A+B+...+B+A ...
- Ubuntu 16.04及以上 安装/卸载 Docker-CE
前言 本文仅针对Ubuntu 18.10.18.04.16.04的x86_64的OS与架构下的Docker-CE的安装 卸载老板本 如果已安装,请卸载它们: sudo apt-get remove d ...
- Java Web之路(一)Servlet
前言 执行过程 Servlet 生命周期.工作原理:http://www.cnblogs.com/xuekyo/archive/2013/02/24/2924072.html Servlet的生命周期 ...
- 一个奇怪的SystemClock_Config问题解决方法
一直在SystemClock_Config程序死掉,然后下载最新的STm32Cube从新创建项目成功了.
- pyinstaller 打包不成功,提示inporterror 缺少xlrd、xlwt
问题:pyinstaller 打包不成功,提示inporterror 缺少xlrd.xlwt 解决:将 pypiwin 230 改为 219