oracle修復(fù)Oracle數(shù)據(jù)庫(kù)壞塊的恢復(fù)
瀏覽量: 次 發(fā)布日期:2023-08-11 21:28:18
模擬數(shù)據(jù)塊壞塊:
對(duì)于發(fā)生數(shù)據(jù)塊不一致的數(shù)據(jù)塊,如果當(dāng)前數(shù)據(jù)庫(kù)有備份且處于歸檔模式,那么就可以利用rman工具數(shù)據(jù)塊恢復(fù)功能 對(duì)數(shù)據(jù)塊進(jìn)行恢復(fù),這種方法最簡(jiǎn)單有效,而且可以在數(shù)據(jù)文件在線(xiàn)時(shí)進(jìn)行,不會(huì)發(fā)生數(shù)據(jù)丟失。對(duì)于被有備份的數(shù)據(jù)庫(kù) 發(fā)生數(shù)據(jù)塊損壞,可能會(huì)發(fā)生數(shù)據(jù)的丟失或數(shù)據(jù)不丟失,這要根據(jù)發(fā)生壞塊的所在的對(duì)象決定的,如索引塊發(fā)生損壞,數(shù)據(jù) 就不會(huì)丟失,重建索引就可以了,發(fā)生數(shù)據(jù)丟失的多發(fā)生在表或分區(qū)表數(shù)據(jù)塊上。
1.不丟數(shù)據(jù)的恢復(fù)方法
如果壞塊上的表最近都沒(méi)有更新,還可以利用bbed的copy命令來(lái)從一個(gè)最近的備份中copy過(guò)來(lái)一個(gè)數(shù)據(jù)塊恢復(fù),具體不演示。
2.有可能存在數(shù)據(jù)丟失的恢復(fù)(在沒(méi)有備份沒(méi)有歸檔的情況下)
---用戶(hù)表數(shù)據(jù)損壞
正常情況下數(shù)據(jù)條目數(shù)
制作一個(gè)壞塊
發(fā)現(xiàn)我們第6個(gè)文件第76號(hào)數(shù)據(jù)塊損壞,報(bào)ORA-0178錯(cuò)誤,我們知掉只要數(shù)據(jù)庫(kù)報(bào)ORA-01578錯(cuò)誤,
說(shuō)明該數(shù)據(jù)塊已經(jīng)被標(biāo)識(shí)為:"software corrupt"
確認(rèn)壞塊的類(lèi)型
經(jīng)查我們的數(shù)據(jù)損壞壞位于我們的用戶(hù)表上,無(wú)備份數(shù)據(jù)會(huì)丟失。
標(biāo)記壞塊為"software corrupt"
在第2步的時(shí)候全表掃描時(shí)已經(jīng)報(bào)ORA-01578錯(cuò)誤,說(shuō)明該數(shù)據(jù)塊已經(jīng)被標(biāo)識(shí)為:"software corrupt", 正常情況下可以跳過(guò)這步。 我們使用dbms_repair包演示標(biāo)記壞塊為"software corrupt"
使用dbms_repair包可參考:http://blog.itpub.net/8494287/viewspace-1357457/
--利用dbms_repair包必須先創(chuàng)建repair table兩個(gè)表:
--再創(chuàng)建orphan key table
--檢查對(duì)象,檢查結(jié)果會(huì)放到我們之前創(chuàng)建的repair_table中
檢查出有1個(gè)壞塊
兆柏數(shù)據(jù)恢復(fù)公司--檢查校驗(yàn)的壞塊結(jié)果
我們知道當(dāng)marked_corrupt為T(mén)RUE時(shí),標(biāo)識(shí)這個(gè)數(shù)據(jù)塊已經(jīng)被標(biāo)識(shí)過(guò)software corrupt
---標(biāo)識(shí)壞塊為software corrupt(重新演示一下)
--再次檢查,因?yàn)橐呀?jīng)被標(biāo)志為software corrupt,所以在此標(biāo)志也沒(méi)什么變化
未被標(biāo)志為oftware corrupt ,marked_corrupt列會(huì)顯示FALSE
檢查其他關(guān)聯(lián)對(duì)象
檢查有多少個(gè)索引項(xiàng)指向了壞塊的記錄
查詢(xún)發(fā)現(xiàn)有一個(gè)索引指向這個(gè)壞塊
--檢查都有多少索引數(shù)據(jù)
可以看到有146條數(shù)據(jù)指向壞塊
使用dbms_repair.skip_corrupt_blocks或10231事件方式跳過(guò)壞塊
兆柏?cái)?shù)據(jù)恢復(fù)公司
可以看到當(dāng)執(zhí)行完dbms_repair.skip_corrupt_blocks數(shù)據(jù)可以正常訪問(wèn)了,只是統(tǒng)計(jì)出來(lái)的數(shù)據(jù)比原先
少了146條(50604-50458),也就是我們壞塊上的數(shù)據(jù)沒(méi)有統(tǒng)計(jì),被跳過(guò)了。
---使用10231事件跳過(guò)
使用CTAS方式重建表及索引
使用重建對(duì)象的freelists方式修復(fù)原表
使用這種方式防止壞塊以后被加入到freelists中 注意這個(gè)方法只適用于段空間手動(dòng)管理的表空間(SEGMENT SPACE MANAGEMENT MANUAL), 否則會(huì)報(bào)ORA-10614: Operation not allowed on this segment 錯(cuò)誤
壞塊中的數(shù)據(jù)
如果壞塊中的數(shù)據(jù)不可丟失,只能?chē)L試其他方法從恢復(fù)壞塊內(nèi)容,這其中也有一些第三方付費(fèi)工具可使用, 也可進(jìn)行以下嘗試:
*嘗試從索引內(nèi)容中恢復(fù)出索引列的內(nèi)容
*嘗試使用logminer,從日志中挖掘
*聯(lián)系Oracle Support,會(huì)有些工具解釋數(shù)據(jù)塊中的內(nèi)容。 oracle修復(fù) oracle修復(fù)
重要數(shù)據(jù)丟失請(qǐng)聯(lián)系兆柏?cái)?shù)據(jù)恢復(fù)公司
. oracle11g修復(fù),Oracle 11g TNS-12545錯(cuò)誤排查與修復(fù)指南
. 控制器壞了如何修復(fù)視頻,控制器故障排查與視頻修復(fù)技巧解析
. 磁盤(pán)陣列壞了怎么修復(fù)啊,RAID磁盤(pán)陣列故障診斷與修復(fù)全攻略
. 戴爾筆記本硬盤(pán)損壞怎么辦,戴爾筆記本硬盤(pán)故障排查與修復(fù)指南
. 數(shù)據(jù)恢復(fù)中心有哪些,揭秘硬盤(pán)故障與數(shù)據(jù)丟失的解決方案n2. 硬盤(pán)數(shù)據(jù)恢復(fù)攻略:數(shù)據(jù)恢
. 戴爾筆記本硬盤(pán)損壞修復(fù),戴爾筆記本硬盤(pán)故障排查與修復(fù)指南
. oracle數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù),Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)策略與實(shí)戰(zhàn)指南
. 硬盤(pán)數(shù)據(jù)恢復(fù)維修培訓(xùn),掌握數(shù)據(jù)拯救與設(shè)備修復(fù)的奧秘
. 硬盤(pán)數(shù)據(jù)恢復(fù)后文件損壞怎么辦,硬盤(pán)數(shù)據(jù)恢復(fù)后文件損壞的應(yīng)對(duì)策略與修復(fù)方法
. 聯(lián)想電腦硬盤(pán)壞了怎么辦,診斷與修復(fù)策略
. oracle數(shù)據(jù)文件損壞 怎么恢復(fù),全面解析與實(shí)操步驟
. 機(jī)械硬盤(pán)怎么修復(fù)數(shù)據(jù),全面解析故障處理與數(shù)據(jù)恢復(fù)技巧
. 西部數(shù)據(jù)移動(dòng)硬盤(pán)維修網(wǎng)點(diǎn),專(zhuān)業(yè)數(shù)據(jù)恢復(fù)與故障修復(fù)服務(wù)
. 電腦硬盤(pán)數(shù)據(jù)恢復(fù)原理,從文件系統(tǒng)到物理修復(fù)的全方位解析
. oracle數(shù)據(jù)庫(kù)收費(fèi)標(biāo)準(zhǔn),全面了解授權(quán)模式與費(fèi)用構(gòu)成
. oracle快照恢復(fù)數(shù)據(jù),高效的數(shù)據(jù)保護(hù)與恢復(fù)策略
. 硬盤(pán)壞了怎么修復(fù),硬盤(pán)壞了怎么辦?數(shù)據(jù)恢復(fù)與修復(fù)指南
. oracle數(shù)據(jù)庫(kù)導(dǎo)入dmp,Oracle數(shù)據(jù)庫(kù)導(dǎo)入dmp文件詳解