在查看undo的使用率的時候,在Undo_management為auto的時候,經(jīng)常會看到undo自己在不斷的伸縮擴展,自我調(diào)節(jié)。有時候看到Undo收縮
在查看undo的使用率的時候,在Undo_management為auto的時候,經(jīng)常會看到undo自己在不斷的伸縮擴展,自我調(diào)節(jié)。
有時候看到Undo收縮的很緊,就想知道哪些sql語句在運行,,可能有哪些潛在的問題。對于在線業(yè)務(wù)系統(tǒng)而言,如果某一條sql語句運行時間較長,而且消耗的undo資源極高的情況下,sql語句很可能是有問題的。
可以通過如下的sql語句來簡單定位,找到一個sql_id列表,可以看到每個sql_id消耗的Undo資源情況。
sqlplus -s $DB_CONN_STR@$SH_DB_SID <
select sum(undoblks)*8/1024 total_size_MB from v\$undostat ;
select *from (
select maxqueryid,
round(sum(undoblks )*8/1024) consumed_size_MB
from v\$undostat group by maxqueryid order by consumed_size_MB desc
) where rownum<50;
EOF
Exit
腳本運行結(jié)果如下:
TOTAL_SIZE_MB
-------------
70299.2188
MAXQUERYID CONSUMED_SIZE_MB
------------- ----------------
7wx3cgjqsmnn4 39990
210ndtcx5fwgs 20738
648600hq1s1s8 5795
cjqdgd14xjwjm 1116
4ad8ypr3nf6vm 869
0my2xfpqrk6gw 597
f3pq3mdycwcd2 455
cwp9zk1y7cthy 312
ddtx15a9nzmjt 139
csrj5pnpx4wtr 72
6tshctswzutbk 49
3a4vsqkf8yaxs 49
gpzkq2kv9vhan 27
fa311gg43yjyf 21
cysbbg2h86xc6 19
fjzknc02f7019 18
aty7a3bvqfxxx 17
ftmvqxfzq1fv0 16
可以看到sql_id為7wx3cgjqsmnn4 的sql 消耗資源情況最嚴重,很有可能存在一定的性能問題。在查看執(zhí)行計劃后發(fā)現(xiàn),確實如此。
具體的細則就不羅列了,此處略去幾百字。
總之通過undo的使用情況來查看可能存在的性能sql也是一種方式。當(dāng)然了undo的使用情況是頻繁變更的,可以根據(jù)自己的情況來對undo進行一定范圍內(nèi)的監(jiān)控,相信會有一定的收獲。
--------------------------------------------------------------------------------
RMAN備份與恢復(fù)之undo表空間丟失
關(guān)于Oracle 釋放過度使用的undo表空間
Oracle undo的一些理解
Oracle undo 鏡像數(shù)據(jù)探究
Oracle 回滾(ROLLBACK)和撤銷(undo)
Linux-6-64下安裝Oracle 12C筆記
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機中安裝步驟
Debian 下 安裝 Oracle 11g XE R2
--------------------------------------------------------------------------------
本文永久更新鏈接地址:
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com