




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 PAGE 29Oraclle壞塊故故障總結(jié) 最近處處理了兩次次典型的oora-0015788,oraa-011115,oora-0011100故障,一一次是平湖湖索引塊壞壞,一次是是黃山數(shù)據(jù)據(jù)文件壞、blobb數(shù)據(jù)塊壞壞。平湖的警告告日志文件件中有以下下信息:ORA-1120122: errror on aauto execcute of jjob 221ORA-0015788: ORRACLEE datta bllock corrrupteed (ffile # 100, bllock # 255586110)ORA-0011100: daata ffile 10: D:ORACCLEOO
2、RADAATABBSUSSERS004.DBBFORA-1120122: errror on aauto execcute of jjob 11ORA-0015788: ORRACLEE datta bllock corrrupteed (ffile # 166, bllock # 266240666)ORA-0011100: daata ffile 16: D:ORACCLEOORADAATABBSUSSERS110.DBBF應(yīng)用軟件可可以正常使使用,偶爾爾會(huì)報(bào)錯(cuò)oora-0015788。排錯(cuò)過程登錄數(shù)據(jù)庫庫檢查:selecct coount(*) ffrom ep_ttablee t ww
3、heree pttimetrunnc(syysdatte)-330 annd allarmttype=07841663selecct coount(*) ffrom ep_ttablee t42810062看來全表掃掃描正常selecct ffrom ep_ttablee t wwheree pttimetrunnc(syysdatte)-333 annd allarmttype=0 annd roownumm100001索引掃描報(bào)報(bào)錯(cuò)了,推推斷為索引引上有壞塊塊!繼續(xù)查:selecct owwner,filee_id,segmment_namee, seegmennt_tyype, bloc
4、ck_idd, bllockssfroom dbba_exxtenttswheree fiile_iid=166 andd bloock_iid= 262240666;OWNERRFILE_IDSEGMEENT_NNAMESEGMEENT_TTYPEBLOCKK_IDBLOCKKSBS16VHINOOINDEXX2624006616運(yùn)氣真好重重建相關(guān)索索引后數(shù)據(jù)據(jù)庫就恢復(fù)復(fù)了。黃山壞塊故故障就比較較復(fù)雜了,硬盤壞導(dǎo)致多個(gè)數(shù)據(jù)文件的多個(gè)塊故障,其中還有blob對象。Countt(*)一一張表報(bào)錯(cuò)錯(cuò):查詢某張表表系統(tǒng)事件中中有報(bào)錯(cuò):磁盤管理中中報(bào)錯(cuò):Dell的的服務(wù)器,22塊72GG硬盤,沒沒有做
5、raaid,88i數(shù)據(jù)庫庫沒有備份份。(上圖圖磁盤3為為移動(dòng)硬盤盤)初步檢查到到這里我感感覺這次壞壞的嚴(yán)重了了,恢復(fù)可可能比較麻麻煩。整理一下思思路:不要隨意重重啟記錄損壞的的數(shù)據(jù)信息息導(dǎo)出可用數(shù)數(shù)據(jù)更換故障硬硬盤重做系統(tǒng)及及數(shù)據(jù)庫恢復(fù)數(shù)據(jù)重傳丟失的的數(shù)據(jù)(我我們的系統(tǒng)統(tǒng)架構(gòu)可以以這樣做)排錯(cuò)過程selecct * fromm dbaa_exttentss wheere ffile_id=88 andd 146618422 bettweenn bloock_iid annd bllock_id+bblockks-11BSSYS_LOB0000000037770C000017$LOBSSEGME
6、ENTUSERRS3457708146118421310072168解釋:bllock_id+bblockks-1=14611842+這個(gè)區(qū)有有多少個(gè)bblockk-1查到故障段段為LOBBSEGMMENT類類型,SYYS_LOOB000000033770CC000117$。selecct dll.tabble_nname,dl.SSEGMEENT_NNAME fromm dbaa_lobbs dll wheere ddl.owwner= BS wwheree dl.SEGMMENT_NAMEE= SSYS_LLOB0000000037700C000017$查到有壞塊塊的表為EP_PECCC。
7、接著查出這這張表的llob索引引段Selecct A.TTABLEE_NAMME,A.COLUUMN_NNAME,B.SEEGMENNT_NAAME,BB.SEGGMENTT_TYPPE,B.HEADDER_FFILE,B.HEEADERR_BLOOCK,BB.BYTTES from DBA_LOBSS A,DDBA_SSEGMEENTS B wheree A.IINDEXX_NAMME=B.SEGMMENT_NAMEE ANDD A.TTABLEE_NAMME=EEP_PEECC當(dāng)時(shí)因?yàn)闆]沒有記錄,所所以我隨便便舉例:1EP_TABLLETHIRRDPICCTSYS_IL0000005527
8、388C000018$LOBIINDEXX71556553362EP_TABLLEPANOORAMAAPICTTSYS_IL0000005527388C000017$LOBIINDEXX71396553363EP_TABLLEPLATTEPICCTSYS_IL0000005527388C000016$LOBIINDEXX7123655336selecct rowwid fromm BS.EP_PPECC wheere dbmss_rowwid.rrowidd_to_absoolutee_fnoo(rowwid,BS,EP_PPECC)=8 and dbmss_rowwid.rrowidd_bl
9、oock_nnumbeer(roowid)=146618422;這個(gè)塊無法法找出bllob段的的rowiid。本想想找后我可可以按照rrowidd清空故障障的bloob數(shù)據(jù)。選擇一個(gè)范范圍繼續(xù)找找:selecct roowid,T.PTTIME,T.PLLATEPPICT,T.PAANORAAMAPIICT fromm BS.EP_PPECC T wheere ddbms_rowiid.roowid_to_aabsollute_fno(rowiid,BBS,EP_PPECC)=8 and dbmss_rowwid.rrowidd_bloock_nnumbeer(roowid) BETTWEEN
10、N 146618400 ANDD 146618422;還是沒有找找到selecct roowid, dbmms_roowid.rowiid_obbjectt(rowwid) obj_id, dbms_rowiid.roowid_relaativee_fnoo(rowwid) df#, dbms_rowiid.roowid_blocck_nuumberr(rowwid) blknnum, dbms_rowiid.roowid_row_numbber(rrowidd) roowno ,T.PPTIMEE,T.AALARMMTYPEE,T.PPLATEEPICTT,T.PPANORRAMAPPICT
11、from EP_PPECC T whhere dbmss_rowwid.rrowidd_to_absoolutee_fnoo(rowwid,BS,EP_PPECC)=88 ANND dbbms_rrowidd.rowwid_bblockk_nummber(rowiid) BBETWEEEN 114618842 AAND 14611842 +10244;還沒找到selecct roowid, dbmms_roowid.rowiid_obbjectt(rowwid) obj_id, dbms_rowiid.roowid_relaativee_fnoo(rowwid) df#, dbms_rowii
12、d.roowid_blocck_nuumberr(rowwid) blknnum, dbms_rowiid.roowid_row_numbber(rrowidd) roowno ,T.PPTIMEE,T.AALARMMTYPEE,T.PPLATEEPICTT,T.PPANORRAMAPPICTfrom EP_PPECC T whhere dbmss_rowwid.rrowidd_to_absoolutee_fnoo(rowwid,BS,EP_PPECC)=88 ANND dbbms_rrowidd.rowwid_bblockk_nummber(rowiid) BBETWEEEN 1146177
13、42 AAND 14611842;終于找到了了一些AAAA666AAIIAAFkkrSAAAJ37700814600946920099-10-26 119:400:080省略一些結(jié)結(jié)果集AAAA666AAIIAAFkk5JAAAG37700814611833620099-10-26 119:477:080查到以下記記錄時(shí)出錯(cuò)錯(cuò),看來按照照rowiid清空故故障的bllob數(shù)據(jù)據(jù)不行AAAA666AAIIAAFkk5JAAAGROWIDD_TYPPE: 1OBJECCT_NUUMBERR: 33770RELATTIVE_FNO: 8BLOCKK_NUMMBER: 144618333ROW_NNU
14、MBEER: 6可以從obbj#,rrfilee#,bllock#,roww#計(jì)算得得到理論上上的rowwid Obj# 37700Rfilee# 8Blockk# 144618442Row# 0實(shí)際上就是是將十進(jìn)制制數(shù)轉(zhuǎn)化成成64進(jìn)制制數(shù),當(dāng)然然,從二進(jìn)進(jìn)制轉(zhuǎn)化的的規(guī)則比較較簡單點(diǎn)。將二進(jìn)制數(shù)數(shù)從右到左左,6個(gè)bbit一組組,然后將將這6個(gè)bbit組轉(zhuǎn)轉(zhuǎn)成10進(jìn)進(jìn)制數(shù),就就是AZZ azz 099 + /這64個(gè)個(gè)字符的位位置(從00開始),替替換成baase644的字符即即可。roowid是是basee64編碼碼的,用AAZ aaz 009 + /共664個(gè)字符符表示。AA表示0,BB表示
15、1,a表示26,0表示52,+表示62,/表示63可以將其看做一個(gè)64進(jìn)制的數(shù)。obj#=37700轉(zhuǎn)換成二二進(jìn)制,補(bǔ)補(bǔ)足成6位位basee64編碼碼,左邊填填0,結(jié)果果為AAAAA66rfilee#=8=0010000=I,補(bǔ)補(bǔ)足成3位位,得到AAAIblockk#=144618442=0001001 1001100 1110001 0100010=5 366 57 18,補(bǔ)足足成6位,得得到AAFFk5Srow#=0,3位位AAA合起來就是是AAAAA66AAAIAAFFk5SAAAA但是不要忘忘了,這次次壞的是bblob它它會(huì)跨多個(gè)個(gè)塊的。所所以這條理理論rowwid沒有有找到!舉例子補(bǔ)
16、充充說明:selecct * fromm dbaa_lobbs dll wheere ddl.owwner=TESST1TESSTT_LOOGRZSYS_LOB0000000527226C000002$TESTTSYS_IL0000005527266C000002$81922900NOYESYESNOT APPLLICABBLE NO2TESSTEP_TTABLEEPLATTEPICCTSYS_LOB0000000527338C000016$TESTTSYS_IL0000005527388C000016$81922900NOYESYESNOT APPLLICABBLE NO3TESSTEP_T
17、TABLEEPANOORAMAAPICTTSYS_LOB0000000527338C000017$TESTTSYS_IL0000005527388C000017$81922900NOYESYESNOT APPLLICABBLE NO4TESSTEP_TTABLEETHIRRDPICCTSYS_LOB0000000527338C000018$TESTTSYS_IL0000005527388C000018$81922900NOYESYESNOT APPLLICABBLE NO5TESSTEP_PPECCPLATTEPICCTSYS_LOB0000000527446C000016$TESTTSYS_
18、IL0000005527466C000016$81922900NOYESYESNOT APPLLICABBLE NO6TESSTEP_PPECCPANOORAMAAPICTTSYS_LOB0000000527446C000017$TESTTSYS_IL0000005527466C000017$81922900NOYESYESNOT APPLLICABBLE NO7TESSTEP_PPECCTHIRRDPICCTSYS_LOB0000000527446C000018$TESTTSYS_IL0000005527466C000018$81922900NOYESYESNOT APPLLICABBLE
19、NO沒有任何數(shù)數(shù)據(jù)時(shí):selecct dll.TABBLE_NNAME,dl.CCOLUMMN_NAAME,dde.seegmennt_naame,dde.seegmennt_tyype,dde.FIILE_IID,dee.BLOOCK_IID frrom ddba_eextennts dde,dbba_loobs ddl whhere de.oownerr=TEEST and ddl.OWWNER=TESST and dde.seegmennt_naame=ddl.SEEGMENNT_NAAME1T_LLOGRZSYS_LOB0000000527226C000002$LOBSSEGMEENT
20、7172EP_TABLLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT71133EP_TABLLEPANOORAMAAPICTTSYS_LOB0000000527338C000017$LOBSSEGMEENT71294EP_TABLLETHIRRDPICCTSYS_LOB0000000527338C000018$LOBSSEGMEENT71455EP_PECCCPLATTEPICCTSYS_LOB0000000527446C000016$LOBSSEGMEENT71776EP_PECCCPANOORAMAAPICTTSYS_LOB000
21、0000527446C000017$LOBSSEGMEENT71937EP_PECCCTHIRRDPICCTSYS_LOB0000000527446C000018$LOBSSEGMEENT7209向EP_TTABLEE表的PLAATEPIICT字段段,插入一一張9MBB大小的圖圖片后結(jié)果:1T_LLOGRZSYS_LOB0000000527226C000002$LOBSSEGMEENT7172EP_TABLLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT71133EP_TABLLEPLATTEPICCTSYS_LOB0000000527
22、338C000016$LOBSSEGMEENT72734EP_TABLLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT72815EP_TABLLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT72896EP_TABLLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT72977EP_TABLLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT73058EP_TABLLEPLA
23、TTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT73139EP_TABLLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT732110EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT732911EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT733712EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C00001
24、6$LOBSSEGMEENT734513EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT735314EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT736115EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT736916EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT737717EPP_TABBLEPL
25、ATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT738518EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT6919EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT739320EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT613721EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C0000
26、16$LOBSSEGMEENT752122EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT626523EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT764924EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT639325EPP_TABBLEPLATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT777726EPP_TABBLEP
27、LATTEPICCTSYS_LOB0000000527338C000016$LOBSSEGMEENT652127EPP_TABBLEPANOORAMAAPICTTSYS_LOB0000000527338C000017$LOBSSEGMEENT712928EPP_TABBLETHIRDDPICTTSYS_LOB0000000527338C000018$LOBSSEGMEENT714529EPP_PECCCPLATTEPICCTSYS_LOB0000000527446C000016$LOBSSEGMEENT717730EPP_PECCCPANOORAMAAPICTTSYS_LOB000000052
28、7446C000017$LOBSSEGMEENT719331EPP_PECCCTHIRRDPICCTSYS_LOB0000000527446C000018$LOBSSEGMEENT7209查testt用戶bllob容量量:selecct sum(dde.BYYTES/10244/10244) froom dbba_exxtentts dee,dbaa_lobbs dll wheere dde.owwner=TESST AND ddl.OWWNER=TESST AND dde.seegmennt_naame=ddl.seegmennt_naame10.3775顯示10MMB檢查表建在在那個(gè)數(shù)據(jù)據(jù)
29、文件那個(gè)個(gè)塊上SELECCT DISTTINCTT dbmms_roowid.rowiid_reelatiive_ffno(rrowidd) AS FFile, dbbms_rrowidd.rowwid_bblockk_nummber(rowiid) AS BBlockk FROMM ep_ttablee; FFileBlocck71110看起來這個(gè)個(gè)表存放在在文件號77,塊號1110的地地方查找存放圖圖片的bllob段:selecct dee.seggmentt_namme,dee.EXTTENT_ID,dde.FIILE_IID,dee.BLOOCK_IID,dee.BYTTES,dde.
30、BLLOCKSS,de.relaativee_fnoo froom dbba_exxtentts dee wheere dde.owwner=TESST and dde.seegmennt_naame=SYS_LOB0000000527338C000016$我已經(jīng)往這這個(gè)段里存存放了一張張9MB的的圖片,占占用了以下下塊。 SSEGMEENT_NNAME EXTEENT_IIDFILEE_IDBLOCCK_IDDBYTEESBLOCCKSRELAATIVEE_FNOO1SYSS_LOBB000000527738C0000166$07113655336872SYSS_LOBB0000005277
31、38C0000166$17273655336873SYSS_LOBB000000527738C0000166$27281655336874SYSS_LOBB000000527738C0000166$37289655336875SYSS_LOBB000000527738C0000166$47297655336876SYSS_LOBB000000527738C0000166$57305655336877SYSS_LOBB000000527738C0000166$67313655336878SYSS_LOBB000000527738C0000166$77321655336879SYSS_LOBB00
32、0000527738C0000166$873296553368710SYYS_LOOB000000522738CC000116$973376553368711SYYS_LOOB000000522738CC000116$1073456553368712SYYS_LOOB000000522738CC000116$1173536553368713SYYS_LOOB000000522738CC000116$1273616553368714SYYS_LOOB000000522738CC000116$1373696553368715SYYS_LOOB000000522738CC000116$1473776
33、553368716SYYS_LOOB000000522738CC000116$1573856553368717SYYS_LOOB000000522738CC000116$166910488576128618SYYS_LOOB000000522738CC000116$17739310488576128719SYYS_LOOB000000522738CC000116$18613710488576128620SYYS_LOOB000000522738CC000116$19752110488576128721SYYS_LOOB000000522738CC000116$20626510488576128
34、622SYYS_LOOB000000522738CC000116$21764910488576128723SYYS_LOOB000000522738CC000116$22639310488576128624SYYS_LOOB000000522738CC000116$23777710488576128725SYYS_LOOB000000522738CC000116$246521104885761286根據(jù)上一步步查出來的的BLOCCK_IDD一陣狂找,終終于找到了了selecct rowiid, ddbms_rowiid.roowid_objeect(rrowidd) obbj_idd, dbm
35、s_rowiid.roowid_relaativee_fnoo(rowwid) df#, dbms_rowiid.roowid_blocck_nuumberr(rowwid) blknnum, dbms_rowiid.roowid_row_numbber(rrowidd) roowno ,T.PPTIMEE,T.AALARMMTYPEE,T.PPLATEEPICTT,T.PPANORRAMAPPICTfrom ep_ttablee T whhere dbmss_rowwid.rrowidd_to_absoolutee_fnoo(rowwid,TESST,EP_TTABLEE)=7 AND dd
36、bms_rowiid.roowid_blocck_nuumberr(rowwid) BETWWEEN 1 AND 113; RROWIDDOBJ_IDDF#BLKNNUMROWNNOPTIMMEALARRMTYPPEPLATTEPICCTPANOORAMAAPICTT1AAAAM4CAAAHAAAAABuuAAA5273387110020099-11-29 222:511:580看來它跨越越了6號數(shù)數(shù)據(jù)文件的的9號塊到到7號數(shù)據(jù)據(jù)文件的7777號塊塊根據(jù)rowwid反過過來驗(yàn)證一一下塊信息息:declaarev_rowwid_ttype numbber;v_OBJJECT_NUMBBER nn
37、umbeer;v_RELLATIVVE_FNNO nuumberr;v_BLOOCK_NNUMBEERE_FFNO nnumbeer;v_ROWW_NUMMBER numbber;beginndbms_rowiid.roowid_infoo(rowwid_iin = AAAAM4CCAAHAAAAABBuAAAA,roowid_typee = v_roowid_typee,objject_numbber = v_OBJEECT_NNUMBEER,relattive_fno = vv_RELLATIVVE_FNNO,bllock_numbber = v_BLOCCK_NUUMBERRE_FNNO
38、,roow_nuumberr = v_ROOW_NUUMBERR);dbms_outpput.pput_lline(ROWWID_TTYPE: |to_charr(v_rrowidd_typpe);dbms_outpput.pput_lline(OBJJECT_NUMBBER: |to_cchar(v_OBBJECTT_NUMMBER);dbms_outpput.pput_lline(RELLATIVVE_FNNO: |tto_chhar(vv_RELLATIVVE_FNNO);dbms_outpput.pput_lline(BLOOCK_NNUMBEER: |tto_chhar(vv_BLO
39、OCK_NNUMBEERE_FFNO);dbms_outpput.pput_lline(ROWW_NUMMBER: |to_charr(v_RROW_NNUMBEER);end;/ROWIDD_TYPPE: 1OBJECCT_NUUMBERR: 5527388RELATTIVE_FNO: 7BLOCKK_NUMMBER: 1110ROW_NNUMBEER: 0也就是說如如果bloob字段發(fā)發(fā)生壞塊,可能壞塊的block_id為273,但是要查找記錄的rowid的話需要前后跨越一段block_id才有可能找到,例如這里的110。而從obj#,rfile#,block#,row#計(jì)算得到理論上的r
40、owid可能不存在?;氐近S山壞壞塊故障上上:SELECCT COOUNT(*) FROMM EP_PECCC WHEERE TTO_CHHAR(PPTIMEE,YYYYYMMMDD) 2200911125 ANDD TO_CHHAR(PPTIMEE,YYYYYMMMDD) 2200911127;ERRORR 位于第第 1 行行:ORA-0011155: 從文文件 8 讀取塊時(shí)時(shí)出現(xiàn) IIO 錯(cuò)誤誤 (塊 # 144618442)ORA-0011100: 數(shù)據(jù)據(jù)文件 88: EE:ORRADATTADZZJCUUSERSS02.DDBFORA-2270911: skkgfqiio: 無無法進(jìn)行
41、I/O 操作OSD-0040066: ReeadFiile() 失敗,無法自文文件讀取O/S-EErrorr: (OOS 233) 數(shù)據(jù)據(jù)錯(cuò)誤 (循環(huán)冗余余檢查)。驗(yàn)證了這個(gè)個(gè)時(shí)間段區(qū)區(qū)間內(nèi)的數(shù)數(shù)據(jù)有壞塊塊!Selecct coount(*) ffrom EP_PPECC t whhere PTIMMETO_DATEE(2000910026 220:488:57,yyyyymmmdd HHH24:MI:SSS)沒有報(bào)錯(cuò)結(jié)論:144618333塊為 2200911026 20:447:577到 2000910026 220:488:57 之間。同同時(shí)我也偷偷懶了沒有有繼續(xù)查找找因?yàn)檫B著著壞了好多
42、多塊?;謴?fù)完數(shù)數(shù)據(jù)庫后重重傳這段時(shí)時(shí)間的記錄錄就行了!備份時(shí)只需需把期間的的數(shù)據(jù)備份份出來就可可以。DELETTE frrom EEP_PEECC tt wheere PPTIMEETTO_DAATE(2009910011 00:00:000,yyyyymmddd HH224:MII:SS)和用戶溝通通了一下,把把以前的過過期記錄全全部刪除后來發(fā)現(xiàn)另另外一張表表EP_TTABLEE導(dǎo)出時(shí)也也有壞塊。即將導(dǎo)出指指定的表通通過常規(guī)路路徑 . . 正正在導(dǎo)出表表 EPP_TABBLEEXP-0000566: ORRACLEE 錯(cuò)誤 11155 出現(xiàn)ORA-0011155: 從文文件 8 讀取塊時(shí)時(shí)出
43、現(xiàn) IIO 錯(cuò)誤誤 (塊 # 122003338)ORA-2270700: skkgfdiisp: 異步讀取取/寫入失失敗OSD-0040166: 查詢詢非同步 I/O 請求發(fā)生生錯(cuò)誤.O/S-EErrorr: (OOS 233) 數(shù)據(jù)據(jù)錯(cuò)誤 (循環(huán)冗余余檢查)。ORA-0011155: 從文文件 8 讀取塊時(shí)時(shí)出現(xiàn) IIO 錯(cuò)誤誤 (塊 # 122003338)ORA-2270700: skkgfdiisp: 異步讀取取/寫入失失敗OSD-0040166: 查詢詢非同步 I/O 請求發(fā)生生錯(cuò)誤.O/S-EErrorr: (OOS 233) 數(shù)據(jù)據(jù)錯(cuò)誤 (循環(huán)冗余余檢查)。導(dǎo)出成功終終止,但出
44、出現(xiàn)警告。同理處理。找到壞塊所所在記錄的的時(shí)間段后后exp時(shí)時(shí)跳過。后面的恢復(fù)復(fù)處理就不不寫了。特別注意:試過dbmms_reepairr,但是ddbms_repaair找不不到錯(cuò)誤的的記錄。試過ALTTER SSYSTEEM SEET EVVENTSS 100231 tracce naame cconteext fforevver,llevell 10; 也不不能成功。奇怪了,只只能猜硬盤盤壞的太厲厲害,產(chǎn)生生了物理壞壞道。RMAN 可以備備份包含損損壞數(shù)據(jù)塊塊的數(shù)據(jù)文文件,通過過設(shè)置 set maxccorruupt 可以跳過過指定個(gè)數(shù)數(shù)的壞塊來來避免備份份失敗。 RMAN sett ma
45、xxcorrrupt for dataafilee 1 tto 10;在 Oraacle99i中可以以用 RRMAN來來執(zhí)行塊級級的恢復(fù),而而且恢復(fù)期期間數(shù)據(jù)文文件可以是是聯(lián)機(jī)狀 態(tài)。RMMAN通過過 Bllock Mediia Reecoveery(簡簡稱 BMMR)來執(zhí)執(zhí)行塊級恢恢復(fù)操作。假設(shè)我們們在查 詢詢一個(gè) Oraccle 表的時(shí)候候接收到下下面的錯(cuò)誤誤:ERRROR 位于第 1 行:ORA-015778: OORACLLE 數(shù)數(shù)據(jù)塊損壞壞(文件號號 5,塊塊號 997) ORA-0011100: 數(shù)據(jù)文文件 55: E:xxxxx.dbbf那么我們就就可以在 RMAAN中用 BLO
46、OCKREECOVEER 命令令來修復(fù):RMANN BLLOCKRRECOVVER DDATAFFILE 5 BLLOCK997; 啟啟動(dòng) bblockkrecoover 于 03-99月 -06 正正在啟動(dòng)全全部恢復(fù)目目錄的 resyync完成成全部 resyync使用用通道 ORA_DISKK_1通道道 ORRA_DIISK_11: 正在從從數(shù)據(jù)文件件副本 EE:xxxxx.bbak 恢恢復(fù)塊 正正在開始介介質(zhì)的恢復(fù)復(fù)完成介質(zhì)質(zhì)的恢復(fù)完完成 bblockkrecoover 于 03-99月 -06塊恢復(fù) BBlockk Meddia RRecovvery (BMRR),塊是是恢復(fù)的最最小單
47、元,通通過塊可以以減少恢復(fù)復(fù) 時(shí)間,而而且數(shù)據(jù)文文件可以在在線?;謴?fù)復(fù)塊的時(shí)候候,必須指指定具體的的塊號,如如:RMAAN bblockkrecooverddataffile 6 bllock 3;具體體請見 4.7.4 塊塊媒體恢復(fù)復(fù) Bllock Mediia Reecoveery (BBMR)1)指示RRMAN從從文件的最最新備份集集或映像副副本中還原原與恢復(fù)一一個(gè)指定的的數(shù)據(jù)塊: RRMAN bloockreecoveer daatafiile 77 bloock 55;2)BLOOCKREECOVEER命令可可以接受若若干文件中中的一列數(shù)數(shù)據(jù)塊: RRMAN bloockreecov
48、eer daatafiile 77 bloock 55,6,77 dattafille 9 blocck 211,25;3)從指定定備份集中中還原數(shù)據(jù)據(jù)塊 RRMAN bloockreecoveer daatafiile 77 bloock 55 froom baackuppset 10399;4)從使用用標(biāo)記指定定的備份中中還原數(shù)據(jù)據(jù)塊 RRMAN bloockreecoveer daatafiile 77 bloock 55 froom taag moonthlly_whhole;5)使用至至少已生成成一周的備備份來還原原和恢復(fù)前前一個(gè)備份份操作發(fā)現(xiàn)現(xiàn)受損的所所有數(shù)據(jù)塊塊: RRMAN b
49、loockreecoveer coorrupptionn lisst unntil timee syssdatee - 77;注意:此處處關(guān)鍵字UUNTILL并非表示示不完全恢恢復(fù)!這個(gè)個(gè)關(guān)鍵字意意味著必須須從特定日日期(序列列號或SCCN)之前前生成的備備份中還原原數(shù)據(jù)塊。下面系統(tǒng)的的總結(jié)一下下壞塊故障障的處理:數(shù)據(jù)庫出現(xiàn)現(xiàn)壞塊現(xiàn)象象是指:在在Oraccle數(shù)據(jù)據(jù)庫的一個(gè)個(gè)或多個(gè)數(shù)數(shù)據(jù)塊內(nèi)出出現(xiàn)內(nèi)容混混亂的現(xiàn)象象。由于正正常的數(shù)據(jù)據(jù)塊都有固固定的合法法內(nèi)容格式式,壞塊的的出現(xiàn),導(dǎo)導(dǎo)致數(shù)據(jù)庫庫進(jìn)程無法法正常解析析數(shù)據(jù)塊的的內(nèi)容,進(jìn)進(jìn)而使數(shù)據(jù)據(jù)庫進(jìn)程報(bào)報(bào)錯(cuò)乃至掛掛起,并級級聯(lián)導(dǎo)致整整個(gè)數(shù)據(jù)庫庫實(shí)
50、例出現(xiàn)現(xiàn)異常。一壞塊的的產(chǎn)生原因因壞塊產(chǎn)生的的原因大致致有以下幾幾種:1.1 硬硬件問題Oraclle進(jìn)程在在處理一個(gè)個(gè)數(shù)據(jù)塊時(shí)時(shí),首先將將其讀入物物理內(nèi)存空空間,在處處理完成后后,再由特特定進(jìn)程將將其寫回磁磁盤;如果果在這個(gè)過過程中,出出現(xiàn)內(nèi)存故故障,CPPU計(jì)算失失誤,都會(huì)會(huì)導(dǎo)致內(nèi)存存數(shù)據(jù)塊的的內(nèi)容混亂亂,最后反反映到寫回回磁盤的數(shù)數(shù)據(jù)塊內(nèi)容容有誤。同同樣,如果果存儲(chǔ)子系系統(tǒng)出現(xiàn)異異常,數(shù)據(jù)據(jù)塊損壞也也就隨之出出現(xiàn)了。1.2 操操作系統(tǒng)BBUG由于Oraacle進(jìn)進(jìn)程對數(shù)據(jù)據(jù)塊的讀寫寫,都是以以操作系統(tǒng)統(tǒng)內(nèi)核調(diào)用用(sysstem calll)的方式式完成的,如如果操作系系統(tǒng)在內(nèi)核核調(diào)用存
51、在在問題,必必然導(dǎo)致OOraclle進(jìn)程寫寫入非法的的內(nèi)容。1.3 操操作系統(tǒng)的的I/O錯(cuò)錯(cuò)誤或緩沖沖問題1.4 內(nèi)內(nèi)存或paagingg問題Oraclle軟件BBUGOraclle軟件特特定版本上上,可能出出現(xiàn)導(dǎo)致數(shù)數(shù)據(jù)塊的內(nèi)內(nèi)容出現(xiàn)異異常BUGG。1.5 非非Oraccle進(jìn)程程擾亂Orraclee共享內(nèi)存存區(qū)域如上文所述述,在當(dāng)數(shù)數(shù)據(jù)塊的內(nèi)內(nèi)容被讀入入主機(jī)的物物理內(nèi)存時(shí)時(shí),如果其其他非Orraclee進(jìn)程,對對Oraccle使用用的共享內(nèi)內(nèi)存區(qū)域形形成了擾亂亂,最終導(dǎo)導(dǎo)致寫回磁磁盤的數(shù)據(jù)據(jù)塊內(nèi)容混混亂。1.6 異異常關(guān)機(jī),掉掉電,終止止服務(wù)異常關(guān)機(jī),掉掉電,終止止服務(wù)使進(jìn)進(jìn)程異常終終止,
52、而破破壞數(shù)據(jù)塊塊的完整性性,導(dǎo)致壞壞塊產(chǎn)生。注:這也是是為什么突突然斷電會(huì)會(huì)導(dǎo)致數(shù)據(jù)據(jù)庫無法啟啟動(dòng)由上可見,壞壞塊的形成成原因復(fù)雜雜。當(dāng)出現(xiàn)現(xiàn)壞塊時(shí),為為了找到確確切的原因因,需要大大量的分析析時(shí)間和排排查操作,甚甚至需要多多次重現(xiàn)才才能找出根根本原因。但當(dāng)故障障發(fā)生在生生產(chǎn)系統(tǒng)上上,我們?yōu)闉榱藴p少停停機(jī)時(shí)間,會(huì)會(huì)盡快實(shí)施施應(yīng)急權(quán)變變措施以保保證系統(tǒng)的的可用性,這這樣就破壞壞了故障現(xiàn)現(xiàn)場,對根根本原因的的分析因而而也更加困困難了。二壞塊的的預(yù)防壞塊問題破破壞性大,但但并非不可可預(yù)防。2.1 在在M網(wǎng)網(wǎng)站,Orraclee定期發(fā)布布基于特定定軟件版本本的“已知問題題(knoown iissuee
53、s)說明明”。對于可可能導(dǎo)致壞壞塊的Orraclee軟件BUUG,在OOraclle公司內(nèi)內(nèi)部,是作作為高嚴(yán)重重級別的問問題進(jìn)行處處理,在“已知問題題(knoown iissuees)說明明”中,這些些BUG以以嚴(yán)重(NNoticcablee)問題標(biāo)標(biāo)出(標(biāo)記記為*或+),部分分問題,OOraclle還會(huì)發(fā)發(fā)布警告(Alerrt)通告告。在文檔檔中,Orraclee會(huì)提供相相應(yīng)的補(bǔ)丁丁或應(yīng)對措措施。2.2 OOraclle提供備備份恢復(fù)工工具Reecoveery MManagger,提提供了掃描描文件檢查查壞塊的功功能。在Recooveryy Mannagerr界面中,使使用:RMAN BAC
54、CKUP CHECCK LOOGICAAL VAALIDAATE DDATAFFILE n ;可以檢查數(shù)數(shù)據(jù)文件是是否包含壞壞塊,同時(shí)時(shí)并不產(chǎn)生生實(shí)際的備備份輸出。2.3 DDbv工具具檢查注:因?yàn)閐dbv要求求filee后面跟的的必須是一一個(gè)文件擴(kuò)擴(kuò)展名,所所以如果用用裸設(shè)備存存儲(chǔ)的,就就必須使用用ln鏈接接裸設(shè)備到到一個(gè)文件件,然后再再用dbvv對這個(gè)鏈鏈接文件進(jìn)進(jìn)行檢查。ANALYYZE TTABLEE tabblenaame VVALIDDATE STRUUCTURRE CAASCADDE它執(zhí)行壞塊塊的檢查,但但是不會(huì)標(biāo)標(biāo)記壞塊為為corrrupt,檢檢測的結(jié)果果保存在UUSER_DU
55、MPP_DESST目錄下下的用戶ttracee文件中。2.4 利利用expp工具導(dǎo)出出整個(gè)數(shù)據(jù)據(jù)庫可以檢檢測壞塊對以下情況況的壞塊是是檢測不出出來的:HWM以上上的壞塊是是不會(huì)發(fā)現(xiàn)現(xiàn)的索引中存在在的壞塊是是不會(huì)發(fā)現(xiàn)現(xiàn)的數(shù)據(jù)字典中中的壞塊是是不會(huì)發(fā)現(xiàn)現(xiàn)的結(jié)合數(shù)據(jù)庫庫性能綜合合考慮dbb_bloock_ccheckksum和和db_bblockkchecckingg參數(shù)。當(dāng)我們使用用Recooveryy Mannagerr進(jìn)行實(shí)際際的數(shù)據(jù)庫庫備份時(shí),同同時(shí)也就進(jìn)進(jìn)行了壞塊塊檢查。但但要注意的的是,在線線使用Reecoveery MManagger掃描描壞塊和備備份時(shí),需需要數(shù)據(jù)庫庫運(yùn)行在歸歸檔模式
56、(aarchiive llog),否否則只能在在數(shù)據(jù)庫未未打開的情情況下進(jìn)行行。對于操操作系統(tǒng)問問題和硬件件故障,則則需要相應(yīng)應(yīng)廠商的配配合支持。同時(shí),避避免在數(shù)據(jù)據(jù)庫主機(jī)運(yùn)運(yùn)行其他用用戶進(jìn)程,避避免異常停停機(jī),也會(huì)會(huì)減少壞塊塊發(fā)生的幾幾率。三壞塊故故障的識(shí)別別遇到壞塊問問題時(shí),數(shù)數(shù)據(jù)庫的異異常表現(xiàn)通通常有:報(bào)告ORAA-015578錯(cuò)誤誤。報(bào)告Oraa-11110錯(cuò)誤。報(bào)告ORAA-006600錯(cuò)誤誤,其中,第第一個(gè)參數(shù)數(shù)為20000-80000,CCachee layyer 22000 40000,Trransaactioon laayer 40000 60000,Daata llayer
57、r 60000 - 80000。Tracee文件中出出現(xiàn)Corrruptt bloock ddba: 0 x1660c59958 . fouund。分析對象失失敗。后臺(tái)進(jìn)程,如DBWWR,LGGWR出現(xiàn)現(xiàn)長時(shí)間異異常等待,如如“LGWRR waiit foor reedo ccopy”。四Oraacle數(shù)數(shù)據(jù)塊損壞壞恢復(fù)總結(jié)結(jié)可以用DBBV 命令令來檢測是是否有壞塊塊:在恢復(fù)前使使用DBVV命令檢查查數(shù)據(jù)文件件是否存在在壞塊dbv ffile=d:ooraclleorradattamyydbRRONLYY.DBFF bloocksiize=88192查看數(shù)據(jù)壞壞塊所在數(shù)數(shù)據(jù)文件號號及塊號可可以
58、對表進(jìn)進(jìn)行一次全全表掃描,如如:selecct coount(*) ffrom tabllenamme;關(guān)于DBVV 命令的的具體使用用,請參考考blogg:http:/tiannlesooftwaare/aarchiive/22009/12/116/500151664.asspx4.1 沒沒有備份的的情況下:4.1.11、使用eexp/iimp恢復(fù)復(fù)在這種情況況下肯定會(huì)會(huì)造成數(shù)據(jù)據(jù)的丟失,在在這種情況況下應(yīng)采取取將數(shù)據(jù)導(dǎo)導(dǎo)出然后重重建表再進(jìn)進(jìn)行導(dǎo)入的的方法,來來盡量恢復(fù)復(fù)損壞數(shù)據(jù)據(jù)塊中的數(shù)數(shù)據(jù),但是是在有壞塊塊的情況下下是不允許許導(dǎo)出的,如如下命令:Exp ttest/testt fille
59、=t.dmp tablles=tt;導(dǎo)出命令在在執(zhí)行中會(huì)會(huì)報(bào)ORAA-015578錯(cuò)誤誤,在這錯(cuò)錯(cuò)誤提示中中會(huì)提示那那個(gè)文件號號的文件以以及這個(gè)文文件中的哪哪個(gè)塊被損損壞,如:ORA015778:ORRACLEE 數(shù)據(jù)塊塊損壞(文文件號 44,塊號 35)針對以上的的提示首先先查詢那些些對象被損損壞:Selecct taablesspacee_namme,seegmennt_tyype,oownerr,seggmentt_namme Frrom ddba_eextennts WWheree fille_idd=4 aand 335 beetweeen bllock_id aand bblock
60、k_id+bloccks-11;如果被損壞壞的塊是索索引,通常??梢酝ㄟ^過索引重建建來解決,如如果損壞的的是數(shù)據(jù)(ssegmeent_ttype為為tablle),那那么通過設(shè)設(shè)置如下內(nèi)內(nèi)部事件使使得Expp操作跳過過壞塊。Alterr sesssionn sett eveents=102231 ttracee namme coontexxt fooreveer,leevel 10;然后重新執(zhí)執(zhí)行導(dǎo)出命命令,導(dǎo)出出相關(guān)的表表,然后執(zhí)執(zhí)行Droop Taable命命令刪除相相關(guān)表,之之后重建表表最后導(dǎo)入入數(shù)據(jù)。4.1.22、使用DDBMS_REPAAIR恢復(fù)復(fù)用DBMSS_REPPAIR當(dāng)當(dāng)然也
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國錦綸切片行業(yè)競爭格局規(guī)劃研究報(bào)告
- 2025-2030年中國銅礦采選行業(yè)發(fā)展?fàn)顩r及營銷戰(zhàn)略研究報(bào)告
- 2025-2030年中國蜂窩紙板市場運(yùn)營狀況及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國藥學(xué)教育發(fā)展模式及未來投資戰(zhàn)略分析報(bào)告
- 2025-2030年中國聚碳酸酯pc行業(yè)運(yùn)行狀況規(guī)劃分析報(bào)告
- 2025-2030年中國粗雜糧行業(yè)競爭格局及發(fā)展前景分析報(bào)告
- 2025-2030年中國空氣污染治理設(shè)備市場經(jīng)營狀況及發(fā)展趨勢分析報(bào)告
- 2025-2030年中國碼垛機(jī)器人市場運(yùn)行動(dòng)態(tài)及發(fā)展前景分析報(bào)告
- 幼兒健康有營養(yǎng)的蔬菜教案(12篇)
- 中國傳媒大學(xué)《電子與電工技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 哈弗汽車品牌全案策略及營銷推廣方案
- 04J008 擋土墻(重力式 衡重式 懸臂式)
- 《哈佛經(jīng)典談判術(shù)》讀書筆記思維導(dǎo)圖
- 質(zhì)量管理小組活動(dòng)準(zhǔn)則TCAQ10201-2020
- 扶梯人行道檢驗(yàn)驗(yàn)收作業(yè)指導(dǎo)書
- GB/T 41855-2022小型游樂設(shè)施轉(zhuǎn)椅
- 2023年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院高職單招(英語)試題庫含答案解析
- GB/T 20308-2020產(chǎn)品幾何技術(shù)規(guī)范(GPS)矩陣模型
- 男孩女孩動(dòng)起來健康運(yùn)動(dòng)知識(shí)PPT模板
- 鐵路道岔知識(shí)課件
- 自考公共關(guān)系學(xué)課件
評論
0/150
提交評論