ORACLE自動重編譯包導致查詢被卡
如果包、儲存過程、函式關聯的物件有DDL變化或者引用了全域性變數(並重編譯了包含全域性變數的包),那麼首次呼叫時,會重編譯該包、儲存過程、函式關聯。
如果是並行呼叫包、儲存過程、函式關聯,很容易導致記憶體鎖,
其它session如果要查詢關聯的物件,將會出現 cursor: pin S wait on X 等待,查詢被卡住。
查詢被卡住的session,以及被卡在的SQL:
select se.BLOCKING_SESSION,sql.INST_ID,se.event,sql.SQL_TEXT,sql.SQL_FULLTEXT,sql.SQL_ID,se.*
from gv$sqlarea sql ,gv$session se
where sql.ADDRESS=se.SQL_ADDRESS and sql.INST_ID=se.INST_ID
and se.status='ACTIVE' and se.BLOCKING_SESSION is not null;
查詢包、儲存過程、函式關聯的物件:
select * from dba_dependencies t where owner='xxx';
查詢上次DDL時間
select * from dba_objects t where owner='xxx' order by t.last_ddl_time desc ;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10995764/viewspace-2120368/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle sysman.mgmt_jobs導致資料庫自動重啟Oracle資料庫
- Oracle的查詢重啟動Oracle
- oracle 失效物件自動重新編譯Oracle物件編譯
- 資料檔案RESIZE導致查詢DBA_DATA_FILES被鎖
- IP地址被清空導致例項重啟
- Oracle查詢並批量編譯無效物件指令碼Oracle編譯物件指令碼
- Bitcode導致的編譯報錯編譯
- sqlserver查詢結果中新增自動編號SQLServer
- 前端開發模式:被動編譯和主動編譯前端模式編譯
- FAQ系列|列型別被自動修改導致複製失敗型別
- 由AIX系統故障導致系統重啟,使Oracle資料庫自動啟動例項AIOracle資料庫
- Oracle資料庫非同步IO導致查詢響應緩慢Oracle資料庫非同步
- oracle 儲存過程不能編譯-- (編譯的同時正在訪問所導致的) [轉載]Oracle儲存過程編譯
- 等於NULL的查詢條件導致查詢結果不正確Null
- 連結伺服器查詢導致的阻塞伺服器
- mybatis lambdaQuery 查詢條件導致空指標MyBatis指標
- AIX 5.3 重啟系統後VG PERMISSION被改變導致Oracle10.2.0.5叢集啟動失敗AIOracle
- 【SQL】Oracle查詢轉換之物化檢視查詢重寫SQLOracle
- Hibernate查詢自動更新
- iOS自動化編譯打包iOS編譯
- 編譯環境一致Wise2C的自動化流程編譯
- 執行SQL查詢導致磁碟耗盡故障演示SQL
- 使用ROWNUM將導致查詢結果集的固化
- Lombok 的@ToString導致的Maven編譯錯誤LombokMaven編譯
- 編譯過程導致ORA-4068錯誤編譯
- 【爬坑】.Net編譯環境導致的問題編譯
- oracle 11.2.0.2 版本產生的私網地址不通會導致第2個節點自動重啟Oracle
- 為什麼Oracle的外連線寫法不同導致查詢結果不同?Oracle
- MySQL:RR模式下insert也可能導致查詢慢MySql模式
- 誤操作經歷,truncate導致閃回查詢失敗
- 升級Xcode10導致的編譯錯誤XCode編譯
- 查詢重寫
- 查詢hba卡wwn號
- Oracle使用者密碼被鎖定導致的故障Oracle密碼
- 電源紋波偏高導致產品不斷自動重啟經驗案例分析
- SQL SERVER 臨時表導致儲存過程重編譯(recompile)的一些探討SQLServer儲存過程編譯Compile
- ORACLE windows驅動磁碟機代號自動變更導致oracle資料庫崩潰無法啟動OracleWindows資料庫
- chorme自動升級導致跨域問題ORM跨域