ORA-12519, ORA-00020异常产生原因及解决方案

博客地址:http://www.moonxy.com

近期在做项目的过程中,使用oracle时碰到了如下两个异常:

ORA-12519, TNS:no appropriate service handler found;

ORA-00020:maximum number of processes (150) exceeded。

下文我们就来看一下产生此问题的原因和解决办法。

原因分析:

对于数据库的进程数超过最大值,只有资源打开之后,没有及时的关闭,或者说资源打开之后不正常的关闭界面造成数据库中的process处于inactive,没有释放,需要修改数据库的进程数据。

解决办法:

使用sys,以sysdba权限登录,可以通过sqlplus或PLsql连接至数据库通过command命令行进行修改。 首先使用 show parameter spfile; 看下 spfile文件是否存在 如果spfile文件存在的话,即对应的VALUE 是 /u01/app/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora话,修改对应的最大进程数:

SQL> show parameter processes; //查看processes连接数设置
SQL> show parameter sessions; //查看sessions连接数设置
SQL> alter system set processes=3000 scope=spfile; //设置processes连接数
SQL> shutdown immediate;
SQL> startup
SQL> show parameter processes; //查看processes连接数设置

如果spfile文件不存在的话,即对应的VALUE 是Null值的话,修改对应的最大进程数方法如下:

SQL> show parameter processes; //查看processes连接数设置
SQL> create spfile from pfile='u01/app/oracle/product/11.2.0/dbhome_1/dbs/initdevdb.ora' //切换到spfile启动
SQL> shutdown immediate;
SQL> show parameter spfile; //在显示spfile文件,可以看到Value不为空
SQL> alter system set processes=3000 scope=spfile; //设置processes连接数
SQL> shutdown immediate;
SQL> startup
SQL> show parameter processes; //查看processes连接数设置,可以看到已经启动成功
SQL> show parameter sessions; 

也可以使用

SQL> show parameter processes;

SQL> alter system set processes=500 scope = spfile;

SQL> create pfile from spfile;

然后重启数据库,再次show,已经修改成了500了。

备注:

安装11g,过程中提示 未找到文件 E:appxxjproduct11.2.0dbhome_1owbexternaloc4j_applicationsapplicationsWFMLRSVCApp.ear 解决办法: 将win64_11gR2_database_2of2中的win64_11gR2_database_2of2databasestageComponents*拷到win64_11gR2_database_1of2databasestageComponents目录下即可。

原文地址:https://www.cnblogs.com/cnjavahome/p/5134855.html