拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. Oracle
  3. 正文

ORACLE 的 DEDICATED(专用链接)和SHARE(共享链接)应用

2020年10月14日 903点热度 1人点赞 0条评论

目录

  • 一、共享与专用服务器的区别:
  • 二、判定共享模式和专用模式的方法
    • 1.查看参数
    • 2.查看session视图
    • 3、查看监听服务
  • 三、共享的开启和关闭
    • 1、默认安装情况下是专用模式。
    • 2、共享模式和专用模式可以同时并存,但需要将共享服务器模式开启,开启方式:
    • 3、还原专用模式配置为初始化配置:
    • 4、改为共享模式后,前端用户可以配置tnsnames.ora来限定连接数据库,是通过共享还是专用
  • 四、共享服务器缺点:
  • 五、共享模式的参数关闭后的情况:

一、共享与专用服务器的区别:

1、专用服务器(DEDICATED):一个客户端连接对应一个服务器进程

2、共享服务器(SHARE):多个客户端连接对应一个服务器进程,服务器端存在一个进程调度器来管理。

共享服务器,它必须使用net services.也就是说必须配置tns。它适合用于高并发,事物量小,如果这个时候采用了共享模式,可以大大减少由于高度并发对于ORACLE服务器的资源消耗。

二、判定共享模式和专用模式的方法

1.查看参数

SQL>show parameter shared_server; ——shared_serverss为0为专用模式,1为共享模式

2.查看session视图

SQL> Select username,server,program from v$session where username is not null;

USERNAME     SERVER    PROGRAM
--------- --------- -------------------
GWM            NONE    
SYS            SHARED        plsqldev.exe
SYS            SHARED        plsqldev.exe
SYS            DEDICATED      sqlplus.exe  --专用模式

3、查看监听服务

SQL>lsnrctl service

如果服务中有DEDICATED和 DISPATCHER 模式,说明共享服务器模式已开启

4、查看TNSNAMES.ora文件中

 (SERVER = DEDICATED)---这里设置为DEDICATED即为专用模式,如果改为SHARED,则为共享模式(共享模式需要单独开启)

 

三、共享的开启和关闭

1、默认安装情况下是专用模式。

专用模式下不可以使用共享模式。但开启了共享模式后,专用模式仍然可以使用。

2、共享模式和专用模式可以同时并存,但需要将共享服务器模式开启,开启方式:

(1)查看当前配置:

SQL> show parameter dispatch

SQL> show parameter shared_server

(2)修改数据库参数(均为动态参数,即刻生效)--这种情况开启后,可以支持300个sessions,200个共享服务器模式,100个专用服务器模式

SQL> alter system set dispatchers='(PROTOCOL=TCP)(DISPATCHERS=3)'; 
SQL> alter system set max_dispatchers = 10; 
SQL> alter system set shared_servers = 10; 
SQL> alter system set max_shared_servers = 30; 
SQL> alter system set shared_server_sessions = 200;

3、还原专用模式配置为初始化配置:

show parameter dispatch
show parameter shared_server

alter system set dispatchers='(PROTOCOL=TCP)(SERVICE=PROD1XDB)';
alter system reset max_dispatchers;
alter system set shared_servers = 1;
alter system reset max_shared_servers;
alter system reset shared_server_sessions;

同时参数show parameter share_server 的值是1,(1代表共享模式,2代表关闭共享,使用专用模式)

4、改为共享模式后,前端用户可以配置tnsnames.ora来限定连接数据库,是通过共享还是专用

 MESORCLSTD =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.1.226)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)---这里设置为DEDICATED即为专用模式,如果改为SHARED,则为共享模式
      (SERVICE_NAME = MESORCL)
     )
  )

四、共享服务器缺点:

1、共享服务器的代码路径比专用服务器长,所以它天生就比专用服务器慢。

2、存在人为死锁的可能,因为它是串行的,只要一个连接阻塞,则该服务器进程上的所有用户都被阻塞,并且极可能死锁。

3、存在独占事务的可能,因为如果一个会话的事务运行时间过长,它独占共享资源,其它用户只能等待,而专用服务器,每个客户端是一个会话。

4、共享服务器模式限制了某些数据库特性,例如:不能单独启动和关闭实例,不能进行介质恢复,不能使用Log Miner,  并且SQL_TRACE没有意义(因为是共享而不是当前会话的)。

MTS减少的内存实际上是专用服务器模式下每个用户连接到操作系统进程所需的内存,但它却使用SGA的Large_Pool来分配UGA,拆东墙补西墙,
所减少的内存是很少的。如果用户会话的连接和断开很频繁,数据库进程的创建和删除的开销会非常大,这种情况最好采用共享服务器模式(否则,
应该使用连接池技术)。如果客户端一次连接终身使用(会话生命周期内),使用共享服务器模式的意义不大。因为大部分时间,一个会话就连接到一
个服务器进程,无法共享服务器进程。

 

五、共享模式的参数关闭后的情况:

1、将 shared_servers 参数置为0(alter system set shared_servers=0;),那么所有以共享方式连接到数据库都不能成功,但是未释放的共享
连接会继续 保持连接,直到断开。

2、如果将 shared_servers 和 max_shared_servers 都设为0(alter system set max_shared_servers=0;),那么共享连接将被终结。所有的共享方式连接都断开了的话,就可以使用 alter system set dispatcher=''; 将dispatcher清除,防止下次启动
数据库又打开了共享连接方式。

 

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2020年10月14日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号