IBSurgeon FirstAID是一種能夠自動診斷和修復損壞的InterBase或Firebird數據庫的工具。只有IBSurgeon FirstAID能夠自動地修復無論gbak還是gfix都不能處理的損壞。它使用了自己的用于低層次的數據庫訪問層而沒有使用InterBase或Firebird引擎,因此,當所有其他標準機制都無法使用時,它能夠對您的數據庫執行真正的“外科手術式”的操作和修復。
IBFirstAID and FBFirstAID are tools that can automatically diagnose and repair corrupted InterBase or Firebird databases. IBFirstAID/FBFirstAID is the only solution for automatically repairing corruption that neither gbak nor gfix can handle. It uses its own layer for low-level database access without using the InterBase or Firebird engine, so it can perform real "surgical" operations and repair your database when all other standard mechanism's cannot.
IBSurgeon FirstAID與其它標準恢復方法一起使用時,它可以修復一個所有情況下超過80%的損壞的數據庫。IBSurgeon擁有一個免費的IBFirstAID的診斷專家版本,它可以用于準確地檢查實際數據庫的狀態。它可以分析出您的數據庫的底層數據結構并報告出在數據庫中可能存在的錯誤的詳細日志。
您可以將診斷日志發送到我們的支持服務,您將得到一個免費的答案告知您的數據庫是否可以恢復,是否可以通過IBFirstAid直接恢復,或者我們是否需要執行一些手動的工作以協助其恢復處理過程。如果問題非常嚴重,我們還將嘗試并估算您的數據有多少能夠被恢復。
如下可能的損壞IBFirstAID能夠修復和糾正。詳細如下:
- 內部gds軟件一致性檢查(找不到提示頁面(165))所需要的交易清單已損壞,數據庫無法打開。預計在這種情況下,無論gbak或者是gfix都不可能修復您的數據庫(除了在一個只讀數據庫的情況下)。IBFirstAID將修復丟失的頁面并恢復數據庫。
- 當試圖讀取數據庫文件時出現的針對文件“*.gdb”的未知數據庫I/O錯誤。這通常表示一些數據庫頁面可能在數據庫文件的結尾處丟失(停電?)。在這種情況下數據庫無法打開。Gfix不能夠修復它。IBFirstAID將重新創建丟失的系統頁面并刪除錯誤的指針。
- 數據庫文件出現損壞。錯誤的頁面類型。頁面NNN是錯誤的類型(預計X,發現Y)。這些錯誤能夠標示一些問題。但是通常它們是數據庫丟失的頁面,或者這些被訪問的頁面不是預計的頁面類型。例如,如果預計的頁面類型是5,則可能意味著一些數據可能已經在一個表中遭到損壞。例如一個損壞可能阻止一個成功的備份或者可以使數據庫無法使用該表。IBFirstAID修正錯誤的頁面指針并修復數據庫。
- 錯誤的記錄長度。不能找到舊版本。IBFirstAID在數據庫中檢查每條記錄并嘗試修復這些記錄級上的錯誤。
- 頁面的丟失能夠引起其他數據庫損壞。
Using IBFirstAID/FBFirstAID together with other standard recovery means such as the default gfix and gbak utilities it is possible to repair a corrupted database in more than 80% of all cases. IBSurgeon has a free Diagnostician version of IBFirstAID which you can use to accurately check the actual database status. It will analyze the low-level data structures in your database and present you with a detailed log of what may be wrong in the database.
You can send the diagnostic log to our support service for a free answer on whether your database recoverable or not, whether its recoverable by IBFirstAid directly, or whether we need to perform some manual work to assist the recovery process. We will also try and estimate how much of your data can be recovered if there really is a serious problem that will not allow 100% recovery.
There are a number of possible corruptions that IBFirstAID has been designed to repair and correct. These are listed below:
- Internal gds software consistency check (cannot find tip page (165)) The required Transaction Inventory Page is corrupt and the database cannot be opened. It is expected in this instance that neither gbak nor gfix will be able to repair your database (except in the case of a Read Only database). IBFirstAID will repair the missing pages and recover the database.
- Unknown database I/O error for file "*.gdb" Error while trying to read from the database file. This usually indicates that a number of database pages have probably been lost at the end of the database file (power failure?). In this instance the database cannot be opened. Gfix cannot repair this. IBFirstAID will recreate the missing system pages and deletes the wrong pointers.
- Database file appears corrupt. Wrong page type. Page NNN is of wrong type (expected X, found Y) This error can indicate a number of problems. But typically there are missing pages in the database, or the page that is being accessed is not the expected page type. For example, if the expected page type is 5, it can mean that some data may have been corrupted within a table. Such a corruption may prevent a sucessful backup backup or may make the table unavailable to the database. IBFirstAID fixes the wrong page pointers and repairs the database.
- Wrong record length. Cannot find backversion. IBFirstAID will check every record in database and will try and repair these record-level errors.
- Other database corruptions can be caused by lost pages.
For those who don't want to experience corruption again, we offer protection and maintenance tool Firebird DataGuard now.