程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 猜測:Oracleash報告中SQLText出現"**SQLTextNotAvailable**"的原因

猜測:Oracleash報告中SQLText出現"**SQLTextNotAvailable**"的原因

編輯:Oracle教程

猜測:Oracleash報告中SQLText出現"**SQLTextNotAvailable**"的原因



猜測:Oracle ash報告中SQL Text 出現"** SQL Text Not Available **"的原因

今天在做HVR數據同步軟件的數據同步測試,由於數據量比較大(1條記錄14M,含有lob字段,3000條記錄)並且IO很差,因此導致同步(確切的說是HVR的 refresh)很慢。
在hvr同步的過程,生成了awr報告和ash報告,awr報告很閒,如下:

\

\

\

插一句:log file parallel write 這個等待事件的平均每次等待時間為49ms,io實在是太差了。


ash報告的Top SQL Statements部分 出現了"** SQL Text Not Available **" ,如下:

\

ash報告的Top Sessions部分如下:

\

然後用如下查詢確定這兩個session正在執行的sql的sql_id:

SQL> select sid,serial#,sql_id,event from v$session where (sid='1075' and serial#='364') or (sid='1074' and serial#='230');

SID SERIAL# SQL_ID EVENT
---------- ---------- ------------- ----------------------------------------------------------------
1074 230 9jnsccphbp7a9 SQL*Net message from client
1075 364 bvgbvn8a7313c SQL*Net message from client

SQL>


而此時,查詢目的表,是沒有記錄的,也就是說hvr正在工作,沒有提交。

因此,我就猜測:Oracle ash報告中SQL Text 出現"** SQL Text Not Available **"的原因是沒有提交。

補充一句:

此時的awr中,用9jnsccphbp7a9和bvgbvn8a7313c這兩個sql_id去搜索,是找不到這兩個sql的。用top中的操作系統進程id去反查sql,確實能看到9jnsccphbp7a9這條sql。

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