ORA-12516 解决方法 2009-09-21 10:45:53标签:oracle ORA-12516
oracle服务器上某个数据库出现' ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程'错误,要解决该问题首先查看一下数据库现有的进程数,是否已经达到参数processes的大小。
a.
select count(*) from v$process;
取得数据库目前的进程数。
b.
select value from v$parameter where name = 'processes';
取得进程数的上限。
1、查看当前会话数、processes和sessions值,发现session数和2个参数的值已经非常接近
SQL*Plus: Release 11.1.0.6.0 - Production on 星期一 9月 21 9:50:21 2009 Copyright (c) 1982, 2007, Oracle. All rights reserved.
SQL> conn / as sysdba
已连接。SQL>
select count(*) from v$session;
COUNT(*)----------
45
SQL>
show parameter processes
NAME TYPE VALUE
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 50
SQL>
show parameter sessions
NAME TYPE VALUE
java_soft_sessionspace_limit integer 0l
icense_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 60
shared_server_sessions integer
2、修改processes和sessions值
SQL>
alter system set processes=300 scope=spfile;
系统已更改。
SQL>
alter system set sessions=335 scope=spfile;
系统已更改。
3、查看processes和sessions参数,但更改并未生效
SQL>
show parameter processes
NAME TYPE VALUE
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 50
SQL>
show parameter sessions
NAME TYPE VALUE
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 60
shared_server_sessions integer
4、重启数据库,使更改生效
SQL> shutdown
SQL> startup
SQL> show parameter processes
NAME TYPE VALUE
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 300
SQL> show parameter sessions
NAME TYPE VALUE
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
sessions integer 335
shared_server_sessions integer
分享到:
相关推荐
"ORA-12516 TNS 监听程序无法找到匹配协议栈的可用句柄" oracle 数据库是当前最流行的关系型数据库管理系统之一,然而,在使用 oracle ...ORA-12516 错误信息的解决方法是多方面的,需要根据实际情况进行分析和调整。
#### 解决方法 针对ORA-12516错误,可以通过以下步骤来排查并解决问题: 1. **登录数据库** 首先,以`SYSDBA`身份登录到Oracle数据库: ```sql sqlplus / as sysdba ``` 2. **检查当前会话数** 使用以下...
解决ORA-00600错误的根本方法通常涉及优化SQL语句,以避免触发错误的特定条件。这可能包括调整查询计划、使用索引、减少数据量等。此外,如果错误与已知的Oracle数据库bug有关,更新数据库版本或应用相应的补丁是...
本文将详细解析一个常见的Oracle错误——ORA-12516,并提供一套完整的解决流程,帮助数据库管理员或开发人员快速定位并解决问题。 ### ORA-12516错误详解 ORA-12516错误全称为“TNS:无法打开监听器”,通常发生在...
7. 连接数过多的解决方法:当发现会话数大于进程数*1.1+22时,首先需要排除进程数不够的问题。如果确定是进程数问题,则需要增加进程数。在Oracle中,修改进程数需要谨慎操作,并且需要考虑到用户使用情况和系统资源...