Oracle 学习 Day2 - Oracle 的连接方式

Dedicated Server

一个Session就建立一个Dedicated Server(本质上就是一个进程)与客户端的连接,直接与客户端进行交互。该Dedicated进程负责客户端SQL的接受、执行以及结果响应。

 

Shared Server

本质上就是一个共享连接进程池。在共享服务器连接模型下,当数据库启动时候,共享池同时建立。共享连接进程不会像Dedicated方式一样直接和客户端交互。客户端首先和Dispatcher 进程交互,提交SQL给Dispatcher,然后Dispatcher把SQL请求放入位于SGA的请求队列 中,当共享池 中有空闲的进程 ,就会由该进程执行SQL,执行完成后,把结果放入响应队列 ,Dispatcher进程看到结果后,会把响应结果返回给客户。

 

 


TNS Listener

客户请求连接到Oracle,必定有一个TNS string的配置,该配置指定了连接的IP,PORT,SID以及连接类型(Dedicated和Shared)

连接细节描述如下:

客户提交TCP连接到指定的IP和端口,在服务器端,TNS Listener在请求端口上侦听客户请求,如果是Dedicated方式,那么创建一个Dedicated的进程,然后把与该客户端的连接转接给新创建的这个dedicated进程;如果是Shared方式,那么TNS Listener会从Dispatcher池中选择一个可用的Dispatcher,然后Listener吧该Dispatcher的端口号返回给客户端,客户端在发起到Dispatcher的连接请求然后建立连接。其实,Listener选到Dispatcher后,如果操作系统和数据库支持的话,会直接把连接转接给Dispatcher,只有当直接转接无法完成时,才会返回Dispatcher端口然后又客户端在连接这个过程。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值