ORA-12537错误的解决

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服务器的物理内存或减少其它软件所用内存

发表评论

电子邮件地址不会被公开。