最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2013年04月01日 16:50:40   作者:  
故障現(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語句引起的。

image

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

image

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

select 'A',
d.explanation, --金融機(jī)構(gòu)標(biāo)識(shí)碼
c.account_no, --交易賬號
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)代號
1 datastatus, --前臺(tái)對應(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, --交易賬號
a.batchentrydate, --發(fā)生日期
c.currencycode, --幣種
C.Ccyledgerbalance--系統(tǒng)機(jī)構(gòu)代號

觀察并分析其執(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)致的問題。

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

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

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

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

相關(guān)文章

  • Oracle提高SQL執(zhí)行效率的3種方法

    Oracle提高SQL執(zhí)行效率的3種方法

    Oracle提供了多種方法在執(zhí)行帶有大量執(zhí)行計(jì)劃的復(fù)雜查詢時(shí)剖析過程會(huì)拖累系統(tǒng)的性能,感興趣的朋友可以了解下
    2013-09-09
  • Oracle游標(biāo)使用參考語句實(shí)例解析

    Oracle游標(biāo)使用參考語句實(shí)例解析

    這篇文章主要介紹了Oracle游標(biāo)使用參考語句實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • ORACLE8的分區(qū)管理

    ORACLE8的分區(qū)管理

    ORACLE8的分區(qū)管理...
    2007-03-03
  • 索引在Oracle中的應(yīng)用深入分析

    索引在Oracle中的應(yīng)用深入分析

    以下是對索引在Oracle中的應(yīng)用進(jìn)行了深入的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • oracle初始化參數(shù)設(shè)置

    oracle初始化參數(shù)設(shè)置

    oracle初始化參數(shù)設(shè)置...
    2007-03-03
  • Oracle存儲(chǔ)過程、包、方法使用總結(jié)(推薦)

    Oracle存儲(chǔ)過程、包、方法使用總結(jié)(推薦)

    這篇文章主要介紹了Oracle存儲(chǔ)過程、包、方法使用總結(jié)(推薦),需要的朋友可以參考下
    2017-05-05
  • OL7.6上RPM方式安裝Oracle 19c的教程

    OL7.6上RPM方式安裝Oracle 19c的教程

    這篇文章主要介紹了OL7.6上RPM方式安裝Oracle 19c的教程詳解,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Oracle存儲(chǔ)過程語法代碼示例詳解

    Oracle存儲(chǔ)過程語法代碼示例詳解

    本文講解Oracle存儲(chǔ)過程語法,包括總體結(jié)構(gòu)、存儲(chǔ)過程聲明、參數(shù)定義、變量聲明、游標(biāo)聲明、行數(shù)據(jù)類型聲明、變量賦值、條件判斷、WHILE循環(huán)、FOR循環(huán)、游標(biāo)使用、異常捕捉、異常處理、存儲(chǔ)過程調(diào)用、存儲(chǔ)過程代碼示例調(diào)用代碼示例、調(diào)用結(jié)果展示,感興趣的朋友一起看看吧
    2025-04-04
  • Oracle中PL/SQL復(fù)合數(shù)據(jù)類型

    Oracle中PL/SQL復(fù)合數(shù)據(jù)類型

    這篇文章介紹了Oracle中PL/SQL的復(fù)合數(shù)據(jù)類型,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • Oracle23ai 新特性IF [NOT] EXISTS語法支持的使用

    Oracle23ai 新特性IF [NOT] EXISTS語法支持的使用

    IF [NOT] EXISTS語法用于抑制因給定對象的存在或不存在而引發(fā)的潛在錯(cuò)誤,允許您編寫冪等DDL腳本,本文主要介紹了Oracle23ai 新特性IF [NOT] EXISTS語法支持的使用,感興趣的可以了解一下
    2024-08-08

最新評論

鄂尔多斯市| 满城县| 轮台县| 和平区| 专栏| 广河县| 荣昌县| 襄汾县| 孟津县| 财经| 桃源县| 襄城县| 青岛市| 托克逊县| 绵阳市| 青海省| 札达县| 甘孜| 即墨市| 罗山县| 通州市| 永修县| 五莲县| 保山市| 博乐市| 红原县| 霍山县| 庐江县| 深水埗区| 桑植县| 穆棱市| 枣强县| 江孜县| 贵港市| 绵阳市| 金门县| 郓城县| 改则县| 丹阳市| 绥德县| 马山县|