Oracle专用连接和共享连接(会话)

Oracle专用连接和共享连接(会话)

一般情况下是专用连接,用户在客户端(SQL*Plus)启动应用程序,相当于在客户端本地启动了一个应用进程,与oracle服务器成功建立连接后,在数据库服务器端生成一个对应的服务器进程,当用户在客户端输入的各种SQL命令后,通过位于客户端的用户进程发送到服务器端对应的服务进程,并由服务器进程去执行具体的命令及返回结果。所以服务器进程也称作用户进程的代理进程,或称作影子进程,意即代替客户去执行各种命令并将结果返回。用户进程是不能直接访问数据库的。在这种专用模式下,用户进程与服务器进程是一对一的关系,当用户主动断开连接或出现网络故障时,用户进程终止,服务器进程也随之终止。
如果连接用户太多,要对每一个连接分配资源,资源消耗大,此时oracle提供另外一种连接方式叫共享连接,即一个服务器进程响应多个用户连接,在共享连接情况下,DBA可以定义服务器进程的个数,在数据库启动时,oracle预先在实例中建立指定个数的服务器进程,所有用户的连接,以排队的方式由分配器指定给服务器进程,其他的进程则排队等待。一旦用户的请求执行完,就会马上断开连接,分配器会把空闲的服务器进程分配给其他排队的进程。这时的用户进程与服务器进程是多对一的关系,也就是一个服务器进程可以处理多个用户发出的不同命令。这种共享的连接原理类似于连接池,在使用java程序连接数据库时,应用服务器(如tomcat或weblogic)会提供连接池的机制来管理连接,用于提高访问性能。顾客太多,一位店员接待多个顾客(顾客排队接受服务,就是共享连接)。

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

USERNAME                       SERVER    PROGRAM
------------------------------ --------- ----------------------------------------------------------------
SYSMAN                         DEDICATED OMS
SYSMAN                         DEDICATED OMS
SYSMAN                         DEDICATED OMS
PUBLIC                         DEDICATED plsqldev.exe
DBSNMP                         DEDICATED emagent.exe
PUBLIC                         DEDICATED plsqldev.exe
SYS                            DEDICATED plsqldev.exe
SYSMAN                         DEDICATED OMS
SYSMAN                         DEDICATED OMS
SYSMAN         
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值