一聚教程网:一个值得你收藏的教程网站

热门教程

oracle数据库连接数查看命令

时间:2022-06-29 10:02:15 编辑:袖梨 来源:一聚教程网

oracle数据库有时会出现客户端连接间歇性失败,报类似如下错误:

ORA-12519, TNS:no appropriate service handler found

可能是数据库上当前的连接数目已经超过了它能够处理的最大值。

 查看数据库允许的最大连接数:

 代码如下 复制代码

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

show parameter processes;

 

查看当前的连接数:

 代码如下 复制代码

 select count(*) from v$process;

v$process视图包含当前系统oracle运行的所有进程信息。常被用于将oracle或服务进程的操作系统进程ID与数据库session之间建立联系。

 
修改最大连接数:

 代码如下 复制代码

alter system set processes = 300 scope = spfile;

 
重启数据库:

 代码如下 复制代码

shutdown immediate; 

startup;

 

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

 代码如下 复制代码

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

from v$session a, v$sqlarea b 

where a.sql_address =b.address order by cpu_time/executions desc;

 

查询数据库自启动以来最大的并发数量(sessions_highwater 记录的是数据库会话曾经达到的最大值):

 代码如下 复制代码

 select * from v$license


查看oracle用户数据库连接数

1、查询oracle的连接数

 代码如下 复制代码
select count(*) from v$session;

2、查询oracle的并发连接数

 代码如下 复制代码
select count(*) from v$session where status='ACTIVE';

3、查看不同用户的连接数

 代码如下 复制代码
select username,count(username) from v$session where username is not null group by username;

4、查看所有用户:

 代码如下 复制代码
select * from all_users;

5、查看用户或角色系统权限(直接赋值给用户或角色的系统权限):

 代码如下 复制代码
select * from dba_sys_privs;
select * from user_sys_privs;

6、查看角色(只能查看登陆用户拥有的角色)所包含的权限

 代码如下 复制代码
select * from role_sys_privs;

7、查看用户对象权限:

 代码如下 复制代码
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;

8、查看所有角色:

 代码如下 复制代码
select * from dba_roles;

9、查看用户或角色所拥有的角色:

 代码如下 复制代码
select * from dba_role_privs;
select * from user_role_privs;

10、查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)

 代码如下 复制代码
select * from V$PWFILE_USERS;

 

修改数据库允许的最大连接数:

 代码如下 复制代码

alter system set processes = 300 scope = spfile;

 

查看游标数量

 代码如下 复制代码

Select * from v$open_cursor Where user_name=''

 

查询数据库允许的最大连接数:

 代码如下 复制代码
select value from v$parameter where name = 'processes';
或者:show parameter processes;

 

查询数据库允许的最大游标数:

 代码如下 复制代码

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

 

查看oracle版本

 代码如下 复制代码

select banner from sys.v_$version;


按降序显示用户"SYSTEM"为每个会话打开的游标数

 代码如下 复制代码

select o.sid, osuser, machine, count(*) num_curs  from v$open_cursor o, v$session s  where user_name = 'SYSTEM' and o.sid=s.sid   group by o.sid, osuser, machine  order by num_curs desc;

热门栏目