oracle连接方式简述

oracle连接分为,专用服务器连接和共享服务器连接模式。

专用服务器连接就是,进来一个session,oracle就产生一个进程(或线程),专门处理这个session,session注销时,这个进程或(线程)也就消失了。

共享服务器连接就是,oracle建立一个进程(或线程)池,这些进程/线程将由所有会话共享。session的请求和应答处理,在进程/线程池里不是原路返回的,由不同进程/线程处理?

按照我的理解流程图如下:

PS:这里写进程(或线程)是因为oracle在不同平台上拥有不同的平台特性,比如在Linux平台它是多进程模型,但在windows平台它是单进程多线程模型。

这两种连接方法,服务器上的监听器(listener)进程会以不同的方式工作,这些监听器进程负责建立与服务器的物理连接。

专用服务器连接模式下,监听器收到一个请求,数据库生成一个进程,监听器将连接交给这个进程,客户端和数据库直接连接。

共享服务器连接模式下,监听器收到请求后,返回给客户端调度器的端口,客户端与调度器直接连接。

在用dbca建立实例时,会选择是dedicated server mode还是shared server mode。