ORA-12537 TNS-12518 Process m000 died

來源:互聯網
上載者:User

      最近客戶郵件描述無法從用戶端串連到資料庫,其錯誤號碼為ORA-12537: TNS:connection closed,串連被關閉。直接通過tnsping沒有任何問題。listener日誌中出現TNS-12518: TNS:listener could not hand off client connection。即Listener無法分發用戶端串連。下面是具體的錯誤資訊、分析與解決的過程。

 

1、前端錯誤資訊

C:\Program Files\VMware\VMware vSphere CLI>sqlplus robinson@sywgmrSQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 27 10:49:00 2014Copyright (c) 1982, 2005, Oracle.  All rights reserved.Enter password:ERROR:ORA-12537: TNS:connection closed


2、故障分析

oracle@SZDB:/users/oracle/OraHome10g/network/log> tail listener_sywgmr.log TNS-12547: TNS:lost contact  TNS-12560: TNS:protocol adapter error   TNS-00517: Lost contact    Linux Error: 32: Broken pipe27-MAR-2014 11:02:38 * (CONNECT_DATA=(SID=SYWGMR)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=63561)) * establish * SYWGMR * 12518TNS-12518: TNS:listener could not hand off client connection TNS-12547: TNS:lost contact  TNS-12560: TNS:protocol adapter error   TNS-00517: Lost contact    Linux Error: 32: Broken pipeoracle@SZDB:~> oerr ora 1253712537, 00000, "TNS:connection closed"// *Cause: "End of file" condition has been reached; partner has disconnected.// *Action: None needed; this is an information message.oracle@SZDB:~> oerr ora 1251812518, 00000, "TNS:listener could not hand off client connection"// *Cause: The process of handing off a client connection to another process// failed.// *Action: Turn on listener tracing and re-execute the operation. Verify// that the listener and database instance are properly configured for// direct handoff.  If problem persists, call Oracle Support.// *Comment: The problem can be worked around by configuring dispatcher(s)// to specifically handle the desired presentation(s), and connecting// directly to the dispatcher, bypassing the listener.#根據上面的2個error no,沒有獲得太多的有用資訊#ora-12518建議作一個trace.其comment說明可以通過配置disaptcher來解決,而當前我們的資料庫使用的是dedicate方式#關於如何配置監聽器trace,可參考: http://blog.csdn.net/leshami/article/details/8254720#此處不做trace,筆者嘗試reload以及restart 監聽,故障依舊#下面查看alert log 日誌#下面的日誌裡表明無法建立m000進程,m000進程是SMON進程的奴隸進程oracle@SZDB:/users/oracle> tail /u02/database/SYWGMR/bdump/alert_SYWGMR.logThu Mar 27 11:00:28 2014ksvcreate: Process(m000) creation failedThu Mar 27 11:01:29 2014Process m000 died, see its trace fileThu Mar 27 11:01:29 2014ksvcreate: Process(m000) creation failedThu Mar 27 11:02:30 2014Process m000 died, see its trace fileThu Mar 27 11:02:30 2014ksvcreate: Process(m000) creation failed#在06:19:02 2014時有一個Error,無法衍生job 奴隸進程Thu Mar 27 06:19:02 2014Process J000 died, see its trace fileThu Mar 27 06:19:02 2014kkjcre1p: unable to spawn jobq slave processThu Mar 27 06:19:02 2014Errors in file /u02/database/SYWGMR/bdump/sywgmr_cjq0_7780.trc:#從上面的alert log可以看出執行個體無法建立新的進程,推斷有可能是由於超出了執行個體設定進程的最大值oracle@SZDB:~> export ORACLE_SID=SYWGMRoracle@SZDB:~> sqlplus / as sysdbaSQL*Plus: Release 11.2.0.3.0 Production on Thu Mar 27 10:56:27 2014Copyright (c) 1982, 2011, Oracle.  All rights reserved.Connected to:Oracle Database 10g Release 10.2.0.3.0 - 64bit Production-- Author : Leshami-- Blog   : http://blog.csdn.net/leshamiSQL> col RESOURCE_NAME for a20SQL> col LIMIT_VALUE for a20SQL> select resource_name,MAX_UTILIZATION,LIMIT_VALUE from v$resource_limit where resource_name in ('processes','sessions');RESOURCE_NAME        MAX_UTILIZATION LIMIT_VALUE-------------------- --------------- --------------------processes                       1000       1000sessions                        1004       1105#上面的查詢結果果然如此


3、故障解決

#找到了引起故障的原因,就好處理了。下面是關於processes的描述PROCESSES specifies the maximum number of operating system user processes that can simultaneously connect to Oracle. Its value should allow for all background processes such as locks, job queue processes, and parallel execution processes.The default values of the SESSIONS and TRANSACTIONS parameters are derived from this parameter.Therefore, if you change the value of PROCESSES, you should evaluate whether to adjust the values of those derived parameters.#修改執行個體的processes參數,如下,不支援memory的修改,因此需要加scopesys> alter system set processes=1500;alter system set processes=1500                 *ERROR at line 1:ORA-02095: specified initialization parameter cannot be modifiedsys> alter system set processes=1500 scope=spfile;System altered.#下面是修改並重啟後的結果,如果你使用的是pfile參數,則直接修改pfile中processes的值再重啟即可。sys> show parameter processesNAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------processes                            integer     1500sys> show parameter session;NAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------sessions                             integer     1655

   

更多參考

有關Oracle RAC請參考
     使用crs_setperm修改RAC資源的所有者及許可權
     使用crs_profile管理RAC資源設定檔
     RAC 資料庫的啟動與關閉
     再說 Oracle RAC services
     Services in Oracle Database 10g
     Migrate datbase from single instance to Oracle RAC
     Oracle RAC 串連到指定執行個體
     Oracle RAC 負載平衡測試(結合伺服器端與用戶端)
     Oracle RAC 伺服器端串連負載平衡(Load Balance)
     Oracle RAC 用戶端串連負載平衡(Load Balance)
     ORACLE RAC 下非預設連接埠監聽配置(listener.ora tnsnames.ora)
     ORACLE RAC 監聽配置 (listener.ora tnsnames.ora)
     配置 RAC 負載平衡與容錯移轉
     CRS-1006 , CRS-0215 故障一例 
     基於Linux (RHEL 5.5) 安裝Oracle 10g RAC
     使用 runcluvfy 校正Oracle RAC安裝環境

有關Oracle 網路設定相關基礎以及概念性的問題請參考:
     配置非預設連接埠的動態服務註冊
     配置sqlnet.ora限制IP訪問Oracle
     Oracle 監聽器日誌配置與管理
     設定 Oracle 監聽器密碼(LISTENER)
     配置ORACLE 用戶端串連到資料庫

有關基於使用者管理的備份和備份恢複的概念請參考
     Oracle 冷備份
     Oracle 熱備份
     Oracle 備份恢複概念
     Oracle 執行個體恢複
     Oracle 基於使用者管理恢複的處理
     SYSTEM 資料表空間管理及備份恢複
     SYSAUX資料表空間管理及恢複
     Oracle 基於備份控制檔案的恢複(unsing backup controlfile)

有關RMAN的備份恢複與管理請參考
     RMAN 概述及其體繫結構
     RMAN 配置、監控與管理
     RMAN 備份詳解
     RMAN 還原與恢複
     RMAN catalog 的建立和使用
     基於catalog 建立RMAN儲存指令碼
     基於catalog 的RMAN 備份與恢複
     RMAN 備份路徑困惑
     使用RMAN實現異機備份恢複(WIN平台)
     使用RMAN遷移檔案系統資料庫到ASM
     linux 下RMAN備份shell指令碼
     使用RMAN遷移資料庫到異機

有關ORACLE體繫結構請參考
     Oracle 資料表空間與資料檔案
     Oracle 密碼檔案
     Oracle 參數檔案
     Oracle 聯機重做記錄檔(ONLINE LOG FILE)
     Oracle 控制檔案(CONTROLFILE)
     Oracle 歸檔日誌
     Oracle 復原(ROLLBACK)和撤銷(UNDO)
     Oracle 資料庫執行個體啟動關閉過程
     Oracle 10g SGA 的自動化管理
     Oracle 執行個體和Oracle資料庫(Oracle體繫結構) 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.