HGDB數(shù)據(jù)庫備份和恢復(fù)+-+瀚高+-+徐云鶴_第1頁
HGDB數(shù)據(jù)庫備份和恢復(fù)+-+瀚高+-+徐云鶴_第2頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、瀚高數(shù)據(jù)庫備份和恢復(fù)徐云鶴PART 01WAL日志及歸檔日志什么是WALWAL全稱是Write Ahead Log,是瀚高數(shù)據(jù)庫的在線重做日志W(wǎng)AL是一種保證數(shù)據(jù)完整性的標(biāo)準(zhǔn)方法數(shù)據(jù)文件的改變必須先寫入日志,即日志記錄刷新到磁盤之后,才能被寫入數(shù)據(jù)文件遵循這個(gè)過程,不需要在每個(gè)事務(wù)提交時(shí)都刷新數(shù)據(jù)頁到數(shù)據(jù)文件任何沒有應(yīng)用到數(shù)據(jù)頁上的改動(dòng)都可以根據(jù)日志記錄重做存儲在$PGDATA/pg_wal中,類似于00000001000000010000001A的文件存儲歸檔日志l 歸檔日志是WAL日志的完整拷貝。l 當(dāng)如下任意條件發(fā)生后,會觸發(fā)歸檔操作產(chǎn)生歸檔日志:手動(dòng)強(qiáng)制切換 select pg_swi

2、tch_wal();wal日志寫滿后參數(shù)archive_timeoutPART 02配置歸檔日志模式配置歸檔日志模式修改參數(shù)后需要重啟數(shù)據(jù)庫服務(wù)生效開啟歸檔模式涉及到三個(gè)參數(shù)-開啟歸檔highgo# alter system set wal_level = replica;highgo# alter system set archive_mode = on;-紅色字體部分為歸檔存放路徑highgo# alter system set archive_command = test ! -f /hgdbbak/archive/%f & cp %p /hgdbbak/archive/%f配置

3、歸檔日志模式修改參數(shù)后需要重啟數(shù)據(jù)庫服務(wù)生效關(guān)閉歸檔模式涉及到一個(gè)參數(shù)highgo # alter system set archive_mode = off;配置歸檔日志模式-免重啟小技巧前提:highgo# alter system set wal_level = replica;highgo# alter system set archive_mode = on;highgo# alter system set archive_command = test ! -f /hgdbbak/archive/%f & cp %p /hgdbbak/archive/%f重啟數(shù)據(jù)庫配置歸檔日

4、志模式-免重啟小技巧想產(chǎn)生歸檔日志的時(shí)候:highgo# alter system set archive_command = test ! -f /hgdbbak/archive/%f & cp %p /hgdbbak/archive/%fhighgo# select pg_reload_conf();不想產(chǎn)生歸檔日志的時(shí)候:highgo# alter system set archive_command = test ! -f /hgdbbak/archive/%f | cp %p /hgdbbak/archive/%fhighgo# select pg_reload_conf()

5、;PART 03數(shù)據(jù)庫備份恢復(fù)備份形式物理備份邏輯備份物理備份備份數(shù)據(jù)塊,可借助備份集和歸檔日志恢復(fù)到任意時(shí)間點(diǎn)。 邏輯備份備份數(shù)據(jù),只能恢復(fù)到備份的點(diǎn)。物理備份pg_basebackupcp/rsync/tar冷備HG_RMAN等等pg_basebackuppg_basebackup 是 HighGo Database 提供的一個(gè)方便基礎(chǔ)備份的工具,這個(gè)工具會把整個(gè)數(shù)據(jù)庫實(shí)例的數(shù)據(jù)都拷貝出來,而不只是把實(shí)例中的部分(如某個(gè)數(shù)據(jù)庫或表)單獨(dú)備份出來,該工具使用 replication 協(xié)議連接到數(shù)據(jù)庫實(shí)例上,所以主數(shù)據(jù)庫中的 pg_hba.conf 必須允許 replication 連接。pg

6、_basebackup參數(shù)介紹控制輸出的選項(xiàng): -D, -pgdata=DIRECTORY 接收基礎(chǔ)備份到指定目錄 -F, -format=p|t 輸出格式 (純文本 (缺省值), tar壓縮格式) -r, -max-rate=RATE 傳輸數(shù)據(jù)目錄的最大傳輸速率 (單位 kB/s, 也可以使用后綴k 或 M) -R, -write-recovery-conf 為復(fù)制寫配置文件 -T, -tablespace-mapping=OLDDIR=NEWDIR 將表空間由 OLDDIR 重定位到 NEWDIR -waldir=WALDIR 預(yù)寫日志目錄的位置 -X, -wal-method=none|

7、fetch|stream 按指定的模式包含必需的WAL日志文件 -z, -gzip 對tar文件進(jìn)行壓縮輸出 -Z, -compress=0-9 按指定的壓縮級別進(jìn)行壓縮輸出一般選項(xiàng): -c, -checkpoint=fast|spread 設(shè)置檢查點(diǎn)方式(fast或者spread) -C, -create-slot 創(chuàng)建復(fù)制槽 -l, -label=LABEL 設(shè)置備份標(biāo)簽 -n, -no-clean 出錯(cuò)后不清理 -N, -no-sync 不用等待變化安全的寫入磁盤 -P, -progress 顯示進(jìn)度信息 -S, -slot=SLOTNAME 用于復(fù)制的槽名 -v, -verbose 輸

8、出詳細(xì)的消息 -V, -version 輸出版本信息, 然后退出 -no-slot 防止創(chuàng)建臨時(shí)復(fù)制槽 -no-verify-checksums 不驗(yàn)證校驗(yàn)和 -j, -jobs=NUM 用于備份任務(wù)的并行數(shù)量 -?, -help 顯示幫助, 然后退出聯(lián)接選項(xiàng): -d, -dbname=CONNSTR 連接串 -h, -host=HOSTNAME 數(shù)據(jù)庫服務(wù)器主機(jī)或者是socket目錄 -p, -port=PORT 數(shù)據(jù)庫服務(wù)器端口號 -s, -status-interval=INTERVAL 發(fā)往服務(wù)器的狀態(tài)包的時(shí)間間隔 (以秒計(jì)) -U, -username=NAME 指定連接所需的數(shù)據(jù)庫

9、用戶名 -w, -no-password 禁用輸入密碼的提示 -W, -password 強(qiáng)制提示輸入密碼pg_basebackup常用示例將本地集群中的數(shù)據(jù)庫備份到指定的路徑 /hgdbbak/ 下pg_basebackup -U highgo -D /hgdbbak/將本地集群中的數(shù)據(jù)庫以壓縮格式并行備份,并保存在指定的路徑 /hgdbbak/ 下pg_basebackup -U highgo -D /hgdbbak/ -Ft -z -j 5 -Pcp/rsync/tar以數(shù)據(jù)庫超級用戶身份連接數(shù)據(jù)庫,然后發(fā)出命令: highgo=# select pg_start_backup(labl

10、e); 執(zhí)行備份: 使用任何方便的文件系統(tǒng)工具比如 tar ,rsync 或 cp 等,直接把數(shù)據(jù)目錄復(fù)制到備份位置。這些操作過程中既不需要關(guān)閉數(shù)據(jù)庫,也不需要阻塞數(shù)據(jù)庫的任何操作。 操作完畢后再次以數(shù)據(jù)庫超級用戶身份連接數(shù)據(jù)庫,然后發(fā)出命令結(jié)束備份模式: highgo=# select pg_stop_backup(); 恢復(fù)以上兩種方式的完全恢復(fù):對壓縮格式的備份集進(jìn)行解壓縮。修改解壓縮目錄下postgresql.auto.conf文件,追加如下內(nèi)容:restore_command = cp /hgdbbak/archive/%f %p啟動(dòng)數(shù)據(jù)庫?;謴?fù)以上兩種方式的PITR:對壓縮格式的備

11、份集進(jìn)行解壓縮。修改解壓縮目錄下postgresql.auto.conf文件,追加如下內(nèi)容:restore_command = cp /hgdbbak/archive/%f %precovery_target_time = 2020-10-01 17:50:00 啟動(dòng)數(shù)據(jù)庫。HG_RMANHG_RMAN是瀚高數(shù)據(jù)庫中具有備份集管理功能的備份工具,只需要進(jìn)行簡單的配置,就可以實(shí)現(xiàn)對數(shù)據(jù)庫備份的全面管理。HG_RMAN特點(diǎn)屬性描述1. 最小備份單元基于物理塊備份2. 備份結(jié)果集管理歷史記錄,保留策略,有效性校驗(yàn)等3. 備份模式支持全量、增量及歸檔日志在線備份4. 恢復(fù)模式支持Point-In-Ti

12、me Recovery(PITR)支持完全恢復(fù)支持不完全恢復(fù)數(shù)據(jù)塊修復(fù)5. 獨(dú)有的技術(shù)塊變化跟蹤Block Change Tracking(BCT)技術(shù)塊介質(zhì)修復(fù)Block Media Recovery(BMR)技術(shù)6. 高性能,高存儲利用率備份壓縮,快速完成增量備份獨(dú)有的增量備份機(jī)制,可以有效減少備份的存儲空間占用hg_rman常用示例初始化 hg_rman init.bash_profile:export PGDATA=/highgo/database/6.0.0/dataexport BACKUP_PATH=/ hgdbbak/backuppostgresql.conf:archive_

13、mode = onarchive_command = test ! -f /hgdbbak/archive/%f & cp %p /hgdbbak/archive/%f自動(dòng)在$HGDB_HOME/conf下生成hg_rman.ctl hg_rman.ini文件。hg_rman常用示例全量備份 hg_rman backup -b full查看備份集 hg_rman showhg_rman常用示例增量備份 - hg_rman backup -b incrementalhg_rman常用示例歸檔備份 - hg_rman backup -b archivehg_rman常用示例恢復(fù)-PITR

14、- hg_rman restore -recovery-target-time=2019-02-23 21:22:15hg_rman常用示例在線塊恢復(fù) - hg_rman blockrecover -datafile=1663/13866/16384 -block=0在線 無感冷備份冷備份發(fā)生在數(shù)據(jù)庫已經(jīng)正常關(guān)閉的情況下,當(dāng)正常關(guān)閉時(shí)會提供給我們一個(gè)完整的數(shù)據(jù)庫。pg_ctl stop 或pg_ctl stop -m f不要使用kill -9或pg_ctl stop -m i冷備份是將關(guān)鍵性文件拷貝到另外的位置的一種說法。對于備份數(shù)據(jù)庫信息而言,冷備份一般是最快和最安全的方法。冷備份實(shí)例備份示

15、例:tar -zcvf -f /hgdbbak/dbbak0817.tar.gz $PGDATA恢復(fù)示例:tar -zxvf -f /hgdbbak/dbbak0817.tar.gz -C /hgdata邏輯備份pg_dump(all)copypg_dump(all)pg_dump 用于備份 HighGo Database 數(shù)據(jù)庫,它可以在數(shù)據(jù)庫運(yùn)行時(shí)使用,pg_dump 不會阻塞其他的用戶訪問數(shù)據(jù)庫。轉(zhuǎn)儲的內(nèi)容以腳本或自定義格式歸檔的方式輸出。腳本轉(zhuǎn)儲指包含 SQL 命令的純文本文件,這些 SQL 命令可以用于重建該數(shù)據(jù)庫并將之恢復(fù)到保存成腳本的時(shí)候的狀態(tài)。要從這些腳本中恢復(fù)數(shù)據(jù),需要使用

16、psql 命令。腳本文件可以被用來重建數(shù)據(jù)庫。另一種自定義格式歸檔文件格式必須和 pg_restore 一起使用重建數(shù)據(jù)庫。 pg_dump 支持指定所要備份的對象:可以單獨(dú)備份表、schema 或者 database。pg_dumpall僅支持導(dǎo)出全庫數(shù)據(jù)。此外數(shù)據(jù)庫角色和表空間等公用的全局對象也可以被轉(zhuǎn)儲,轉(zhuǎn)儲的內(nèi)容僅能以腳本的方式輸出。 pg_dump部分參數(shù)介紹一般選項(xiàng): -f, -file=FILENAME 輸出文件或目錄名 -F, -format=c|d|t|p 輸出文件格式 (定制, 目錄, tar 明文 (默認(rèn)值) -j, -jobs=NUM 執(zhí)行多個(gè)并行任務(wù)進(jìn)行備份轉(zhuǎn)儲工作

17、-v, -verbose 詳細(xì)模式 -V, -version 輸出版本信息,然后退出 -Z, -compress=0-9 被壓縮格式的壓縮級別 -lock-wait-timeout=TIMEOUT 在等待表鎖超時(shí)后操作失敗 -?, -help 顯示此幫助, 然后退出控制輸出內(nèi)容選項(xiàng): -a, -data-only 只轉(zhuǎn)儲數(shù)據(jù),不包括模式 -b, -blobs 在轉(zhuǎn)儲中包括大對象 -B, -no-blobs 排除轉(zhuǎn)儲中的大型對象 -c, -clean 在重新創(chuàng)建之前,先清除(刪除)數(shù)據(jù)庫對象 -C, -create 在轉(zhuǎn)儲中包括命令,以便創(chuàng)建數(shù)據(jù)庫 -E, -encoding=ENCODING

18、轉(zhuǎn)儲以ENCODING形式編碼的數(shù)據(jù) -n, -schema=PATTERN dump the specified schema(s) only -N, -exclude-schema=PATTERN do NOT dump the specified schema(s) -O, -no-owner 在明文格式中, 忽略恢復(fù)對象所屬者 -s, -schema-only 只轉(zhuǎn)儲模式, 不包括數(shù)據(jù)-t, -table=PATTERN dump the specified table(s) only -T, -exclude-table=PATTERN do NOT dump the specifi

19、ed table(s) -x, -no-privileges 不要轉(zhuǎn)儲權(quán)限 (grant/revoke) -no-security-labels 不轉(zhuǎn)儲安全標(biāo)簽的分配 -no-tablespaces 不轉(zhuǎn)儲表空間分配信息 -no-unlogged-table-data 不轉(zhuǎn)儲沒有日志的表數(shù)據(jù) -quote-all-identifiers 所有標(biāo)識符加引號,即使不是關(guān)鍵字 -rows-per-insert=NROWS 每個(gè)插入的行數(shù);意味著-inserts聯(lián)接選項(xiàng): -d, -dbname=DBNAME 對數(shù)據(jù)庫 DBNAME備份 -h, -host=主機(jī)名 數(shù)據(jù)庫服務(wù)器的主機(jī)名或套接字目錄 -

20、p, -port=端口號 數(shù)據(jù)庫服務(wù)器的端口號 -U, -username=名字 以指定的數(shù)據(jù)庫用戶聯(lián)接 -w, -no-password 永遠(yuǎn)不提示輸入口令 -W, -password 強(qiáng)制口令提示 (自動(dòng)) -role=ROLENAME 在轉(zhuǎn)儲前運(yùn)行SET ROLEpg_dump常用示例僅導(dǎo)出數(shù)據(jù)庫對象結(jié)構(gòu)pg_dump -U highgo -s -f highgo.sql highgo 備份某個(gè) database(如 mydb),備份結(jié)果以自定義壓縮格式輸出pg_dump -h localhost -p 5866 -U someuser -F c -b -v -f mydb.backup mydb pg_dump常用示例備份某個(gè) database(如 mydb)中 hg 和 hr 這兩個(gè) sc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論