達夢數據庫常見問題-命令行工具-數據檢查工具


1、達夢是否能夠進行數據庫完整性校驗?

        可以的,達夢數據庫提供了dmdbchk工具用於檢查數據庫完整性、正確性的命令行工具。 在服務器正常關閉后的脫機情況下, 用戶可以使用 dmdbchk 對數據庫進行校驗,包括校驗 DM 數據庫內部的物理存儲結構是否正常,對象信息是否合法等。

檢驗的內容具體包括三方面:

        1、數據文件合法性檢驗

        數據文件校驗只校驗數據文件大小。 如果數據庫文件實際大小大於或等於文件頭中記錄的大小,則合法。

        2、索引正確性校驗

        索引檢驗包括: 普通表 B 樹索引校驗、 LIST 表扁平 B 樹索引校驗、列存儲表索引校驗。校驗內容具體包括: B 樹的層次、 層次關系,每層的內部頁、葉子頁以及頁之間的前后鏈接關系, 每個頁的頁頭信息(如頁類型等)等。

        3、對象ID合法性校驗

        對象 ID 校驗包括數據庫內的所有對象的 ID 檢驗。 對象包括: 索引、表、約束、存儲過程、模式、同義詞、用戶等。 如果從系統表中查出的對象 ID 小於庫的 ID 預留頁中記錄的該類型對象的下一分配 ID,則合法。因為庫的 ID 預留頁中記錄的是各類型對象下一個新分配對象將使用的 ID,因此若系統表中的對象 ID 大於或等於該 ID,說明庫已損壞。

注意:

        dmdbchk並不能檢查出用戶實際數據的正確性,如果數據文件被手動人為修改,正好修改到的是用戶數據部分,是檢查不出來的。

2、如何使用達夢數據庫校驗工具?

       達夢數據庫校驗需要在數據庫服務正常關閉后進行,進入數據庫程序目錄bin下,輸入./dmdbchk path=dm.ini路徑,例如數據文件目錄為/opt/dmdbms/data,則應該輸入./dmdbchk path=/opt/dmdbms/data/DAMENG/dm.ini,校驗完畢后,dmdbchk會在當前目錄下(dmdbchk所在目錄)生成一個名為dbchk_err.txt的檢查報告,供用戶查看。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM