简述Oracle中v$process和v$session
process:这个参数限制了能够连接到SGA的操作系统进程数(或者是Windows 系统中的线程数),这个总数必须足够大,从而能够适用于后台进程与所有的专用服务器进程,此外,共享服务器进程与调度进程的数目也被计算在内.此外,共享服务器进程与调度进程的数目也被计算在内.因此,在专用服务器环境中,这是一种限制并发连接数的方法。
Oracle提供了相应的视图v$process用来监视整个数据库的进程情况。
v$process进程中的SPID提供了每个进程对应的操作系统的PID,因此如果监控某个操作系统的PID有异常,可以通过这个视图去查找相应的SQL语句。
v$process和v$session的关系
oracle的连接数(sessions)与其参数文件中的进程数(process)相关,它们的关系如下:sessions=(1.1*process+5),如果资源允许,而当前process 数过小,那么可以适当增大processs 数,( session 数依赖于process数,一般不去直接修改session数)。
Shared Server中的Process 一个对应着Oracle 中的一个或者一个以上的Session。Dedicated Server中,一个session对应一个process,但是一个process未必对应一个session。
如何 修改v$process和v$session参数
参考另一篇博客:https://blog.csdn.net/wh445306/article/details/102547991
以上的v$process和v$session参数的设置只是经验值(个人实验用途,单机连接XE版),但是在实际的运行过程由于业务或者架构的改变可能实际的系统的session数量和process数量超过了v$process和v$session参数的值,直接导致后面连接的用户登录不了;
查看当前session配置:show parameter sessions;
查看当前process配置:show parameter processes;
修改参数:alter system set processes=1000 scope=spfile;该参数重启系统或服务后生效;
本文来自博客园,作者:IT情深,转载请注明原文链接:https://www.cnblogs.com/wh445306/p/16751815.html