關于SQL執行計劃錯誤導致臨時表空間不足的問題
導讀:1建站知識故障現象:臨時表空間不足的問題已經報錯過3次,客戶也煩了,前兩次都是同事添加5G的數據文件,目前已經達到4網站seo優化課程seo網站優化軟件。
故障現象:臨時表空間不足的問題已經報錯過3次,客戶也煩了,前兩次都是同事添加5G的數據文件,目前已經達到40G,占用臨時表空間主要是distinct 和group by 以及Union all 表數據量在200W左右,也不至于把40G的臨時表空間撐爆。
原因分析:既然排序用不了這么多臨時表空間應該是別的原因造成。
從包含故障時間段的AWR報告中可以看出這一階段DBtime蠻高的,并且sql execute elapsed time 竟然占到網站seo優化診斷工具了99.43%,可以斷定是SQL語句引起的。
確認是以下SQL引起:
select 'A', d.explanation, --金融機構標識碼 c.account_no, --交易賬號 to_date(a.batchentrydate, 'yyyy-mm-dd'), --發生日期 c.currencycode, --幣種 SUM(decode(A.Creditdebit, 'C', a.transactionamount, 0)), --當日貸方發生額 SUM(decode(A.Creditdebit, 'D', a.transactionamount, 0)), --當日借方發生額 case when C.Currencycode = 'JPY' Then Round(c.Ccyledgerbalance, 0) else c.ccyledgerbalance End Balance, --賬戶余額 --b.instcode instcode, --系統虛擬機構代號 1 datastatus, --前臺對應的數據狀態 c.account_no || c.currencycode || '2013-01-04', to_date('2013-01-04', 'yyyy-mm-dd') from df_cust C left join (select distinct ACCOUNTBRANCH, DESCRIPTION, MASTERNO, CURRENCYCODE, ACCOUNT_NUMBER, SEQNO, ACCT_CLASS_CODE, PRODUCTCODE, VALUEDT_YYYY, VALUEDT_MM, VALUEDT_DD, BATCHENTRYDATE, VALUEDT_YYYYMMDD, NARRATIONPOST, TRANSseo網站排名優化軟件ACTIONAMOUNT, CREDITDEBIT, ACCOUNTBRANCH1, SEGMENTCODE, REFERENCENUMBER, NARRATIONTRAN, B網站推廣優化seoATCHNUMBER, GLDEPTID, ARMCODE, EXTREFNO, MAKERID, CHECKERID, CHANNELID, TRANSACTION_AMT_IN_USD, ACCSHORTNAME, ARMNAME, SEGNAME, TXNCODE, REVERSALFLAG, EBBSREFERENCE, TRANSTYPECODE, CUSTOMERRATE, ADVTREASURYFLAG, VA_FLAG from df_acmov_today where Creditdebit in ('C', 'D')) a on a.account_number = c.account_no Left Join Da_Mid_Acc_Gl_Dic D On D.Source = A.Accountbranch Where exists (select 1 from acc.t_base_account b where b.account = c.account_no and b.currence_code = c.currencycode) and a.account_number is not null and c.account_no like '0%' group by d.explanation, --金融機構標識碼 c.account_no, --交易賬號 a.batchentrydate, --發生日期 c.currencycode, --幣種 C.Ccyledgerbalance--系統機構代號
觀察并分析其執行計劃,貌似也沒有什么問題,因為df_acmov_today(200W左右數據)是每天都清空的,沒有索引,全表掃描,nestloops也正常。
但是在執行SQL語句時通過腳本監控臨時表空間的使用情況,發現臨時表空間使用率很快就達到了40G左右。又要臨時表空間不足了…
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-23 ,文章關于SQL執行計劃錯誤導致臨時表空間不足的問題主要講述不足,錯誤,SQL網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_5956.html