有时候连得上Oracle数据库,有时候又连不上.

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

select
 
count
(
*
from
 v$process 
--
当前的连接数
select
 value 
from
 v$parameter 
where
 name 
=
 
'
processes
'
 
--
数据库允许的最大连接数
修改最大连接数:
alter
 system 
set
 processes 
=
 
300
 scope 
=
 spfile;
重启数据库:
shutdown
 immediate;
startup;
--
查看当前有哪些用户正在使用数据
SELECT
 or, 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
;