freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

oracle壞塊故障葵花寶典-在線瀏覽

2024-08-17 11:53本頁面
  

【正文】 70 8 1460946 9 20091026 19:40:08 0 BLOB BLOB省略一些結(jié)果集AAAA66AAIAAFk5JAAG 3770 8 1461833 6 20091026 19:47:08 0 BLOB BLOB查到以下記錄時出錯,看來按照rowid清空故障的blob數(shù)據(jù)不行AAAA66AAIAAFk5JAAGROWID_TYPE: 1OBJECT_NUMBER: 3770RELATIVE_FNO: 8BLOCK_NUMBER: 1461833ROW_NUMBER: 6可以從obj,rfile,block,row計算得到理論上的rowid Obj 3770Rfile 8Block 1461842Row 0實際上就是將十進制數(shù)轉(zhuǎn)化成64進制數(shù),當然,從二進制轉(zhuǎn)化的規(guī)則比較簡單點。rowid是base64編碼的,用A~Z a~z 0~9 + /共64個字符表示。obj=3770轉(zhuǎn)換成二進制,補足成6位base64編碼,左邊填0,結(jié)果為AAAA66rfile=8=001000=I,補足成3位,得到AAIblock=1461842=000101 100100 111001 010010=5 36 57 18,補足成6位,得到AAFk5Srow=0,3位AAA合起來就是AAAA66AAIAAFk5SAAA但是不要忘了,這次壞的是blob它會跨多個塊的。TEST39。TEST39。TEST39。TEST39。TEST39。 File Block 7 110看起來這個表存放在文件號7,塊號110的地方查找存放圖片的blob段:select , from dba_extents de where =39。 and =39。我已經(jīng)往這個段里存放了一張9MB的圖片,占用了以下塊。TEST39。EP_TABLE39。739。 ROWID OBJ_ID DF BLKNUM ROWNO PTIME ALARMTYPE PLATEPICT PANORAMAPICT1 AAAM4CAAHAAAABuAAA 52738 7 110 0 20091129 22:51:58 0 BLOB BLOB看來它跨越了6號數(shù)據(jù)文件的9號塊到7號數(shù)據(jù)文件的777號塊根據(jù)rowid反過來驗證一下塊信息:declarev_rowid_type number。v_RELATIVE_FNO number。v_ROW_NUMBER number。AAAM4CAAHAAAABuAAA39。(39。||to_char(v_rowid_type))。OBJECT_NUMBER: 39。(39。||to_char(v_RELATIVE_FNO))。BLOCK_NUMBER: 39。(39。||to_char(v_ROW_NUMBER))。/ROWID_TYPE: 1OBJECT_NUMBER: 52738RELATIVE_FNO: 7BLOCK_NUMBER: 110ROW_NUMBER: 0也就是說如果blob字段發(fā)生壞塊,可能壞塊的block_id為273,但是要查找記錄的rowid的話需要前后跨越一段block_id才有可能找到,例如這里的110?;氐近S山壞塊故障上:SELECT COUNT(*) FROM EP_PECC WHERE TO_CHAR(PTIME,39。) 39。 AND TO_CHAR(PTIME,39。) 39。ERROR 位于第 1 行:ORA01115: 從文件 8 讀取塊時出現(xiàn) IO 錯誤 (塊 1461842)ORA01110: 數(shù)據(jù)文件 8: 39。ORA27091: skgfqio: 無法進行 I/O 操作OSD04006: ReadFile() 失敗,無法自文件讀取O/SError: (OS 23) 數(shù)據(jù)錯誤 (循環(huán)冗余檢查)。20091027 20:47:5739。yyyymmdd HH24:MI:SS39。20091026 20:48:5739。yyyymmdd HH24:MI:SS39。同時我也偷懶了沒有繼續(xù)查找因為連著壞了好多塊。DELETE from EP_PECC t where PTIME TO_DATE(39。,39。) AND PTIME TO_DATE(39。,39。)和用戶溝通了一下,把以前的過期記錄全部刪除后來發(fā)現(xiàn)另外一張表EP_TABLE導(dǎo)出時也有壞塊。ORA01115: 從文件 8 讀取塊時出現(xiàn) IO 錯誤 (塊 1200338)ORA27070: skgfdisp: 異步讀取/寫入失敗OSD04016: 查詢非同步 I/O 請求發(fā)生錯誤.O/SError: (OS 23) 數(shù)據(jù)錯誤 (循環(huán)冗余檢查)。同理處理。后面的恢復(fù)處理就不寫了。試過ALTER SYSTEM SET EVENTS 39。 也不能成功。RMAN 可以備份包含損壞數(shù)據(jù)塊的數(shù)據(jù)文件,通過設(shè)置 set maxcorrupt 可以跳過指定個數(shù)的壞塊來避免備份失敗。在 Oracle9i中可以用 RMAN來執(zhí)行塊級的恢復(fù),而且恢復(fù)期間數(shù)據(jù)文件可以是聯(lián)機狀 態(tài)。假設(shè)我們在查 詢一個 Oracle 表的時候接收到下面的錯誤:ERROR 位于第 1 行:ORA01578: ORACLE 數(shù)據(jù)塊損壞(文件號 5,塊號 97) ORA01110: 數(shù)據(jù)文件 5: 39。那么我們就可以在 RMAN中用 BLOCKRECOVER 命令來修復(fù):RMAN BLOCKRECOVER DATAFILE 5 BLOCK97; 啟動 blockrecover 于 039月 06 正在啟動全部恢復(fù)目錄的 resync完成全部 resync使用通道 ORA_DISK_1通道 ORA_DISK_1: 正在從數(shù)據(jù)文件副本 E:\ 恢復(fù)塊 正在開始介質(zhì)的恢復(fù)完成介質(zhì)的恢復(fù)完成 blockrecover 于 039月 06塊恢復(fù) Block Media Recovery (BMR),塊是恢復(fù)的最小單元,通過塊可以減少恢復(fù) 時間,而且數(shù)據(jù)文件可以在線。2)BLOCKRECOVER命令可以接受若干文件中的一列數(shù)據(jù)塊: RMAN blockrecover datafile 7 block 5,6,7 datafile 9 block 21,25。4)從使用標記指定的備份中還原數(shù)據(jù)塊 RMAN blockrecover datafile 7 block 5 from tag monthly_whole。注意:此處關(guān)鍵字UNTIL并非表示不完全恢復(fù)!這個關(guān)鍵字意味著必須從特定日期(序列號或SCN)之前生成的備份中還原數(shù)據(jù)塊。由于正常的數(shù)據(jù)塊都有固定的合法內(nèi)容格式,壞塊的出現(xiàn),導(dǎo)致數(shù)據(jù)庫進程無法正常解析數(shù)據(jù)塊的內(nèi)容,進而使數(shù)據(jù)庫進程報錯乃至掛起,并級聯(lián)導(dǎo)致整個數(shù)據(jù)庫實例出現(xiàn)異常。同樣,如果存儲子系統(tǒng)出現(xiàn)異常,數(shù)據(jù)塊損壞也就隨之出現(xiàn)了。 操作系統(tǒng)的I/O錯誤或緩沖問題 內(nèi)存或paging問題Oracle軟件BUGOracle軟件特定版本上,可能出現(xiàn)導(dǎo)致數(shù)據(jù)塊的內(nèi)容出現(xiàn)異常BUG。 異常關(guān)機,掉電,終止服務(wù)異常關(guān)機,掉電,終止服務(wù)使進程異常終止,而破壞數(shù)據(jù)塊的完整性,導(dǎo)致壞塊產(chǎn)生。當出現(xiàn)壞塊時,為了找到確切的原因,需要大量的分析時間和排查操作,甚至需要多次重現(xiàn)才能找出根本原因。二.壞塊的預(yù)防壞塊問題破壞性大,但并非不可預(yù)防。對于可能導(dǎo)致壞塊的Oracle軟件BUG,在Oracle公司內(nèi)部,是作為高嚴重級別的問題進行處理,在“已知問題(known issues)說明”中,這些BUG以嚴重(Noticable)問題標出(標記為*或+),部分問題,Oracle還會發(fā)布警告(Alert)通告。 Oracle提供備份恢復(fù)工具-Recovery Manager,提供了掃描文件檢查壞塊的功能。可以檢查數(shù)據(jù)文件是否包含壞塊,同時并不產(chǎn)生實際的備份輸出。ANALYZE TABLE tablename VALIDATE STRUCTURE CASCADE它執(zhí)行壞塊的檢查,但是不會標記壞塊為corrupt,檢測的結(jié)果保存在USER_DUMP_DEST目錄下的用戶trace文件中。當我們使用Recovery Manager進行實際的數(shù)據(jù)庫備份時,同時也就進行了壞塊檢查。對于操作系統(tǒng)問題和硬件故障,則需要相應(yīng)廠商的配合支持。三.壞塊故障的識別遇到壞塊問題時,數(shù)據(jù)庫的異常表現(xiàn)通常有:報告ORA01578錯誤。報告ORA00600錯誤,其中,第一個參數(shù)為20008000,Cache layer 2000 – 4000,Transaction layer 4000 – 6000,Data layer 6000 8000。分析對象失敗。四.Oracle數(shù)據(jù)塊損壞恢復(fù)總結(jié)可以用DBV 命令來檢測是否有壞塊:在恢復(fù)前使用DBV命令檢查數(shù)據(jù)文件是否存在壞塊dbv file=d:\oracle\oradata\mydb\ blocksize=8192查看數(shù)據(jù)壞塊所在數(shù)據(jù)文件號及塊號可以對表進行一次全表掃描,如:select count(*) from tablename。導(dǎo)出命令在執(zhí)行中會報ORA01578錯誤,在這錯誤提示中會提示那個文件號的文件以及這個文件中的哪個塊被損壞,如:ORA—01578:ORACLE 數(shù)據(jù)塊損壞(文件號 4,塊號 35)針對以上的提示首先查詢那些對象被損壞:Select tablespace_name,segment_type,owner,segment_name From dba_extents Where file_id=4 and 35 between block_id and block_id+blocks1。Alter session set events=39。然后重新執(zhí)行導(dǎo)出命令,導(dǎo)出相關(guān)的表,然后執(zhí)行Drop Table命令刪除相關(guān)表,之后重建表最后導(dǎo)入數(shù)據(jù)。這里不做詳細的介紹,有興趣的可以查看oracle的在線文檔 使用Rman進行恢復(fù):首先要存在Rman的最新備份集,然后執(zhí)行如下命令:RMANbackup validate datafile 4。如果4號文件存在壞塊的話,那么將在結(jié)果集中有所顯示,會顯示損壞的塊號,根據(jù)顯示結(jié)果執(zhí)行如下命令進行恢復(fù):RMANblockrecover datafile 4 block 35 from backupset。bbed就是英文block browse edit的縮寫,用來直接查看和修改數(shù)據(jù)文件數(shù)據(jù)的一個工具。BBED的缺省口令為blockedit,For Oracle Internal Use only 請謹慎使用Oracle不做技術(shù)支持。它包含下列組成元素:? 數(shù)據(jù)對象編號:每個數(shù)據(jù)對象(如表或索引)在創(chuàng)建時都分配有此編號,并且此編號在數(shù)據(jù)庫中是唯一的? 相關(guān)文件編號:此編號對于表空間中的每個文件是唯一的? 塊編號:表示包含此行的塊在文件中的位置? 行編號:標識塊頭中行目錄位置的位置在內(nèi)部,數(shù)據(jù)對象編號需要32 位、相關(guān)文件編號需要10 位、塊編號需要22 位、行編號需要16 位,加起來總共是80 位或10 個字節(jié)。以64 為基數(shù)的編碼方案使用字符“AZ”、“az”、“09” 和“/”。DEPARTMENT_ID ROWID 10 AAABQMAAFAAAAA6AAA20 AAABQMAAFAAAAA6AAB30 AAABQMAAFAAAAA6AAC40 AAABQMAAFAAAAA6AAD50 AAABQMAAFAAAAA6AAE60 AAABQMAAFAAAAA6AAF…在本例中:? AAABQM 是數(shù)據(jù)對象編號? AAF 是相關(guān)文件編號? AAAAA6 是塊編號? AAA 是ID=10 的部分的行編號Oracle7 和更早版本中的受限ROWID:Oracle8 之前的Oracle 數(shù)據(jù)庫版本使用的是受限的ROWID 格式。此格式在Oracle7 或更早的發(fā)行版中是可以接受的,因為文件編號在一個數(shù)據(jù)庫內(nèi)是唯一的。目前,對表空間有此限制。通常,一個行的各列按其定義時的順序存儲,并且不存儲尾隨的NULL 列。表中的每行具有:? 行頭:用來存儲行中的列數(shù)、鏈接信息和行鎖定狀態(tài)? 行數(shù)據(jù):對于每一列,Oracle 服務(wù)器存儲列的長度和值(如果該列不超過250 個字節(jié),則需要一個字節(jié)來存儲列長度;如果該列超過250 個字節(jié),則需要三個字節(jié)來存儲列長度。)相鄰的行之間不需要任何空格。目錄位置指向行首。,根據(jù),壞塊的file_id,block id查找該塊對應(yīng)的owner,segment_type,segment_name等信息 select owner,file_id,segment_name, segment_type, block_id, blocks  from dba_extents  where file_id=13 and block_id=1234 and (block_id + blocks 1) = 1234。DAVE39。BL39。   六,如何模擬壞塊DBA 的基本知識,制造壞塊的方法很多的,可以用ultraedit,也可以用dd命令,同時也可以用orapatch工具 orapatch 工具:$orapatch open writepatchset
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1