日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

缩减oracle日志,[20180829]减少日志生成量.txt

發(fā)布時(shí)間:2023/12/4 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 缩减oracle日志,[20180829]减少日志生成量.txt 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

[20180829]減少日志生成量.txt

--//最近一段時(shí)間優(yōu)化一下生產(chǎn)數(shù)據(jù)庫(kù),主要是問(wèn)題比我預(yù)計(jì)要嚴(yán)重,實(shí)際上exadata實(shí)在太快了,把許多問(wèn)題都給掩蓋了.

--//實(shí)際上這個(gè)問(wèn)題很早就存在,我實(shí)在不想提,基于國(guó)內(nèi)許多應(yīng)用都可能存在類(lèi)似問(wèn)題,還是寫(xiě)一下.

SQL ordered by Executions

%CPU - CPU Time as a percentage of Elapsed Time

%IO - User I/O Time as a percentage of Elapsed Time

Total Executions: 13,385,158

Captured SQL account for 65.4% of Total

Executions? Rows Processed???? Rows per Exec???? Elapsed Time (s)???? %CPU???? %IO???? SQL Id??????????? SQL Module???? SQL Text

....

140,257???? 139,411???????????????????? 0.99??????????????? 14.74???? 101.1????? 0???? 5f2atm993xz6w???? PORTAL.EXE???? update PD_PMXS SET PDBZ =:"SYS..."

140,256???? 140,256???????????????????? 1.00??????????????? 19.11???? 102??????? 0???? bs2qwd0crz5f3???? PORTAL.EXE???? update PD_DLB SET PDBZ =:"SYS_..."

--//一天不到1萬(wàn)人次就診,修改PD_DLB表在1個(gè)小時(shí)內(nèi)就14萬(wàn)次,注意看Rows per Exec,每次修改1條.很明顯在做無(wú)效刷頻.

--//我曾經(jīng)跟一些開(kāi)發(fā)講過(guò),在寫(xiě)代碼時(shí)注意這些刷頻語(yǔ)句.這些語(yǔ)句單條執(zhí)行很快,但是執(zhí)行很頻繁,累積起來(lái)就很可怕.

--//甚至最終就是這樣運(yùn)行模式導(dǎo)致運(yùn)行緩慢..

--//真心感到可悲的是,我們團(tuán)隊(duì)大部分比我熟悉表結(jié)構(gòu),PD_DLB(排隊(duì)表)這個(gè)表當(dāng)天處理完后要?jiǎng)h除里面的記錄的.

--//也就是最大記錄量當(dāng)天就診人次,不大可能出現(xiàn)每小時(shí)14萬(wàn)次的修改,這么多人看awr報(bào)表,就沒(méi)人注意到這么簡(jiǎn)單的問(wèn)題嗎?

5f2atm993xz6w

update PD_PMXS SET PDBZ =:"SYS_B_0" , STATUS =:"SYS_B_1" WHERE RDID =:1

修改為

update PD_PMXS SET PDBZ =:"SYS_B_0" , STATUS =:"SYS_B_1" WHERE RDID =:1 and? PDBZ <> :"SYS_B_0" and STATUS <>:"SYS_B_1"

--//錯(cuò)誤,應(yīng)該修改如下:

修改為

update PD_PMXS SET PDBZ =:"SYS_B_0" , STATUS =:"SYS_B_1" WHERE RDID =:1 and? (PDBZ,STATUS) not in(( :"SYS_B_0" , :"SYS_B_1" );

bs2qwd0crz5f3

update PD_DLB SET PDBZ =:"SYS_B_0" WHERE RDID =:1

修改為

update PD_DLB SET PDBZ =:"SYS_B_0" WHERE RDID =:1 and? PDBZ <> :"SYS_B_0"

--//補(bǔ)充一下實(shí)際上不能這樣1條1條改,猜測(cè)是打開(kāi)brid的游標(biāo),然后循環(huán)修改相關(guān)記錄.

--//這樣執(zhí)行效率很低,而是一氣呵成,一次修改需要的記錄.

--//不想使用logminer探查,隨手找一個(gè)brid查詢(xún),使用as of查詢(xún)方式.

SELECT ROWID x

,versions_starttime

,versions_endtime

,versions_xid

,versions_operation

,versions_startscn

,versions_endscn

,PD_DLB.PDBZ,pd_dlb.*

FROM PD_DLB VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE;

WHERE RDID =11327282

ORDER BY versions_endscn;

--//這樣運(yùn)行10分鐘都沒(méi)結(jié)果出來(lái),只能改成查詢(xún)10分鐘之前的變化.

SELECT ROWID x

,versions_starttime

,versions_endtime

,versions_xid

,versions_operation

,versions_startscn

,versions_endscn

,PD_DLB.PDBZ,pd_dlb.*

FROM PD_DLB VERSIONS BETWEEN TIMESTAMP sysdate-15/1440 and sysdate

WHERE RDID =11327282

ORDER BY versions_endscn;

--//結(jié)果不貼出了.15分鐘內(nèi)查詢(xún)到112條,基本在做無(wú)用功.可以看出15*60/112 = 8.035, 8秒有一次刷新.

SELECT ROWID x

,versions_starttime

,versions_endtime

,versions_xid

,versions_operation

,versions_startscn

,versions_endscn

,PD_PMXS.status,PDBZ,PD_PMXS.*

FROM PD_PMXS VERSIONS BETWEEN TIMESTAMP sysdate-15/1440 and sysdate

WHERE RDID =11327282

ORDER BY versions_endscn;

--//看到開(kāi)發(fā)這樣寫(xiě)代碼,真心的很無(wú)語(yǔ).這樣問(wèn)題已經(jīng)存在多年,這么多人,無(wú)數(shù)的眼睛在看代碼沒(méi)人提出異議嗎?可悲可嘆..

總結(jié)

以上是生活随笔為你收集整理的缩减oracle日志,[20180829]减少日志生成量.txt的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。