ORACLE查看允许的最大连接数和当前连接数等信息

 目前总结的语句,在查看数据的连接情况很有用 ,写完程序一边测试代码一边查看数据库连接的释放情况有助于分析优化出一个健壮的系统程序来。

1. 当前的数据库连接数

select count(*) from v$process  

2. 数据库允许的最大连接数

select value from v$parameter where name = 'processes'

3. 修改最大连接数:

SQL> alter system set processes=300 scope=spfile;
系统已更改。
SQL> alter system set sessions=300 scope=spfile;
系统已更改。
注:一般只执行第一个命令就可以,session自动更改.

    3.1创建pfile
       SQL>create pfile from spfile;
               注:如果不做此步,可能会导致更改最大连接数之后数据库不能启动现象

4. 重启数据库

SQL> shutdown immediate
SQL> startup
注:shutdown normal正常关闭数据库可能会相当相当的慢呢
shutdown abort 可能会导致启动数据库时很慢。

PS:中间因为没有执行第5步,导致数据库无法启动
通过使用startup pfile='....pfile/init.ora.11320060487'路径为绝对路径。

然后执行create spfile from pfile;数据库就OK了,但是发现前面做的更改没了。
然后重新修改连接数,记得执行第5步,完成。

5. 查看当前有哪些用户正在使用数据

 SELECT osuser, a.username,cpu_time/executions/1000000||'s', b.sql_text,machine  

 from v$session a, v$sqlarea b  

 where a.sql_address =b.address order by cpu_time/executions desc;  SELECT osuser, a.username,cpu_time/executions/1000000||'s', b.sql_text,machine from v$session a, v$sqlarea b where a.sql_address =b.address order by cpu_time/executions desc;

6. 当前的session连接数

 select count(*) from v$session  

7. 并发连接数

select count(*) from v$session where status='ACTIVE' 

8. 最大连接

 show parameter processes   show parameter processes 

9. Sql代码

alter system set processes = value scope = spfile; 

10.查看processes池

select * from v$sgastat where pool='shared pool' and name='processes';

原文地址:https://www.cnblogs.com/freemanabc/p/5408792.html