數據庫備份與恢復步驟 數據庫的備份與恢復方法總結

在數據作為重要的生產要素的時代,數據早已成為各行各業的生命源泉,數據安全的重要性不言而喻 。數據備份是數據安全的基礎,完整的備份和有效的恢復手段是應對突發狀況的重要保障,保證數據在被人為失誤、操作不當、蓄意等情況下刪除或損壞后,能及時、有效的進行恢復并

數據庫備份與恢復步驟 數據庫的備份與恢復方法總結

文章插圖
在數據作為重要的生產要素的時代,數據早已成為各行各業的生命源泉,數據安全的重要性不言而喻 。數據備份是數據安全的基礎,完整的備份和有效的恢復手段是應對突發狀況的重要保障,保證數據在被人為失誤、操作不當、蓄意等情況下刪除或損壞后,能及時、有效的進行恢復并不會很大程度上影響到業務運行 。同時數據備份也對數據的重新利用,發揮數據更大價值,有著重大的作用 。
數據庫備份與恢復步驟 數據庫的備份與恢復方法總結

文章插圖
數據庫備份有多種
按照備份后的文件類型可以分為物理備份(文件系統級別的備份)和邏輯備份(備份文件是SQL文件或特定格式的導出文件);
按照備份時是否停止數據庫服務分為冷備份(備份時停止數據庫服務)和熱備份(備份時數據庫服務開啟并可訪問);
按照備份數據庫是否完整可分為全量備份(備份是完整的數據庫)和增量備份(備份是全量備份后數據庫改變的內容) 。
優炫數據庫UXDB作為新一代數據庫軟件,提供完善的數據存儲與數據管理功能,具有眾多優異的產品特性,滿足客戶多種業務場景需求 。
UXDB擁有多種多樣的備份恢復方法
文件系統級別的冷備份
文件系統級別備份需停止數據庫服務,復制數據文件的完整目錄到它處,恢復數據庫時,將它處的數據目錄復制回原來的位置即可,實際工作中應用較少 。
直接復制UXDB用于存儲數據庫中數據的文件:
本地集群
tar -jcv -f backup.tar.bz2 clusterdir(本地集群所在路徑)
恢復:
tar-jxv-f backup.tar.bz2 -C /home/uxdb/uxdbinstall/dbsql/bin
分布式集群
mkdir /mnt/volume
mount.uxfs dirhost:port/volume(分布式集群所在volume名稱) /mnt/volume
tar -jcv -f backup01.tar.bz2 /mnt/volume/uxdbuxfs(分布式集群掛載路徑)
恢復:
tar -jxv -f backup01.tar.bz2 -C /mnt/volume/
這種方法有兩個限制:
1. 為了得到一個可用的備份,數據庫服務器必須被關閉 。禁止所有連接等不徹底的措施是無用的(不僅因為tar和類似的工具在備份時并不對文件系統的狀態做原子快照,而且服務器內部存在緩沖數據) 。同樣,恢復數據之前也需要關閉服務器 。
2. 文件級別冷備份的策略不適用于希望通過表和數據庫相應的文件或目錄來備份或恢復特定的表和數據庫 。因為包含在這些文件中的信息只有配合提交日志文件(ux_xact/*)才有用,提交日志文件包含了所有事務的提交狀態 。表文件只有和這些信息一起才有用 。當然也不可能只恢復一個表及相關的ux_xact數據,因為這會導致數據庫集群中所有其他表變得無用 。因此文件級別冷備份只適合于完整地備份或恢復整個數據庫集群 。
SQL轉儲
SQL轉儲為邏輯熱備,備份工作通常由數據庫超級用戶在任何可以訪問該數據庫的遠端主機上完成 。備份時,無需停止數據庫服務 。備份會產生一個腳本文件,包含備份開始時已創建的各種數據庫對象的SQL語句和各表中的數據 。ux_dump只備份數據庫中的某數據庫的數據,不會導出角色和表空間等相關信息 。ux_dumpall對集簇中的每個數據庫執行ux_dump來完成該工作,還轉儲所有數據庫公用全局對象,包括數據庫用戶和組、表空間以及適合所有數據庫的訪問權限等屬性 。此外,在離線集群中可使用ux_checksums啟停頁校驗 。
恢復工作通過執行備份文件中的SQL命令對數據庫進行恢復 。ux_dump生成的文本文件可以由uxsql程序讀取 。為保證您的備份保持更新,您可以通過往cron table中加入ux_dump或者是ux_dumpall命令定期執行備份工作 。
恢復完成后,建議在每個數據庫上運行vacuumdb分析數據庫,保證優化器的統計數據最新 。備份的文件較大時,您可以通過操作系統對備份文件進行壓縮、分割或合并 。
連續歸檔備份
連續歸檔策略是把文件系統級別的全量備份和WAL級別的增量備份結合起來,當需要恢復時,先恢復文件系統級別的備份,然后重放備份的WAL文件 。系統支持全量、增量、熱備、冷備等多種形式,支持數據并行備份與并行恢復,恢復系統到之前的某個狀態 。

推薦閱讀