日期:2014-05-16  浏览次数:20722 次

oracle session与process的区别
oracle数据库中session与porcess这个两个控制参数的区别是什么那?麻烦哪位大神解答一下,谢谢。
------解决方案--------------------
process:这个参数限制了能够连接到SGA的操作系统进程数(或者是Windows 系统中的线程数),这个总数必须足够大,从而能够适用于后台进程与所有的专用服务器进程,此外,共享服务器进程与调度进程的数目也被计算在内.此外,共享服务器进程与调度进程的数目也被计算在内.因此,在专用服务器环境中,这是一种限制并发连接数的方法.
Sessions:是被应用于oracle层次而非操作系统层次
默认情况下:
sessions=1.1*processes + 5
------解决方案--------------------
每个数据库连接可以产生一个或多个会话,如果数据库运行在专用服务器方式,一个会话(session)对应一个服务器进程(process),如果数据库运行在共享服务器方式,一个服务器进程可以为多个会话服务
------解决方案--------------------
v$session视图有一列paddr,放置的是搭载该会话的进程地址
一个进程可以搭载零到多个会话。
譬如set autotrace的时候,实际是在连接上又开了一个监视会话,在v$session中就能看到两行paddr一样的会话
进程也可以不搭载会话,如disconnect命令之后,就会注销连接上的所有会话,而exit命令才是关闭连接