Oracle-SQL程序優化4
阿新 • • 發佈:2017-08-28
插入 oracl 是什麽 而且 查看 建表 sap logs 兼容性問題
從事一年DBA工作,經驗尚淺,但是遇到問題總還是能夠解決,今天就談下我遇到的一個比較奇葩的問題。
運維人員告知我下午過後ETL一直卡住沒有繼續,那時我以為又是什麽兼容性問題引起的,就重跑一下ETL,誰知又在第五步就卡住了,好幾次都這樣,單獨執行ETL的那個節點也執行了很長時間都沒有結束,也不報錯。平時只要1秒就執行完的事,而且取消也花了好多時間。中午跑的時候沒有問題啊,怎麽會這樣。以下是該圖SQL的執行過程:
剛開始查表的高水位線,沒有異常,因為表入數據前都要進行truncate的,排除。
查找表壞塊,沒有異常,排除。
鎖也排除。
查看SQL執行計劃,由於有遠程表,執行計劃不詳細,但可以肯定SELECT語句執行沒有問題,SELECT語句1秒就執行完了。
查看AWR分析報告
數據庫重啟了,也沒有用
因為一直都沒有執行完,看不出毛病,除了占用時間長之外。
後來就嘗試新建表代替SAP_MO_SHORT這張表,誰知道結果還是一樣,剛建的新表........
頓時很無語,以這條SQL建視圖很快,但建表就很慢,而且插入SAP_MO_SHORT也是一樣,超級久超級慢,真的更無語了..........
馬上ETL作業又要跑了,無奈之下只能把JOB停了......
排除表問題後,就研究了一下SELECT語句,但執行很快啊,中午也沒有問題,於是就把關聯方式改了一下
居然執行不到1秒,數據量一樣......有點懷疑人生了........
Oracle-SQL程序優化4