openGauss學習筆記-151 openGauss 數據庫運維-備份與恢復-物理備份與恢復之gs_basebackup

文章目錄

    • openGauss學習筆記-151 openGauss 數據庫運維-備份與恢復-物理備份與恢復之gs_basebackup
      • 151.1 背景信息
      • 151.2 前提條件
      • 151.3 語法
      • 151.4 示例
      • 151.5 從備份文件恢復數據

openGauss學習筆記-151 openGauss 數據庫運維-備份與恢復-物理備份與恢復之gs_basebackup

151.1 背景信息

openGauss部署成功后,在數據庫運行的過程中,會遇到各種問題及異常狀態。openGauss提供了gs_basebackup工具做基礎的物理備份。gs_basebackup的實現目標是對服務器數據庫文件的二進制進行拷貝,其實現原理使用了復制協議。遠程執行gs_basebackup時,需要使用系統管理員賬戶。gs_basebackup當前支持熱備份模式和壓縮格式備份。

img 說明:

  • gs_basebackup僅支持主機和備機的全量備份,不支持增量。
  • gs_basebackup當前支持熱備份模式和壓縮格式備份。
  • gs_basebackup在備份包含絕對路徑的表空間時,如果在同一臺機器上進行備份,可以通過tablespace-mapping重定向表空間路徑,或使用歸檔模式進行備份。
  • 若打開增量檢測點功能且打開雙寫,gs_basebackup也會備份雙寫文件。
  • 若pg_xlog目錄為軟鏈接,備份時將不會建立軟鏈接,會直接將數據備份到目的路徑的pg_xlog目錄下。
  • 備份過程中收回用戶備份權限,可能導致備份失敗或者備份數據不可用。
  • 如果因為網絡臨時故障等原因導致Server端無應答,gs_basebackup將在最長等待120秒后退出。

151.2 前提條件

  • 可以正常連接openGauss數據庫。
  • 備份過程中用戶權限沒有被回收。
  • pg_hba.conf中需要配置允許復制鏈接,且該連接必須由一個系統管理員建立。
  • 如果xlog傳輸模式為stream模式,需要配置max_wal_senders的數量, 至少有一個可用。
  • 如果xlog傳輸模式為fetch模式,有必要把wal_keep_segments參數設置得足夠高,這樣在備份末尾之前日志不會被移除。
  • 在進行還原時,需要保證各節點備份目錄中存在備份文件,若備份文件丟失,則需要從其他節點進行拷貝。

151.3 語法

  • 顯示幫助信息

    gs_basebackup -? | --help
    
  • 顯示版本號信息

    gs_basebackup -V | --version
    

參數說明

gs_basebackup參數可以分為如下幾類:

  • -D directory

    備份文件輸出的目錄,必選項。

  • 常用參數:

    • -c,–checkpoint=fast|spread

      設置檢查點模式為fast或者spread(默認)。

    • -l,–label=LABEL

      為備份設置標簽。

    • -P,–progress

      啟用進展報告。

    • -v, –verbose

      啟用冗長模式。

    • -V, –version

      打印版本后退出。

    • -?,–help

      顯示gs_basebackup命令行參數。

    • -T,–tablespace-mapping=olddir=newdir

      在備份期間將目錄olddir中的表空間重定位到newdir中。為使之有效,olddir必須正好匹配表空間所在的路徑(但如果備份中沒有包含olddir中的表空間也不是錯誤)。olddir和newdir必須是絕對路徑。如果一個路徑湊巧包含了一個=符號,可用反斜線對它轉義。對于多個表空間可以多次使用這個選項。

    • -F,–format=plain|tar

      設置輸出格式為plain(默認)或者tar。沒有設置該參數的情況下,默認–format=plain。plain格式把輸出寫成平面文件,使用和當前數據目錄和表空間相同的布局。當集簇沒有額外表空間時,整個數據庫將被放在目標目錄中。如果集簇包含額外的表空間,主數據目錄將被放置在目標目錄中,但是所有其他表空間將被放在它們位于服務器上的相同的絕對路徑中。tar模式將輸出寫成目標目錄中的 tar 文件。主數據目錄將被寫入到一個名為base.tar的文件中,并且其他表空間將被以其 OID 命名。生成的tar包,需要用gs_tar命令解壓。

    • -X, –xlog-method=fetch|stream

      設置xlog傳輸方式。沒有設置該參數的情況下,默認–xlog-method=stream。在備份中包括所需的預寫式日志文件(WAL文件)。這包括所有在備份期間產生的預寫式日志。fetch方式在備份末尾收集預寫式日志文件。因此,有必要把wal_keep_segments參數設置得足夠高,這樣在備份末尾之前日志不會被移除。如果在要傳輸日志時它已經被輪轉,備份將失敗并且是不可用的。stream方式在備份被創建時流傳送預寫式日志。這將開啟一個到服務器的第二連接并且在運行備份時并行開始流傳輸預寫式日志。因此,它將使用最多兩個由max_wal_senders參數配置的連接。只要客戶端能保持接收預寫式日志,使用這種模式不需要在主控機上保存額外的預寫式日志。

    • -x,

      –xlog 使用這個選項等效于和方法fetch一起使用-X。

    • -Z –compress=level

      啟用對 tar 文件輸出的 gzip 壓縮,并且制定壓縮級別(0 到 9,0 是不壓縮,9 是最佳壓縮)。只有使用 tar 格式時壓縮才可用,并且會在所有tar文件名后面自動加上后綴.gz。

    • -z

      啟用對 tar 文件輸出的 gzip 壓縮,使用默認的壓縮級別。只有使用 tar 格式時壓縮才可用,并且會在所有tar文件名后面自動加上后綴.gz。

    • -t,–rw-timeout

      設置備份期間checkpoint的時間限制,默認限制時間為120s。當數據庫全量checkpoint耗時較長時,可以適當增大rw-timeout限制時間。

  • 連接參數

    • -h, –host=HOSTNAME

      指定正在運行服務器的主機名或者Unix域套接字的路徑。

    • -p,–port=PORT

      指定數據庫服務器的端口號。

      可以通過port參數修改默認端口號。

    • -U,–username=USERNAME

      指定連接數據庫的用戶。

    • -s, –status-interval=INTERVAL

      發送到服務器的狀態包的時間(以秒為單位)。

    • -w,–no-password

      不出現輸入密碼提示。

    • -W, –password

      當使用-U參數連接本地數據庫或者連接遠端數據庫時,可通過指定該選項出現輸入密碼提示。

151.4 示例

gs_basebackup -D /home/test/trunk/install/data/backup -h 127.0.0.1 -p 21233
INFO:  The starting position of the xlog copy of the full build is: 0/1B800000. The slot minimum LSN is: 0/1B800000.

151.5 從備份文件恢復數據

當數據庫發生故障時需要從備份文件進行恢復。因為gs_basebackup是對數據庫按二進制進行備份,因此恢復時可以直接拷貝替換原有的文件,或者直接在備份的庫上啟動數據庫。

img 說明:

  • 若當前數據庫實例正在運行,直接從備份文件啟動數據庫可能會存在端口沖突,這時需要修改配置文件的port參數,或者在啟動數據庫時指定一下端口。
  • 若當前備份文件為主備數據庫,可能需要修改一下主備之間的復制連接。即配置文件中的postgre.conf中的replconninfo1、 replconninfo2等。
  • 若配置文件postgresql.conf的參數data_directory打開且有配置,當使用備份目錄啟動數據庫時候,data_directory和備份目錄不同會導致啟動失敗。可以修改data_directory的值為新的數據目錄,或者注釋掉該參數。

若要在原庫的地方恢復數據庫,參考步驟如下:

  1. 停止數據庫服務器, 具體操作請參見《數據庫運維指南》。
  2. 將原數據庫和所有表空間復制到另外一個位置,以備后面需要。
  3. 清理原庫中的所有或部分文件。
  4. 使用數據庫系統用戶權限從備份中還原需要的數據庫文件。
  5. 若數據庫中存在鏈接文件,需要修改使其鏈接到正確的文件。
  6. 重啟數據庫服務器,并檢查數據庫內容,確保數據庫已經恢復到所需的狀態。

img 說明:

  • 暫不支持備份文件增量恢復。
  • 恢復后需要檢查數據庫中的鏈接文件是否鏈接到正確的文件。

👍 點贊,你的認可是我創作的動力!

?? 收藏,你的青睞是我努力的方向!

?? 評論,你的意見是我進步的財富!

圖片

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/212348.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/212348.shtml
英文地址,請注明出處:http://en.pswp.cn/news/212348.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

NeuralKG運行備忘

環境配置: conda create -n neuralkg python3.8 conda activate neuralkg pip install torch1.9.1cu111 -f https://download.pytorch.org/whl/torch_stable.html pip install dgl-cu111 dglgo -f https://data.dgl.ai/wheels/repo.html pip install neuralkg! co…

基于java swing 藥品銷售管理系統

大家好,我是DeBug,很高興你能來閱讀!作為一名熱愛編程的程序員,我希望通過這些教學筆記與大家分享我的編程經驗和知識。在這里,我將會結合實際項目經驗,分享編程技巧、最佳實踐以及解決問題的方法。無論你是…

短視頻賬號剪輯矩陣+無人直播系統源頭開發

抖去推爆款視頻生成器,通過短視頻矩陣、無人直播,文案引流等,打造實體商家員工矩陣、用戶矩陣、直播矩陣,輔助商家品牌曝光,團購轉化等多功能賦能商家拓客引流。 短視頻矩陣通俗來講就是批量剪輯視頻和批量發布視頻&am…

Multisim電路仿真軟件使用教程

安裝直接參考這篇文章:Multisim 14.0安裝教程 軟件管家公眾號里有很多軟件,需要的可以去找下然后安裝,這里用的是14.0版本。 這里有個大神的詳細教程,可以參考: Multisim軟件使用詳細入門教程(圖文全解&…

Java Docker 生產環境部署

1. 引言 隨著容器化技術的廣泛應用,Docker成為了一種非常流行的容器化解決方案。Java作為一種跨平臺的編程語言,在生產環境中也廣泛使用。本文將介紹如何使用Docker來部署Java應用程序,并探討一些最佳實踐和注意事項。 2. Docker簡介 Dock…

Python房價分析(二)隨機森林分類模型

目錄 1 數據預處理 1.1 房價數據介紹 1.2 數據預處理 1.2.1 缺失值處理 1.2.2異常值處理 1.2.3 數據歸一化 1.2.4 分類特征編碼 2 隨機森林模型 2.1 模型概述 2.2 建模步驟 2.3 參數搜索過程 3模型評估 3.1 模型評估結果 3.2 混淆矩陣 3.3 繪制房價類別三分類的…

面試官:性能測試瓶頸調優你是真的會嗎?

引言:性能瓶頸調優 在實際的性能測試中,會遇到各種各樣的問題,比如 TPS 壓不上去等,導致這種現象的原因有很多,測試人員應配合開發人員進行分析,盡快找出瓶頸所在。 理想的性能測試指標結果可能不是很高&…

Linux內核--內存管理(六)補充--進程頁表

目錄 一、引言 二、頁表 ------>2.1、頁表的大小 ------>2.2、頁表起始地址 ------>2.3、CPU調度 ------>2.4、用戶態訪問虛擬地址 ------>2.5、頁表組成部分 ------------>2.5.1、進程用戶態頁表 ------------>2.5.2、內核態頁表 ------>2.…

c++學習之異常

前言 早在c語言的時候,就已經有處理錯誤的方式了,第一種方式太過暴力,就是斷言,程序發生錯誤,直接終止退出,這樣的報錯對于真正開發應用等太過暴力。第二種方式,就是返回errno,其實&…

Latex公式中矩陣的方括號和圓括號表示方法

一、背景 在使用Latex寫論文時,不可避免的涉及到矩陣公式。有的期刊要求矩陣用方括號,有的期刊要求矩陣用圓括號。因此,特記錄一下Latex源碼在兩種表示方法上的區別,以及數組和方程組的擴展。 二、矩陣的方括號表示 首先所有的…

OpenGLES:glReadPixels()獲取相機GLSurfaceView預覽數據并保存

Android現行的Camera API2機制可以通過onImageAvailable(ImageReader reader)回調從底層獲取到Jpeg、Yuv和Raw三種格式的Image,然后通過保存Image實現拍照功能,但是卻并沒有Api能直接在上層直接拿到實時預覽的數據。 Android Camera預覽的實現是上層下發…

Java學習筆記——instanceof關鍵字

instanceof關鍵字: 作用:保證對象向下轉型的安全性在對象向下轉型前判斷某一對象實例是否屬于某個類 判斷時,如果對象是null,則 instanceof 判斷結果為 false

Spring Boot 整合kafka:生產者ack機制和消費者AckMode消費模式、手動提交ACK

目錄 生產者ack機制消費者ack模式手動提交ACK 生產者ack機制 Kafka 生產者的 ACK 機制指的是生產者在發送消息后,對消息副本的確認機制。ACK 機制可以幫助生產者確保消息被成功寫入 Kafka 集群中的多個副本,并在需要時獲取確認信息。 Kafka 提供了三種…

ei源刊和ei會議的幾個區別

1、含義不同 公開發表論文,可以在期刊上刊登,也可以在會議上宣讀。ei源刊對應的是期刊,是指被ei檢索收錄的工程類的期刊。ei會議對應的是會議,是指被ei檢索收錄的會議。 2、檢索類型不同 期刊和會議都能被ei檢索,但…

Tr0ll

信息收集 探測主機存活信息: nmap -sn --min-rate 10000 192.168.182.0/24Starting Nmap 7.94 ( https://nmap.org ) at 2023-11-14 15:45 CST Nmap scan report for 192.168.182.1 Host is up (0.00026s latency). MAC Address: 00:50:56:C0:00:08 (VMware) Nmap…

qt 雙緩沖機制

在圖形編程中,雙緩沖機制是一種常用的技術,用于減少圖形繪制時的閃爍和抖動。它的基本思想是將圖形繪制到一個后臺緩沖中,然后一次性將后臺緩沖的內容顯示到屏幕上。 在 Qt 中,雙緩沖機制可以通過QPainter的begin()和end()方法來實…

Linux環境下socket本地通信

最近項目有用到了socket本地通信,故復習一下。之前都是基于本地虛擬機的ip地址通信的,現在項目,Linux單板上面有2個進程需要通信,故用到了本地socket通信,主要其實就是用了sockfd,文件描述符,也叫句柄。 服…

java接入gpt開發

前情提要 本次文章使用編譯器為IDEA2020 使用GPT模型為百度旗下的千帆大模型 如果是個人用或者不流傳出去,可以無腦入,因為會免費送20塊錢(夠用上萬次) 代金卷查看 正式教程: 百度智能云控制臺 (baidu.com) 按照步…

JMS(Java Message Service)使用指南

介紹 JMS即Java消息服務(Java Message Service)應用程序接口,是一個Java平臺中關于面向消息中間件(MOM)的API,用于在兩個應用程序之間,或分布式系統中發送消息,進行異步通信。它是一…

基于單片機智能病床呼叫系統設計

**單片機設計介紹,基于單片機智能病床呼叫系統設計 文章目錄 一 概要二、功能設計設計思路 三、 軟件設計原理圖 五、 程序六、 文章目錄 一 概要 基于單片機的智能病床呼叫系統是一種利用單片機技術設計的醫療設備,它能夠幫助病人在住院期間快速、方便…