SQL> conn sys/system@jytest as sysdba
ERROR:
ORA-12537: TNS:connection closed
1.processes参数设置太小。
进入设置processes方法:
Oracle的sessions和processes的关系是
sessions=1.1*processes + 5
使用sys,以sysdba权限登录:
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ---------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
SQL> alter system set processes=400 scope = spfile;
系统已更改。
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
SQL> create pfile from spfile;
而我出现这个故障不是processes参数设置太小造成的
2.内存使用完了
当OS的内存使用率达到90%以上时,既使是还可以再建立100个进程,但此时由于OS再也分配不出更多的内存来给ORACLE的服务进程了,所以监听器就没办法给进来和客户端连接启动一个专用的ORACLE SERVER PROCESS(我们知道,在DEDICATED SERVER模式,一个客户端连接的建立,ORACLE就会启动一个专用的SERVER PROCESS来服务这个客户端连接)。我们来检查一下OS的内存状况:
[oracle@weblogic28 ~]$ free
total used free shared buffers cached
Mem: 32949872 32709700 240172 0 213204 22118944
-/+ buffers/cache: 10377552 22572320
Swap: 32764556 600696 32163860
果然,OS的内存使用率已达99%了。
解决方法:
增加ORACLE服务器的物理内存或减少其它软件所用内存。