程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> ORA-12516:TNS:listener could not find available handler with matching protocol stack

ORA-12516:TNS:listener could not find available handler with matching protocol stack

編輯:Oracle教程

應用程序連接測試數據庫時報ORA-12516:TNS:listener could not find available handler with matching protocol stack

檢查監聽日志文件,發現大量的TNS-12516錯誤

cd /u01/app/oracle/product/10.2.0/db_1/network/log

more listener.log

TNS-12516: TNS:listener could not find available handler with matching protocol stack
13-MAY-2014 14:49:35 * (CONNECT_DATA=(SERVICE_NAME=xxx)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=GET08C0058)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.xxx.xxx)(PORT=4594)) * establish * xxx * 12516


登錄數據庫,檢查參數session時,出現ORA-01012:not logged on

[oraescm@lnxtest ~]$ sqlplus / as sysdba
 
SQL*Plus: Release 10.2.0.4.0 - Production on Tue May 13 14:29:57 2014
 
Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
 
Connected.
SQL> show parameter session;
 
ERROR at line 1:
ORA-01012: not logged on
 

治標治本的解決辦法是修改processes參數值,但是此時數據庫連接不上。可以通過下面方法解決:

1: 停止監聽服務,等數據庫訪問連接數下降用戶再登錄。 
        lsnrctl stop

2: sqlplus "/ as sysdba" 登陸後,修改processes值。


由於是測試數據庫,可以折騰一下,如果不想修改processes的值,可以通過下面臨時解決方法解決問題

1:重啟監聽服務

lsnrctl reload

2:  sqlplus "/ as sysdba" 登陸後
       shutdonwn abort

         startup

3: ps -ef|grep ora_dbw0_$Oracle_SID

   kill -9 pid ;

   startup --重啟數據庫

參考資料:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved