经常登录oracle数据库时可能出现如图所示情况
提示监听程序找不到符合协议堆栈要求的可用处理程序,无法登录数据库,其主要是因为oracle的process和session已经达到甚至超过最大值了
第一种解决方法是重启oracle服务,但是如果之后链接过多还是会出现这种情况。
点击开始——控制面板——系统和安全——管理工具——服务,双击服务选项,出现如下图界面
找到OracleDBConsolertrdp,OracleServiceTRDP和OracleOraDb11g_home1TNSListener右键单击,选择重新启动,重新链接数据库即可。
第二种方法,修改process和session的值。
首先输入sqlplus /nolog,出现如下图
然后输入conn sys / as sysdba,在输入口令处输入数据库密码(注意输入的密码不显示),出现下图即成功
然后查看连接进程数量设置值,输入命令
show parameter processes;
查看会话数量设置值,输入命令
show parameter sessions;
最后修改process和session的最大值,修改语句
alter system set processes=300 scope=spfile;
alter system set sessions=335 scope=spfile;
需要注意的是Oracle官方文档中要求
sessions=processes*1.1+5
sessions的值是根据processes的值计算得来的。
修改完process和session的值后,重启oracle服务器即可
如下图