openGauss學習筆記-152 openGauss 數(shù)據(jù)庫運維-備份與恢復-物理備份與恢復之PITR恢復152.1 背景信息152.2 前提條件152.3 PITR恢復流程152.4 recovery.conf文件配置152.4.1 歸檔恢復配置****152.4.2 恢復目標設置
openGauss學習筆記-152 openGauss 數(shù)據(jù)庫運維-備份與恢復-物理備份與恢復之PITR恢復
152.1 背景信息
當數(shù)據(jù)庫崩潰或希望回退到數(shù)據(jù)庫之前的某一狀態(tài)時,openGauss的即時恢復功能(Point-In-Time Recovery,簡稱PITR)可以支持恢復到備份歸檔數(shù)據(jù)之后的任意時間點。
[圖片上傳失敗...(image-bc758-1702299847819)]
說明:
- PITR僅支持恢復到物理備份數(shù)據(jù)之后的某一時間點鱼冀。
- 僅主節(jié)點可以進行PITR恢復吼驶,備機需要進行全量build達成與主機數(shù)據(jù)同步役衡。
152.2 前提條件
基于經(jīng)過物理備份的全量數(shù)據(jù)文件少办。
基于已歸檔的WAL日志文件。
152.3 PITR恢復流程
將物理備份的文件替換目標數(shù)據(jù)庫目錄。
刪除數(shù)據(jù)庫目錄下pg_xlog/中的所有文件局蚀。
將歸檔的WAL日志文件復制到pg_xlog文件中(此步驟可以省略餐蔬,通過配置recovery.conf恢復命令文件中的restore_command項替代)碎紊。
在數(shù)據(jù)庫目錄下創(chuàng)建恢復命令文件recovery.conf,指定數(shù)據(jù)庫恢復的程度用含。
啟動數(shù)據(jù)庫矮慕。
連接數(shù)據(jù)庫,查看是否恢復到希望預期的狀態(tài)啄骇。
若已經(jīng)恢復到預期狀態(tài)痴鳄,通過pg_xlog_replay_resume()指令使主節(jié)點對外提供服務。
152.4 recovery.conf文件配置
152.4.1 歸檔恢復配置
- restore_command = string
這個SHELL命令是獲取WAL文件系列中已歸檔的WAL文件缸夹。字符串中的任何一個%f是用歸檔檢索中的文件名替換痪寻, 并且%p是用服務器上的復制目的地的路徑名替換。 任意一個%r是用包含最新可用重啟點的文件名替換虽惭。
示例:
restore_command = 'cp /mnt/server/archivedir/%f %p'
- archive_cleanup_command = string
這個選項參數(shù)聲明一個shell命令橡类。在每次重啟時會執(zhí)行這個shell命令。 archive_cleanup_command為清理備庫不需要的歸檔WAL文件提供一個機制芽唇。 任何一個%r由包含最新可用重啟點的文件名代替顾画。這是最早的文件,因此必須保留以允許恢復能夠重新啟動匆笤,因此所有早于%r的文件可以安全的移除研侣。
示例:
archive_cleanup_command = 'pg_archivecleanup /mnt/server/archivedir %r'
需要注意的是,如果多個備服務器從相同的歸檔路徑恢復時炮捧, 需要確保在任何一個備服務器在需要之前庶诡,不能刪除WAL文件。
- recovery_end_command = string
這個參數(shù)是可選的咆课,用于聲明一個只在恢復完成時執(zhí)行的SHELL命令末誓。recovery_end_command是為以后的復制或恢復提供一個清理機制扯俱。
152.4.2 恢復目標設置
- recovery_target_name = string
此參數(shù)聲明命名還原到一個使用pg_create_restore_point()創(chuàng)建的還原點。
示例:
recovery_target_name = 'restore_point_1'
- recovery_target_time = timestamp
此參數(shù)聲明命名還原到一個指定時間戳喇澡。
示例:
recovery_target_time = '2020-01-01 12:00:00'
- recovery_target_xid = string
這個參數(shù)聲明還原到一個事務ID迅栅。
示例:
recovery_target_xid = '3000'
- recovery_target_lsn = string
這個參數(shù)聲明還原到日志的指定LSN點。
示例:
recovery_target_lsn = '0/0FFFFFF'
- recovery_target_inclusive = boolean
聲明是否在指定恢復目標(true)之后停止晴玖,或在這(false)之前停止库继。改聲明僅支持恢復目標為recovery_target_time、recovery_target_xid和recovery_target_lsn的配置窜醉。
示例:
recovery_target_inclusive = true
[圖片上傳失敗...(image-7d47b3-1702299847819)]
說明:
recovery_target_name宪萄、recovery_target_time、recovery_target_xid榨惰、recovery_target_lsn這四個配置項僅同時支持一項拜英。
如果不配置任何恢復目標,或配置目標不存在琅催,則默認恢復到最新的WAL日志點居凶。
?? 點贊,你的認可是我創(chuàng)作的動力藤抡!
?? 收藏侠碧,你的青睞是我努力的方向!
?? 評論缠黍,你的意見是我進步的財富弄兜!