国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Oracle - 關(guān)于SQL執(zhí)行計(jì)劃錯(cuò)誤導(dǎo)致臨時(shí)表空間不足的問題

關(guān)于SQL執(zhí)行計(jì)劃錯(cuò)誤導(dǎo)致臨時(shí)表空間不足的問題

2019-11-21 15:19數(shù)據(jù)庫教程網(wǎng) Oracle

故障現(xiàn)象:臨時(shí)表空間不足的問題已經(jīng)報(bào)錯(cuò)過3次,客戶也煩了,前兩次都是同事添加5G的數(shù)據(jù)文件,目前已經(jīng)達(dá)到40G,占用臨時(shí)表空間主要是distinct 和group by 以及Union all 表數(shù)據(jù)量在200W左右,也不至于把40G的臨時(shí)表空間撐爆。

故障現(xiàn)象:臨時(shí)表空間不足的問題已經(jīng)報(bào)錯(cuò)過3次,客戶也煩了,前兩次都是同事添加5G的數(shù)據(jù)文件,目前已經(jīng)達(dá)到40G,占用臨時(shí)表空間主要是distinct 和group by 以及Union all 表數(shù)據(jù)量在200W左右,也不至于把40G的臨時(shí)表空間撐爆。

原因分析:既然排序用不了這么多臨時(shí)表空間應(yīng)該是別的原因造成。

從包含故障時(shí)間段的AWR報(bào)告中可以看出這一階段DBtime蠻高的,并且sql execute elapsed time 竟然占到了99.43%,可以斷定是SQL語句引起的。

關(guān)于SQL執(zhí)行計(jì)劃錯(cuò)誤導(dǎo)致臨時(shí)表空間不足的問題

通過TOP SQL定位到出問題的SQL

關(guān)于SQL執(zhí)行計(jì)劃錯(cuò)誤導(dǎo)致臨時(shí)表空間不足的問題

確認(rèn)是以下SQL引起:

select 'A', 
d.explanation, --金融機(jī)構(gòu)標(biāo)識(shí)碼 
c.account_no, --交易賬號(hào) 
to_date(a.batchentrydate, 'yyyy-mm-dd'), --發(fā)生日期 
c.currencycode, --幣種 
SUM(decode(A.Creditdebit, 'C', a.transactionamount, 0)), --當(dāng)日貸方發(fā)生額 
SUM(decode(A.Creditdebit, 'D', a.transactionamount, 0)), --當(dāng)日借方發(fā)生額 
case 
when C.Currencycode = 'JPY' Then 
Round(c.Ccyledgerbalance, 0) 
else 
c.ccyledgerbalance 
End Balance, --賬戶余額 
--b.instcode instcode, --系統(tǒng)虛擬機(jī)構(gòu)代號(hào) 
1 datastatus, --前臺(tái)對(duì)應(yīng)的數(shù)據(jù)狀態(tài) 
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, 
TRANSACTIONAMOUNT, 
CREDITDEBIT, 
ACCOUNTBRANCH1, 
SEGMENTCODE, 
REFERENCENUMBER, 
NARRATIONTRAN, 
BATCHNUMBER, 
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, --金融機(jī)構(gòu)標(biāo)識(shí)碼 
c.account_no, --交易賬號(hào) 
a.batchentrydate, --發(fā)生日期 
c.currencycode, --幣種 
C.Ccyledgerbalance--系統(tǒng)機(jī)構(gòu)代號(hào)

觀察并分析其執(zhí)行計(jì)劃,貌似也沒有什么問題,因?yàn)閐f_acmov_today(200W左右數(shù)據(jù))是每天都清空的,沒有索引,全表掃描,nestloops也正常。

但是在執(zhí)行SQL語句時(shí)通過腳本監(jiān)控臨時(shí)表空間的使用情況,發(fā)現(xiàn)臨時(shí)表空間使用率很快就達(dá)到了40G左右。又要臨時(shí)表空間不足了…

使用dbms_stats.gather_table_stats 分析了下表,然后再去執(zhí)行語句,發(fā)現(xiàn)很快。這下問題清楚了,SQL執(zhí)行計(jì)劃錯(cuò)誤導(dǎo)致的問題。

在對(duì)比下先前的SQL執(zhí)行計(jì)劃,發(fā)現(xiàn)在執(zhí)行計(jì)劃中基數(shù)不對(duì),竟然為1 ,估算的差距太大了。

為什么每天做分析的表(crontab job)最后執(zhí)行計(jì)劃卻不對(duì)?

最后竟然是這樣:使用crontab 在凌晨2:30對(duì)表做分析,但是早上6點(diǎn)。其他任務(wù)對(duì)表做了,truncate 和Insert into 從而導(dǎo)致該原因。

最終調(diào)整計(jì)劃任務(wù)時(shí)間問題完全解決。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产真实精品久久二三区 | 性欧美精品久久久久久久 | 日本一区二区中文字幕 | 亚洲精品视频在线播放 | 欧美高清免费 | 国产精品视频一区二区三区 | 久久久久久亚洲 | 精品国产乱码久久久久夜 | 国产综合精品 | 中文字幕高清在线 | 99精品国自产在线 | 美女h视频 | 香蕉视频禁止18 | 成人午夜视频在线播放 | 日本久久香蕉 | 日韩一区二区免费电影 | 亚洲专区欧美 | 国产精品毛片久久久久久久 | 久草中文在线观看 | 亚洲免费精品 | 国产黄色免费 | 亚洲精品日本 | 国产精品一区二 | 国产精品美女久久久 | 成人3d动漫一区二区三区91 | 爱干视频 | 日韩av电影在线观看 | 中文字幕成人av | 国产精品一区二区久久久 | 欧美日韩一区二区在线观看 | 在线看国产 | 精品成人av | 黄大片在线观看 | 噜噜噜噜狠狠狠7777视频 | 天堂av一区二区 | 亚洲一区中文字幕 | 亚洲精品久久久久久国产精华液 | 亚洲精品h | 欧美第一区| 久久久精品 | 成人精品一区二区三区 |