原因分析:
对于数据库的进程数超过最大值,只有资源打开之后,没有及时的关闭,或者说资源打开之后不正常的关闭界面造成数据库中的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;
}}}
详细的步骤截图如下: