Database

是否有用於修復數據庫的 Informix 命令?

  • April 4, 2014

我們有一個執行 Avaya CMS 軟體的 Sun Solaris 系統。該軟體使用 Informix 數據庫。我們在伺服器中有一個驅動器。驅動器開始變壞,損壞文件。我們採購了一個新驅動器,並能夠將數據從舊驅動器複製到新驅動器,並成功啟動並執行伺服器。但是我們還有一個問題,因為數據庫報告了錯誤的塊並且它不會寫入新數據。

我們怎樣才能修復它?它只是執行一個 Informix 命令還是我們必須取消分配並重新分配數據庫儲存?

IBM Informix 動態伺服器版本 9.40.UC4

編輯:我們實際上不再關心舊數據,只是我們想寫入新數據,但它不會讓我們。無論如何要解決這個問題?

簡單的情況可以通過oncheck命令恢復。

但是您的情況和這種損壞無法從“null”中恢復數據。

為此,您需要恢復存檔 + 邏輯日誌備份。

然後,您將所有數據恢復到崩潰前的最後狀態。

你有 ?嗯….我很確定您現在的想法是:哎呀…

這是您在沒有硬體冗餘的環境中應該擁有的最小值。

之後要研究的其他選項是配置您的數據庫以鏡像不同硬碟上的所有塊……這樣,如果一個壞了,另一個保持所有執行。

閱讀這篇文章https://stackoverflow.com/questions/19905391/why-informix-dbexport-is-generating-corrupt-data,也許它可以幫助你。

編輯:

如果該塊已損壞,那麼想要在其上寫入任何內容都是沒有意義的。

引擎在這種情況下非常有限,以保證數據的完整性。

如果其中有一些數據,您將無法刪除該塊(考慮到數據庫仍然指向那裡有一些東西)。

更好的解決方案是將未損壞的內容導出到文本文件,從零重新創建您的實例,創建數據庫,結構並重新載入數據……

需要了解此產品是用資源製造的,以保證數據完整性而不是破壞它(考慮到管理員正確配置它)。

作為參考,請檢查此連結:

引用自:https://serverfault.com/questions/585740