




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、處理歸檔日志增加過(guò)快一例(2010-08-25 20:03:47) 轉(zhuǎn)載標(biāo)簽: oracle歸檔日志增加過(guò)快分類: 原創(chuàng)文章 處理歸檔日志增加過(guò)快一例摘要 本文介紹了不久前作者是如何徹底解決一家醫(yī)院數(shù)據(jù)庫(kù)由于歸檔日志增長(zhǎng)過(guò)快,導(dǎo)致磁盤剩余空間占滿,引起宕機(jī)全過(guò)程。通過(guò)本案例的描述,我們可以了解到當(dāng)遇到數(shù)據(jù)庫(kù)宕機(jī)問(wèn)題時(shí),應(yīng)該如何分析現(xiàn)象、找到問(wèn)題關(guān)鍵、最終徹底解決該問(wèn)題的一個(gè)總體思路,最后還應(yīng)該深入思考該問(wèn)題產(chǎn)生的原因,總結(jié)出避免以后再出現(xiàn)該問(wèn)題的建議。關(guān)鍵字: ORACLE、歸檔日志、宕機(jī)、DML語(yǔ)句初步了解 &
2、#160; 早上一來(lái)到公司,XZH就告訴我接到CQ公司的有一個(gè)技術(shù)申請(qǐng),大致情況為一家三甲醫(yī)院,采用Rac+Linux環(huán)境,啟用了歸檔模式,但是由于日志增長(zhǎng)過(guò)快,我們的技術(shù)人員設(shè)雖然置自動(dòng)刪除歸檔的任務(wù),但是還是沒有避免磁盤空間被占滿,已經(jīng)引起醫(yī)院2次全院無(wú)法使用,雖然CQ公司也安排多名技術(shù)人員去現(xiàn)場(chǎng)處理,但是醫(yī)院認(rèn)為一直沒有解決徹底,因此信息主管對(duì)此意見較大,希望公司安排技術(shù)支持部現(xiàn)場(chǎng)徹底解決該問(wèn)題。 通過(guò)申請(qǐng)描述,我大致了解到以下幾個(gè)關(guān)鍵點(diǎn):
3、60; 1.醫(yī)院?jiǎn)⒂昧藲w檔,也做了定期自動(dòng)刪除歸檔日志的任務(wù)。 2.由于歸檔日志增加過(guò)快,已經(jīng)導(dǎo)致醫(yī)院2號(hào)節(jié)點(diǎn)宕機(jī)。 3.我們的技術(shù)人員去了幾次,都未徹底解決,用戶已經(jīng)意見很大了。 這只是個(gè)初步情況,往往只能了解問(wèn)題的大概,具體的問(wèn)題產(chǎn)生的原因還是得到用戶那里去才能真正了解,于是立即出發(fā),前往用戶處處理問(wèn)題?,F(xiàn)場(chǎng)分析問(wèn)題 &
4、#160; 到達(dá)醫(yī)院,同系統(tǒng)管理員互相寒暄了幾句,了解大體情況是醫(yī)院昨天凌晨部分科室反映不能登錄導(dǎo)航臺(tái),于是系統(tǒng)管理員深夜被叫到醫(yī)院,查看服務(wù)器發(fā)現(xiàn)數(shù)據(jù)庫(kù)已經(jīng)宕機(jī),檢查磁盤空間,發(fā)現(xiàn)其中一個(gè)節(jié)點(diǎn)的剩余空間為0,于是立即刪除部分過(guò)去的歸檔日志,重新啟動(dòng)服務(wù)器,下面科室才能夠正常登錄,談話間不斷聽見系統(tǒng)管理員抱怨深夜到醫(yī)院是如何如何不情愿,看來(lái)意見是比較大。而且同樣的問(wèn)題不久前才出現(xiàn)過(guò)一次,當(dāng)時(shí)是中午,詢問(wèn)同去的同事,了解到確實(shí)不久前也出現(xiàn)過(guò)一次同樣的情況,當(dāng)時(shí)認(rèn)為是歸檔日志的定期刪除保留的日志時(shí)間太長(zhǎng),當(dāng)時(shí)保留的是30天的日志,后來(lái)改為保留5天的日志,心想不會(huì)
5、再出現(xiàn)該問(wèn)題,沒想到還是無(wú)法避免。 接下來(lái),該我們自己著手分析問(wèn)題了,因?yàn)楫吘褂脩裘枋龅闹皇撬闹饔^判斷,而且真正要想了解到時(shí)發(fā)生的真實(shí)情況,看是應(yīng)該看下Oracle的日志才能確認(rèn),這也是我們處理問(wèn)題必須遵守的原則,首先看下該節(jié)點(diǎn)的alter.ora在出現(xiàn)問(wèn)題時(shí)的錯(cuò)誤記錄,部分記錄情況如下:Fri Jul 18 22:10:18 2010Errors in file /u01/app/oracle/admin/orcl/bdump/orcl2_arc1_13762.trc:ORA-19502: Message 19502
6、not found; No message file for product=RDBMS, facility=ORA; arguments: /u01/app/oracle/archive/2_24046_698868487.dbf 22529 512ORA-27072: Message 27072 not found; No message file for product=RDBMS, facility=ORALinux-x86_64 Error: 9: Bad file descriptorAdditional information: 4Additional information:
7、22529Additional information: 507392ORA-19502: Message 19502 not found; No message file for product=RDBMS, facility=ORA; arguments: /u01/app/oracle/archive/2_24046_698868487.dbf 22529 512Fri Jul 18 22:10:18 2010ARCH: Archival stopped, error occurred. Will continue retryingFri Jul 18 22:10:18 2010ORAC
8、LE Instance orcl2 - Archival Error 從日志記錄的時(shí)間可以看出,真正出問(wèn)題應(yīng)該是在22點(diǎn)多鐘,只是系統(tǒng)管理員凌晨才得到問(wèn)題反饋,可以看出自己查看日志是多么的重要,不過(guò)從來(lái)錯(cuò)誤的記錄看,確實(shí)是由于無(wú)法歸檔,導(dǎo)致該節(jié)點(diǎn)出現(xiàn)問(wèn)題,這個(gè)判斷到是準(zhǔn)確的。首先檢查了下日志的增長(zhǎng)速度,發(fā)現(xiàn)每個(gè)節(jié)點(diǎn)平均每13分鐘就產(chǎn)生一個(gè)50M的歸檔日志,一天的歸檔日志就接近30G,而醫(yī)院的日志放在本地磁盤,磁盤剩余空間也就100多G,按照這種日志的增長(zhǎng)速度,空間被日志撐爆也就理所當(dāng)然了。但是以該院的規(guī)模和業(yè)務(wù)量來(lái)看,產(chǎn)生
9、這么多的日志肯定是不正常的,所以找到日志增長(zhǎng)過(guò)快的原因,是解決問(wèn)題的根本。 首先觀察下歸檔日志產(chǎn)生的頻率,我們?nèi)‘?dāng)天24小時(shí)產(chǎn)生日志的頻率數(shù),如下圖: 發(fā)現(xiàn)除了在上午業(yè)務(wù)高峰期(89點(diǎn)),其他時(shí)間段沒有明顯的曲線變化,而且凌晨時(shí)分(07點(diǎn))的日志也切換頻繁,這就肯定有問(wèn)題,于是我生成今天2點(diǎn)3點(diǎn)的AWR報(bào)告進(jìn)行分析,分析情況如下:
10、160; 首先看該時(shí)間段的會(huì)話不多,只有60多個(gè)會(huì)話,除去系統(tǒng)自帶的幾個(gè)會(huì)話,真正應(yīng)用ZLHIS的會(huì)話肯定不多,證明當(dāng)時(shí)醫(yī)院的業(yè)務(wù)肯定不繁忙。 但是每秒鐘的處理事務(wù)卻有23.82,比很多三甲醫(yī)院業(yè)務(wù)高峰期的事務(wù)都要大,肯定有問(wèn)題,進(jìn)一步分析執(zhí)行sql: 發(fā)現(xiàn)即使在凌晨時(shí)分,居然也會(huì)如此頻繁的執(zhí)行大量的sql語(yǔ)句,其中涉及到update等DML語(yǔ)句,勢(shì)必會(huì)產(chǎn)生大量歸檔日志,從表名看,
11、應(yīng)該是與體檢系統(tǒng)有直接關(guān)系,通過(guò)分析,發(fā)現(xiàn)是zl_體檢任務(wù)結(jié)果_Transation過(guò)程中的語(yǔ)句。該過(guò)程是實(shí)現(xiàn)把體檢病人的檢驗(yàn)結(jié)果更新到體檢系統(tǒng)里面,我們程序有2種方式進(jìn)行更新: 1.后臺(tái)每天晚上定時(shí)對(duì)全院未完成體檢的病人集中更新一次,通過(guò)調(diào)用zl_體檢任務(wù)結(jié)果_TransationAll實(shí)現(xiàn),其中zl_體檢任務(wù)結(jié)果_TransationAll過(guò)程里面,又循環(huán)調(diào)用了zl_體檢任務(wù)結(jié)果_Transation過(guò)程。 2.是由操作人員在程序上操作,單獨(dú)更新某
12、一指定病人,只調(diào)用zl_體檢任務(wù)結(jié)果_Transation過(guò)程。 后一種情況肯定不會(huì)頻繁執(zhí)行該過(guò)程,目標(biāo)鎖定在第一種,后臺(tái)作業(yè)方式,于是查看系統(tǒng)后臺(tái)作業(yè),發(fā)現(xiàn)問(wèn)題作業(yè),如下: 該后臺(tái)作業(yè)中該過(guò)程的執(zhí)行頻率被調(diào)整3分鐘,通過(guò)對(duì)zl_體檢任務(wù)結(jié)果_TransationAll過(guò)程分析我們知道,只要體檢病人沒有完成體檢,都會(huì)對(duì)其檢驗(yàn)結(jié)果進(jìn)行更新,而該醫(yī)院當(dāng)時(shí)正好進(jìn)行大量體檢,有上千病人沒有完成體檢,每次執(zhí)行該過(guò)程,都會(huì)對(duì)這些病人進(jìn)行更新,可想而知肯
13、定會(huì)產(chǎn)生大量日志,所以如此頻繁的執(zhí)行該過(guò)程,肯定是不現(xiàn)實(shí)的,定位了問(wèn)題,接下來(lái)就該處理該問(wèn)題?,F(xiàn)場(chǎng)處理問(wèn)題 詢問(wèn)相關(guān)人員,了解到由于該院體檢科想實(shí)時(shí)得到體檢病人的檢驗(yàn)結(jié)果,所以我們的同事按醫(yī)院的要求對(duì)作業(yè)執(zhí)行頻率進(jìn)行了調(diào)整所致,說(shuō)明了問(wèn)題的嚴(yán)重性,經(jīng)過(guò)和醫(yī)院協(xié)商,闡述利弊,得到醫(yī)院的同意,按醫(yī)院要求最后把該后臺(tái)作業(yè)修改為每天執(zhí)行2次,中午一次,晚上一次。處理方法如下:1. 1. 刪除原來(lái)的job由于知道job號(hào)為107,所以調(diào)用dbms_j
14、ob包刪除 exec dbms_job.remove(107);2. 2. 創(chuàng)建2個(gè)的job,一個(gè)是中午13點(diǎn)執(zhí)行,一個(gè)晚上執(zhí)行1點(diǎn)-1點(diǎn)的jobvariable job number;begin sys.dbms_job.submit(job => :job,
15、; what => 'zl_體檢任務(wù)結(jié)果_TransationAll;', next_date => to_date('20-07-
16、2010 01:00:00', 'dd-mm-yyyy hh24:mi:ss'), interval => 'trunc(Sysdate)+1+01/24+00/(24*60)+00/(24*60*60)'); commit;end;/-13點(diǎn)的jobvariable job
17、160;number;begin sys.dbms_job.submit(job => :job, what => 'zl_體檢任務(wù)結(jié)果_TransationAll;',
18、60; next_date => to_date('20-07-2010 13:00:00', 'dd-mm-yyyy hh24:mi:ss'), interval => 'trunc(S
19、ysdate)+1+13/24+00/(24*60)+00/(24*60*60)'); commit;end;/3. 3. 后續(xù)處理 通過(guò)上面的修改,馬上可以觀察到2個(gè)節(jié)點(diǎn)的日志產(chǎn)生速度明顯下降了,觀察了1個(gè)小時(shí),才產(chǎn)生了1個(gè)歸檔日志,由于是在下午時(shí)分,本身醫(yī)院業(yè)務(wù)不是太忙,這種歸檔日志的產(chǎn)生速度應(yīng)該是正常的。 然后,再對(duì)每個(gè)節(jié)點(diǎn)的備份和歸檔日志的刪除策略進(jìn)行下檢查,1,2號(hào)機(jī)都改為每天晚上12點(diǎn)定時(shí)刪除30天前的歸檔日志,standby的機(jī)器由于空間比較大,調(diào)整為每天12點(diǎn)定時(shí)刪除60天前的歸檔日志,最后要求醫(yī)院近期觀察下日志的生成速度,經(jīng)過(guò)醫(yī)院的確認(rèn),得到醫(yī)院的認(rèn)可。(另:第二天,要求醫(yī)院提供日志切換的次數(shù)統(tǒng)計(jì),如下圖,可以看到確實(shí)歸檔日志切換已經(jīng)恢復(fù)正常,看到問(wèn)題得到解決,醫(yī)院的管理員也相當(dāng)高興。) 后續(xù)總結(jié)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 土地托管服務(wù)管理制度
- 商場(chǎng)物業(yè)單位管理制度
- 員工食堂考勤管理制度
- 《煤礦安全質(zhì)量標(biāo)準(zhǔn)化基本要求及評(píng)分方法(試行)》(新版)1
- 從小跟黨走活動(dòng)方案
- 倉(cāng)鼠養(yǎng)護(hù)活動(dòng)方案
- 仙境傳說(shuō)活動(dòng)方案
- 代寫政府活動(dòng)方案
- 代理商激勵(lì)活動(dòng)方案
- 代駕公司企業(yè)活動(dòng)方案
- 2025屆上海市復(fù)旦附中高考語(yǔ)文三模試卷含解析
- 二級(jí)圓柱齒輪減速器設(shè)計(jì)
- 缺血性腸病診療指南
- 《基于專業(yè)成長(zhǎng)共同體的名師工作室建設(shè)的思與行》專題講座
- 高層建筑鋼管懸挑腳手架搭建方案
- DB43T 1173-2016 鋼-超高韌性混凝土輕型組合結(jié)構(gòu)橋面技術(shù)規(guī)范
- 《ESPEN重癥病人營(yíng)養(yǎng)指南(2023版)》解讀課件
- 廣西桂林市(2024年-2025年小學(xué)四年級(jí)語(yǔ)文)人教版期末考試(下學(xué)期)試卷及答案
- 江蘇省無(wú)錫市2024年中考數(shù)學(xué)試卷【附參考答案】
- 戶外廣告牌施工方案
- 新高考2024年化學(xué)真題湖南卷
評(píng)論
0/150
提交評(píng)論