查询数据库当前进程的连接数:
2017-08-17 14:59
309 查看
查询数据库当前进程的连接数:
select count(*) from v$process;
查看数据库当前会话的连接数:
elect count(*) from v$session;
查看数据库的并发连接数:
select count(*) from v$session where status='ACTIVE';
查看当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status from v$session;
查询数据库允许的最大连接数:
select value from v$parameter where name = 'processes';
或者:show parameter processes;
修改数据库允许的最大连接数:
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;
备注:UNIX 1个用户session对应一个操作系统process,而Windows体现在线程。
启动oracle
su - oracle
sqlplus system/pwd as sysdba //进入sql
startup //启动数据库
lsnrctl start //启动监听
sqlplus "/as sysdba"
shutdown immediate;
startup mount;
alter database open;
--
web应用连接oracle数据库时,经常在查询数据时发生
Listener refused the connection with the following error: ORA-12519, TNS:no appropriate service handler found The Connection descriptor used by the
client was: 127.0.0.1:1521:ORCL
这种错误,网上查了很多,都说是ip地址改变之后的问题,要把tnsnames.ora中的实例配置中改为计算机名,我试过之后问题还是不能解决,今天终于找到问题所在了,是数据库连接数量的问题,12519错误为监听不能提供服务,通常为数据库进程达到上限导致。
可以先执行下 select count(*) from v$process ,看下现在系统有多少连接数,然后再查询 select value from v$parameter where name = 'processes' ,看下oracle设置中设置了多少连接数,一般一个应用都会使用20个,所以如果你开了几个应用的话(web、pl/sql、……)就会出这个问题了,这时只需要执行下
alter system set processes = 300 scope = spfile;
select count(*) from v$process;
查看数据库当前会话的连接数:
elect count(*) from v$session;
查看数据库的并发连接数:
select count(*) from v$session where status='ACTIVE';
查看当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status from v$session;
查询数据库允许的最大连接数:
select value from v$parameter where name = 'processes';
或者:show parameter processes;
修改数据库允许的最大连接数:
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;
备注:UNIX 1个用户session对应一个操作系统process,而Windows体现在线程。
启动oracle
su - oracle
sqlplus system/pwd as sysdba //进入sql
startup //启动数据库
lsnrctl start //启动监听
sqlplus "/as sysdba"
shutdown immediate;
startup mount;
alter database open;
--
web应用连接oracle数据库时,经常在查询数据时发生
Listener refused the connection with the following error: ORA-12519, TNS:no appropriate service handler found The Connection descriptor used by the
client was: 127.0.0.1:1521:ORCL
这种错误,网上查了很多,都说是ip地址改变之后的问题,要把tnsnames.ora中的实例配置中改为计算机名,我试过之后问题还是不能解决,今天终于找到问题所在了,是数据库连接数量的问题,12519错误为监听不能提供服务,通常为数据库进程达到上限导致。
可以先执行下 select count(*) from v$process ,看下现在系统有多少连接数,然后再查询 select value from v$parameter where name = 'processes' ,看下oracle设置中设置了多少连接数,一般一个应用都会使用20个,所以如果你开了几个应用的话(web、pl/sql、……)就会出这个问题了,这时只需要执行下
alter system set processes = 300 scope = spfile;
相关文章推荐
- 查询数据库当前连接数(session),进程数等操作
- 查询数据库当前连接数(session),进程数等操作
- 查询数据库当前连接数(session),进程数等操作
- 查询数据库当前连接数(session),进程数等操作
- 查询数据库当前连接数(session),进程数等操作
- 查询数据库当前连接数(session),进程数等操作
- 查询指定数据库的当前连接数和关闭指定数据库的所有连接
- 查询指定数据库的当前连接数和关闭指定数据库的所有连接
- 【SQL优化】查询数据库当前会话的连接数
- Oracle数据库查询允许的最大连接数、当前的连接数、哪些用户正在使用数据库
- oracle查看数据库当前连接数
- 查询informix数据库当前时间
- 查询当前会话进程号
- 未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持。如果希望使用通知,请为此数据库启用 Service Broker
- obj-c编程10:Foundation库中类的使用(4)[文件管理,查询当前进程信息]
- 在Windows Server 2008 R2 Server中,连接其他服务器的数据库遇到“未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持。如果希望使用通知,请为此数据库启用 Service Broker ”
- 查询数据库锁进程
- 在SELECT语句的FROM子句中最多可以指定多少个表或视图,相互之间要用什么分隔,当所查询的表不在当前数据库时,可用什么格式来指出表或视图对象?
- mysql查询当前数据库中所有表
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程