码迷,mamicode.com
首页 > 数据库 > 详细

oracle session和process的关系

时间:2014-11-09 09:49:27      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   ar   sp   strong   文件   数据   div   

什么是session

 

通俗来讲,session 是通信双方从开始通信到通信结束期间的一个上下文(context)。这个上下文是一段位于服务器端的内存:记录了本次连接的客户端机器、通过哪个应用程序、哪个用户在登录等信息[在pl/sql developer中,通过Tools-->Sessions可以查看当前数据库的session]。session 是和connection同时建立的,两者是对同一件事情不同层次的描述。简单讲,connection是物理上的客户机同服务器段的通信链路,session是逻辑上的用户同服务器的通信交互。session被应用于oracle层次而非操作系统层次.在不考虑通过专用服务器或共享服务器进行登录的情况下,这个参数限制了对指定实例的并发登陆数. 

 

oracle中一个用户登录oracle服务器的前提,就是该用户具有oracle的 “create session”权限。oracle允许同一个用户在同一个客户机上建立多个同服务器的连接,这一点从oracle的视图V$session中可以看到[select * from v$session;]。每个session都代表了用户与服务器的一个交互。就像两个国家之间可以同时开展很多谈判,经济的,环境的等等。关闭了有关经济的谈判,不会影响到环境谈判的进行。后台进程PMON会每隔一段时间,就会测试用户连接状况,如果连接已断开,PMON会清理现场,释放相关的资源。

 

 

在具体的应用场景中connction 和 session 有很多情况:

 

1. sqlplus 登录 oracle

 

这种场景比较容易理解,一个连接对应一个session。

 

2. 其他客户端工具登录oracle

 

比如:pl/sql developer 登录oracle。pl/sql developer 可以设置是否每个窗口共用同一个session. 如果想在调试窗口调试存储过程或函数,则必须设置为共享session。如果设置为非共享, www.linuxidc.com则每次打开一个操作窗口,pl/sql developer 会利用最初输入的帐户和口令建立新的connection 和 session.

 

3. IIS 用程序登录oracle

 

这种情况下,其实是IIS在登录oracle。connection 和 session 的建立情况和iis机制相关。

 

“对于Oracle来说,安全的Sessions数应该为Sessions = (IIS process number) * (min pool size)。”

 

IIS进程:在IIS6.0中,采用了新的进程隔离模式来响应用户的请求,在IIS管理器中,可以设置应用程序池的最大进程数。对于新的WEB应用请求,IIS进程管理器会启动多个W3wp.exe进行响应。

http://blog.csdn.net/jlds123/article/details/6371563什么是process
 
process:这个参数限制了能够连接到SGA的操作系统进程数(或者是Windows 系统中的线程数),这个总数必须足够大,从而能够适用于后台进程与所有的专用服务器进程,此外,共享服务器进程与调度进程的数目也被计算在内.此外,共享服务器进程与调度进程的数目也被计算在内.因此,在专用服务器环境中,这是一种限制并发连接数的方法. 
session与process的关系
 
oracle的连接数(sessions)与其参数文件中的进程数(process)相关,它们的关系如下:sessions=(1.1*process+5),若果资源允许,而当前process 数过小,那么可以适当增大processs 数( session 数依赖于process数,一般不去直接修改session数)。
 
Shared Server中的Process 一个对应着Oracle 中的一个或者一个以上的Session。Dedicated Server中,一个session对应一个process,但是一个process未必对应一个session。
如何修改session与process
 
v$session  每一个连接到数据库实例中的session都拥有一条记录。包括用户session及后台进程如DBWR,LGWR,arcchiver等等。
V$process 本视图包含当前系统oracle运行的所有进程信息。常被用于将oracle或服务进程的操作系统进程ID与数据库session之间建立联系。
show parameter sessions  查看当前session配置
show parameter processes   查看当前process配置
alter system set processes=1000 scope=spfile  更改配置,更改完后需要重启数据库。
修改oracle配置文件中process进行修改

oracle session和process的关系

标签:blog   http   io   ar   sp   strong   文件   数据   div   

原文地址:http://www.cnblogs.com/svennee/p/4084425.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!