複製鏈接
請複製以下鏈接發送給好友

數據庫修復

鎖定
數據庫修復指的是通過技術手段將損壞的數據庫文件修復至可正常使用的數據庫文件的過程。
中文名
數據庫修復
外文名
Database Repair
原因1
服務器宕機,數據庫程序異常終止
原因2
內存錯誤導致數據不一致恢復
功能3
磁盤損壞
類    型
數據術語

數據庫修復數據錯誤修復

天晴數據之家最擅長 Oracle 和 SQL Server 數據庫的恢復,主要包括以下數據庫修復技術
SQL Server修復
如完全丟失數據庫mdf文件,用一般數據恢復方式不能恢復
數據庫中表被刪除,甚至被重寫數據,或記錄刪除又無log日誌文件
索引錯誤,或者IAM斷裂,以及各種錯誤提示如823錯誤、系統表出錯
數據庫大面損壞,可以指定任意表提取其數據。
格式化或刪除後恢復mdf,無法附加提示不是有效的sql文件
ORACLE 修復
誤delete數據的恢復、誤刪除表空間drop、truncate表的恢復
undo、system表空間損壞的恢復
各種ora- 錯誤的修復
DMP文件不能導入數據庫以及LOB數據恢復等情況
oracle數據庫中數據文件出現壞塊情況下的恢復
oracle數據庫無數據文件但有有日誌的情況下的恢復
能夠在系統表和表空間文件丟失,變成0字節下完整的恢復數據
只要沒有覆蓋表空間文件,我們有信心恢復數據。
對於數據庫修復,國外有很多此類優秀的軟件,其中Stellar Phoenix與Kernel 的產品多為常用,這兩款軟件功能強大,操作方便等優勢;但對於國內普通數據恢復技術員或初學者而言,工具的功能強大、操作的方便根本無從談起,原因就是這兩款軟件官方均未提供中文語言包,這就使很多初學者或者不懂得外文的朋友來説就顯得很被動,值得慶幸的是國內甲馭科技有限公司率先推出AUTOMDF數據庫恢復工具,該款軟件的最新版本為3.1 sr-5。該款軟件不僅功能強大,操作方便,界面新穎,還一舉打破了SQL Server數據庫碎片只能winhex手工重組的尷尬,這也是國內許多軟件開發者跟數據恢復工程師都曾想攻破的難關,但都苦於無法解決NTFS格式中8扇區頁碎片而最終無人問津。
AUTOMDF簡介
能夠恢復以下故障類型的數據庫文件丟失:
誤刪除
誤格式化
誤GHOST
服務器崩潰
突然斷電造成的文件損壞或丟失
SQL備份文件損壞無法還原
支持文件後綴名:
MDF
NDF
BAK
DAT
支持MS SQL Server的版本:
6.5、7.0、2000、2005、2008
恢復後的MDF或NDF文件可以直接附加使用。
您的數據庫被刪除,被格式化,文件系統損壞或者被誤GHOST後,AUTOMDF將是您的得力助手。只需要以下兩個簡單步驟就可以將您的數據庫輕鬆的恢復!
· 使用AUTOMDF對磁盤進行掃描,讓AUTOMDF定位您的數據庫在磁盤所在位置的信息;
· 使用AUTOMDF自動匹配的方法或者手工匹配的方式就可以輕鬆將您的數據庫恢復出來;
· 使用AUTOMDF獨特的數據庫重組功能,可以組合數據庫,達到可以直接附加的理想狀態。
AUTOMDF是一款功能強大的數據庫恢復軟件,支持以下強大功能。
· AUTOMDF支持2TB以上磁盤;
· AUTOMDF掃描的速度可以達到6-7G/Min;
· AUTOMDF可以支持16TB的數據庫恢復;
· AUTOMDF支持直接顯示數據庫名稱以及詳細信息;
· AUTOMDF支持強大的腳本搜索功能,幫助用户擴展更大強大的功能;
· AUTOMDF支持SQL7.0/SQL2000/SQL2005/SQL2008各個版本;
· AUTOMDF的數據庫數據識別能力達到99%,幫助用户更快速的恢復數據庫;
· AUTOMDF支持磁盤,鏡像以及數據庫的16進制瀏覽功能,並且有強大的16進制編輯功能;
· AUTOMDF支持判斷是否存在碎片頁面。
· ...
AUTOMD支持以下操作系統:
· Windows 98
· Windows Me
· Windows NT 4.0
· Windows 2000
· Windows XP
· Windows 2003 Server
· Windows Vista
· Windows 7
產品特徵
AUTOMDF3.1更新:
列表顯示速度的改進;
新增加了恢復碎片提示功能,修正導出碎片未0B的bug
軟件功能:
支持所有版本的MS SQL Server數據庫文件,包括:6.5、7.0、2000、2005、2008
智能化掃描和重組SQL Server數據庫碎片
掃描速度打到每分鐘4-5GB
支持2TB以上的硬盤掃描
最大支持16TB數據庫恢復
數據庫碎片識別率達到99.97%
支持直接16進制瀏覽碎片
支持硬盤影子功能,防止磁頭不穩定的硬盤進一步損壞
直接解析數據庫文件頭,判斷數據庫原始大小。精確保證碎片恢復成功率。
支持腳本功能,腳本可以幫助用户實現高級的恢復功能。簡單易用,並提供模板。
數據庫修復 數據庫修復
圖為AUTOMDF正版,最新版的截圖界面,其中共有四個部分組成。
快捷工具欄
碎片控制面板
主控制面板
輔助控制面板
軟件侷限
無法對掃描到的文件直接查看內部的數據,需要將恢復出來的MDF文件附加進數據庫管理器中或者其他數據庫修復軟件中查看數據。
系統要求
操作系統:Windows 2000, XP, Vista, 7, 2003 Server或者2008 Server。
內存:512M以上(數據庫比較大的情況下需要根據實際情況增加內存)
硬盤: 最小10M的安裝空間

數據庫修復使用步驟

1.我們使用默認方式建立一個供恢復使用的數據庫(如pos)。可以在SQL  Server  Enterprise  Manager裏面建立。
2.停掉數據庫服務器
3.將剛才生成的數據庫的日誌文件pos_log.ldf刪除,用要恢復的數據庫mdf文件覆蓋剛才生成的數據庫數據文件pos_data.mdf。
4.啓動數據庫服務器。此時會看到數據庫pos的狀態為“置疑”。這時候不能對此數據庫進行任何操作。
5.設置數據庫允許直接操作系統表。此操作可以在SQL  Server  Enterprise  Manager裏面選擇數據庫服務器,按右鍵,選擇“屬性”,在“服務器設置”頁面中
將“允許對系統目錄直接修改”一項選中。也可以使用如下語句來實現。
use  master
go
exec sp_configure  'allow updates',1
go
reconfigure  with  override
go
6.設置pos為緊急修復模式
update sysdatabases set status=-32768 where dbid=DB_ID('pos')
--此時可以在SQL  Server  Enterprise  Manager裏面看到該數據庫處於“只讀置疑脱機緊急模式”可以看到數據庫裏面的表,但是僅僅有系統表
7.下面執行真正的恢復操作,重建數據庫日誌文件
go
dbcc rebuild_log('pos','D:Program FilesMicrosoft SQL ServerMSSQLDatapos_log.ldf')
go
--執行過程中,如果遇到下列提示信息:
--服務器:  消息  5030,級別  16,狀態  1,行  1
--未能排它地鎖定數據庫以執行該操作。
--DBCC  執行完畢。如果  DBCC  輸出了錯誤信息,請與系統管理員聯繫。
--説明您的其他程序正在使用該數據庫,如果剛才您在F步驟中使用SQL  Server  Enterprise  Manager打開了pos庫的系統表,那麼退出SQL  Server
Enterprise  Manager就可以了。
--正確執行完成的提示應該類似於:
--警告:  數據庫  'pos'  的日誌已重建。已失去事務的一致性。應運行  DBCC  CHECKDB  以驗證物理一致性。將必須重置數據庫選項,並且可能
需要刪除多餘的日誌文件。
--DBCC  執行完畢。如果  DBCC  輸出了錯誤信息,請與系統管理員聯繫。
--此時打開在SQL  Server  Enterprise  Manager裏面會看到數據庫的狀態為“只供DBO使用”。此時可以訪問數據庫裏面的用户表了。
8.驗證數據庫一致性(可省略)
go
dbcc checkdb('pos')
--一般執行結果如下:
--CHECKDB  發現了  0  個分配錯誤和  0  個一致性錯誤(在數據庫  'pos'  中)。
--DBCC  執行完畢。如果  DBCC  輸出了錯誤信息,請與系統管理員聯繫。
9.設置數據庫為正常狀態
go
exec sp_dboption 'pos','dbo use only','false'
go
--如果沒有出錯,那麼恭喜,就可以正常的使用恢復後的數據庫啦。
10.最後一步,我們要將步驟E中設置的“允許對系統目錄直接修改”一項恢復。因為平時直接操作系統表是一件比較危險的事情。當然,我們可以在SQL  Server
Enterprise  Manager裏面恢復,也可以使用如下語句完成
exec sp_configure  'allow updates',0
go
reconfigure  with  override
go [1] 
參考資料