解决方法:
1:查看数据库里现有的进程数,是否到达参数processes的大小。
select count(*) from v$process;
2:获取进程数的上限。
select value from v$parameter where name = 'processes';
3.如已达到上限,修改initSID.ora中的processes的大小。
先到ORACLE_BASE/admin/你的实例名/profile/目录下找到一个init.ora的文件,然后修改里面的process的值,然后将该文件拷贝到ORACLE_HOME/dbs目录下,并将文件重命名为initorcl.ora(其中的orcl为你的数据库实例名,我的数据库实例为orcl所以命名为 initorcl.ora)
4.重新启动数据库到nomount状态下,执行create spfile from pfile; 并startup open。
用sys用户同时以sysoper身份登录sqlplus
即 sqlplus sys/sa as sysoper;
进入SQLPLUS后,先把数据库关闭,可以使用shutdown abort命令,也可以使用shutdown immediate命令,推荐使用shutdown abort命令。然后使用命令startup force即可,说白了就是重启数据库。
附录:查询数据库自启动以来最大的并发数量
select * from v$license