在客户端进行sqlplus连接报错如下:
- ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程序
ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程序
在/home/oracle/product/10.2.0/db_1/network/log/listener.log中查看到错误如下:
- TNS-12516: TNS:listener could not find available handler with matching protocol stack
TNS-12516: TNS:listener could not find available handler with matching protocol stack
sqlplus连接之后报错:
- [oracle@kel ~]$ sqlplus / as sysdba
- SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 16 00:06:17 2013
- Copyright (c) 1982, 2005, Oracle. All rights reserved.
- Connected.
- SQL> show parameter session
- ORA-01012: not logged on
- SQL> shutdown immediate
- ORA-24324: service handle not initialized
- ORA-24323: value not allowed
- ORA-00020: maximum number of processes (%s) exceeded
[oracle@kel ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 16 00:06:17 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected.
SQL> show parameter session
ORA-01012: not logged on
SQL> shutdown immediate
ORA-24324: service handle not initialized
ORA-24323: value not allowed
ORA-00020: maximum number of processes (%s) exceeded
alterlog中报错:
- Wed May 15 23:59:26 2013
- Process m000 died, see its trace file
- Wed May 15 23:59:26 2013
- ksvcreate: Process(m000) creation failed
- Thu May 16 00:00:26 2013
- Process m000 died, see its trace file
- Thu May 16 00:00:26 2013
- ksvcreate: Process(m000) creation failed
- Process m000 died, see its trace file
- Thu May 16 00:00:27 2013
- ksvcreate: Process(m000) creation failed
- Thu May 16 00:01:27 2013
- Process m000 died, see its trace file
- Thu May 16 00:01:27 2013
- ksvcreate: Process(m000) creation failed
- Process m000 died, see its trace file
- Thu May 16 00:01:27 2013
- ksvcreate: Process(m000) creation failed
Wed May 15 23:59:26 2013
Process m000 died, see its trace file
Wed May 15 23:59:26 2013
ksvcreate: Process(m000) creation failed
Thu May 16 00:00:26 2013
Process m000 died, see its trace file
Thu May 16 00:00:26 2013
ksvcreate: Process(m000) creation failed
Process m000 died, see its trace file
Thu May 16 00:00:27 2013
ksvcreate: Process(m000) creation failed
Thu May 16 00:01:27 2013
Process m000 died, see its trace file
Thu May 16 00:01:27 2013
ksvcreate: Process(m000) creation failed
Process m000 died, see its trace file
Thu May 16 00:01:27 2013
ksvcreate: Process(m000) creation failed
1、无法登陆数据库的情况下使用以下方法:
a、找到数据库的关键进程,然后杀死,此时数据库实例会自动进行关闭
- <SPAN style="WHITE-SPACE: pre"> </SPAN>[oracle@kel ~]$ ps -ef|grep dbw
- <SPAN style="WHITE-SPACE: pre"> </SPAN>oracle 16107 1 0 00:04 ? 00:00:00 ora_dbw0_orcl
- <SPAN style="WHITE-SPACE: pre"> </SPAN>oracle 16755 15946 0 00:19 pts/0 00:00:00 grep dbw
- <SPAN style="WHITE-SPACE: pre"> </SPAN>[oracle@kel ~]$ kill -9 16107
[oracle@kel ~]$ ps -ef|grep dbw
oracle 16107 1 0 00:04 ? 00:00:00 ora_dbw0_orcl
oracle 16755 15946 0 00:19 pts/0 00:00:00 grep dbw
[oracle@kel ~]$ kill -9 16107
2、公用的方法,当能登陆进数据库之后
b、sqlplus登录进数据库,启动数据库
- [oracle@kel ~]$ sqlplus / as sysdba
- SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 16 00:20:11 2013
- Copyright (c) 1982, 2005, Oracle. All rights reserved.
- Connected to an idle instance.
- SQL> startup
- ORACLE instance started.
- Total System Global Area 176160768 bytes
- Fixed Size 2019384 bytes
- Variable Size 100667336 bytes
- Database Buffers 71303168 bytes
- Redo Buffers 2170880 bytes
- Database mounted.
- Database opened.
[oracle@kel ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 16 00:20:11 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 176160768 bytes
Fixed Size 2019384 bytes
Variable Size 100667336 bytes
Database Buffers 71303168 bytes
Redo Buffers 2170880 bytes
Database mounted.
Database opened.
c、查看系统,发现process的值已经接近上限,修改processes的值
- SQL> show parameter process
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- aq_tm_processes integer 0
- db_writer_processes integer 1
- gcs_server_processes integer 0
- job_queue_processes integer 10
- log_archive_max_processes integer 2
- processes integer 20
SQL> show parameter process
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 20
- SQL> alter system set processes=1150 scope=spfile;
- System altered.
SQL> alter system set processes=1150 scope=spfile;
System altered.
d、重新启动oracle数据库
- SQL> startup force
- ORACLE instance started.
- Total System Global Area 176160768 bytes
- Fixed Size 2019384 bytes
- Variable Size 100667336 bytes
- Database Buffers 71303168 bytes
- Redo Buffers 2170880 bytes
- Database mounted.
- Database opened.
- SQL> show parameter process;
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- aq_tm_processes integer 0
- db_writer_processes integer 1
- gcs_server_processes integer 0
- job_queue_processes integer 10
- log_archive_max_processes integer 2
- processes integer 150
SQL> startup force
ORACLE instance started.
Total System Global Area 176160768 bytes
Fixed Size 2019384 bytes
Variable Size 100667336 bytes
Database Buffers 71303168 bytes
Redo Buffers 2170880 bytes
Database mounted.
Database opened.
SQL> show parameter process;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 150
连接不上数据库的时候,可能会是processes值已经达到了上限,从而修改processes的值,加大即可
http://blog.youkuaiyun.com/kellyseeme/article/details/8935208