1. 程式人生 > >Linux平臺下HighgoDB 備份恢復指導手冊

Linux平臺下HighgoDB 備份恢復指導手冊

目錄

文件用途

詳細資訊

文件用途

在Linux平臺下,若HGDB資料庫故障,需要恢復。那麼本文件可以幫您完成資料恢復的目的。

 

詳細資訊

1.備份概述

1.1備份簡介

防止資料丟失的第一道防線就是備份。一個嚴謹的資料庫備份策略,可以在資料庫發生故障或誤操作的情況下,將損失降到最低,甚至於將資料恢復到與發生故障前一模一樣。

資料庫備份有多種方式,如邏輯備份和物理備份。HighgoDB提供了pg_dump及pg_dumpall命令進行資料庫的邏輯備份,但由於在恢復時,介於邏輯備份與故障時間點之間的資料難以恢復,故一般不採取邏輯備份方式進行資料庫備份;物理備份包含冷備份和熱備份,冷備份需要停資料庫,這在正常的業務應用中是不現實的,故一般採用的是物理備份的熱備份。

物理備份一般又包含兩種,一類是使用檔案系統或塊裝置級別的快照功能完成備份,但此類備份方法,當出現故障時,難以將資料恢復到需求的時刻;另一類是使用資料庫的PITR方法進行熱備份,這是較常使用的資料庫資料備份方式,接下來即介紹此方法。

1.2 PITR物理備份相關概念

WAL日誌:用於記錄資料庫資料檔案的每次改變,在資料目錄的pg_xlog子目錄中,當資料庫崩潰後,可以通過重放最後一次checkpoint點之後的日誌檔案,將資料庫推到一致狀態。

PITR:基於時間點的備份(Point-In-Time Recovery),通過不停地重放WAL日誌就可以將資料推到備份結束後的任意一個時間點。

WAL歸檔:即將線上的WAL日誌備份出來。

2.備份指令碼示例

為保證密碼安全,指令碼不使用明文密碼,需要先將本地登陸設定為無密碼驗證,即本地使用者下輸入psql回車可以直接登入。

該指令碼每次執行完成備份並且成功後,會清理保留份數之前的所有備份以及最早保留備份之前無用的歸檔日誌,如果備份失敗,不會對以往備份和歸檔進行刪除。

備份日誌會存放在備份目錄中backuplog_$day.log中。

生成的備份檔案存放在備份目中下的數字資料夾內,例如:

1.png

9、10、11分別是獨立的一次資料基礎備份,每次執行一次備份資料夾的序號會增加1。

支援自定義表空間檔案的備份,即使不在$PGDATA目錄中,備份檔案會備份到nodefault_tbs目錄下,目錄結構仍然保留原有結構,恢復時可以直接恢復到原有路徑下。例如/highgo/tb1會備份成/hgbackup/base/19/nodefault_tbs/highgo/tb1

注:附件中為本文使用的備份指令碼。

3.恢復過程示例

詳細的恢復過程例項請登入【瀚高技術支援平臺】檢視

https://support.highgo.com/#/index/docContent/153a94f105ac2383