Oracle資料庫hang住執行個體分析

來源:互聯網
上載者:User

Oracle資料庫hang住執行個體分析

現象: 

  普通使用者和sysdba都無法登陸,業務中斷

分析過程:

1.先做hanganalyze和systemstate dump

$sqlplus -prelim "/as sysdba"

SQL> oradebug setmypid

Statement processed.

SQL> oradebug hanganalyze 3

Statement processed.

SQL> oradebug hanganalyze 3

Statement processed.

SQL> oradebug tracefile_name

/u01/app/Oracle/diag/rdbms/db11/db11/trace/db11_ora_2495.trc

SQL> 

2.分析trace檔案

有76個會話被會話494阻塞了,而會話494在等待shared pool...

會話494,496,519之間可能相互獨立,也可能存在互相阻塞的關心。

繼續分析日誌:

”adjlist“表示nodenum,所以會話494被會話598阻塞,會話496也被會話597阻塞

所以進程號553382、sid=598的會話就是資料庫hang住時的阻塞源頭

會話598在做什麼,需要從systemstate dump中做分析,但是系統重啟前沒有做systemstate dump分析。

因為oracle中的進程要麼是前台進程,要麼是後台進程,在oracle啟動的時候,會記錄後台進程的進程id號,

從alter日誌中發現:

根據MMAN進程猜測與動態調整SGA有關。關閉動態SGA管理後,系統復原正常,不再有hang現象。

相關文章

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.