ORA-12516:监听程序找不到符合协议堆栈要求的可用处理程序 问题解决
程序员文章站
2022-04-20 23:00:58
问题描述用PL/SQL登录普通用户时发生报错:出现这个问题的根本原因就是因为数据库的process和session已经快达到甚至超过最大值了。问题解决1.用sqlplus工具,通过sysdba用户登录2.查看数据库允许的最大连接数和进程数SQL> show parameter processNAME TYPE VALUE------------------------------------ ------...
问题描述
用PL/SQL登录普通用户时发生报错:
出现这个问题的根本原因就是因为数据库的process和session已经快达到甚至超过最大值了。
问题解决
1.用sqlplus工具,通过sysdba用户登录
2.查看数据库允许的最大连接数和进程数
SQL> show parameter process
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 1
cell_offload_processing boolean TRUE
db_writer_processes integer 1
gcs_server_processes integer 0
global_txn_processes integer 1
job_queue_processes integer 1000
log_archive_max_processes integer 4
processes integer 1000
processor_group_name string
SQL> show parameter session
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
session_cached_cursors integer 50
session_max_open_files integer 10
sessions integer 1524
shared_server_sessions integer
SQL> select value from v$parameter where name = 'processes';
VALUE
---------------------------
1000
SQL> select value from v$parameter where name = 'sessions';
VALUE
----------------------------
1524
3.查看当前进程数
SQL> select count(*) from v$process;
COUNT(*)
----------
998
4.查看当前会话数
SQL> select count(*) from v$session;
COUNT(*)
----------
995
很显然资源快占满了
5.修改数据库允许的最大process
SQL> alter system set processes =2000 scope=spfile;
session会自动根据process调整,一般是 sessions=processes*1.5+5
6.重启实例使配置生效
7.查看数据库允许的最大连接数和进程数
本文地址:https://blog.csdn.net/shayuwei/article/details/107628291
上一篇: PHP编码转换
下一篇: php图片加中文水印实现代码分享