<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      KingbaseES 備份恢復工具:sys_dump 與 sys_restore

      KingbaseES(金倉數據庫)作為國產數據庫的主流產品,在 V8R6 版本中內置了 sys_dump(備份工具)和 sys_restore(恢復工具),用于實現數據庫的可靠備份與精準恢復。這兩個工具支持多種備份格式,可適配不同場景(如跨庫遷移、日常備份、應急恢復),且能在數據庫并發使用時生成一致備份,是 KingbaseES 運維的核心工具。本文將從工具定位、命令解析、實戰示例到注意事項,全面講解其使用方法。

      一、工具核心定位與基礎原則

      在開始實操前,需先明確兩個工具的核心作用與使用前提,避免運維風險。

      1. 工具定位

      • sys_dump:僅針對單個數據庫進行備份,將數據庫內容導出為 “腳本文件” 或 “歸檔文件”。支持在數據庫運行中備份(無需關閉服務),但會讀取數據庫快照,確保數據一致性。
      • sys_restore:僅用于恢復 sys_dump 生成的歸檔文件(非腳本文件),支持靈活選擇恢復內容(如僅恢復數據、僅恢復表結構),是歸檔格式備份的專屬恢復工具。
      • 補充說明:若需備份 “數據庫集群全局對象”(如角色、表空間),需使用 sys_dumpall 工具,而非 sys_dump

      2. 基礎使用原則

      • 業務低峰操作:盡管 sys_dump 支持并發備份,但仍會占用磁盤 I/O 和數據庫資源,建議在業務停止或低峰期執行,避免影響線上性能。
      • 格式匹配:腳本文件(plain 格式)無需 sys_restore,可直接通過 ksql 導入;歸檔格式(custom/directory/tar)必須用 sys_restore 恢復,二者不可混用。
      • 編碼一致性:備份時指定的字符編碼(如 UTF-8),恢復時需保持一致,否則可能出現亂碼。

      二、備份工具 sys_dump:命令解析與實戰示例

      sys_dump 的核心是通過參數控制 “備份范圍、輸出格式、數據編碼”,其命令格式簡潔但參數靈活,需根據場景選擇合適配置。

      1. 核心命令格式與參數

      (1)命令格式

      sys_dump [連接參數...] [選項...] [數據庫名]
      
       
      • 連接參數:如 -U 用戶名(指定登錄用戶)、-h 主機地址(遠程連接時使用)、-p 端口(默認 54321,KingbaseES 默認端口)。
      • 選項:控制備份行為的核心參數,常用選項如下表:

      (2)關鍵選項解析

      選項簡寫作用說明適用場景
      --format=format -F 指定備份格式,支持 4 種類型:
       
      p(plain):純文本 SQL 腳本(默認)
       
      c(custom):自定義歸檔(默認壓縮,支持靈活恢復)
       
      d(directory):目錄歸檔(支持并行備份,默認壓縮)
       
      t(tar):tar 歸檔(不壓縮,適合歸檔到磁帶)
      日常備份選 c/d;跨庫遷移選 p;磁帶存儲選 t
      --file=file -f 指定備份文件 / 目錄路徑(如 -f /backup/test.dump 所有場景,避免備份文件散落在默認路徑
      --data-only -a 僅備份數據,不備份 “模式”(表結構、索引、函數等) 僅需恢復數據,表結構已存在的場景
      --schema-only -s 僅備份模式(數據定義),不備份數據 表結構遷移、環境初始化場景
      --clean -c 在備份腳本中添加 “刪除舊對象” 命令(如 DROP TABLE 恢復時需覆蓋舊數據,避免對象沖突
      --create -C 在備份腳本開頭添加 “創建數據庫” 命令 跨實例遷移,目標端無對應數據庫時
      --encoding=encoding -E 指定備份文件的字符編碼(如 utf-8 多環境編碼不一致,需統一編碼時
      --column-inserts - 將數據導出為 “帶列名的 INSERT 語句”(如 INSERT INTO t (id,name) VALUES (...) 跨數據庫遷移(如導入非 KingbaseES 數據庫)
      --rows-per-insert=n - 控制每條 INSERT 語句的行數(如 --rows-per-insert=5 表示每 5 行一條語句) 避免單條 INSERT 語句過大,減少恢復時鎖等待

      2. 實戰示例:不同場景的備份操作

      根據 “備份目的” 選擇不同格式與參數,以下是 4 類典型場景的實操命令與效果說明。

      場景 1:日常全量備份(自定義歸檔格式)

      需求:備份 test1 數據庫,要求壓縮存儲、支持后續靈活恢復(如僅恢復某張表)。
       
      命令
       
      # -Fc:自定義歸檔格式(默認壓縮);-E utf-8:指定編碼;-U system:使用 system 用戶登錄
      sys_dump -Fc -E utf-8 -U system -f /home/kingbase/backup/test1_custom.dump test1
      
       
       
      執行效果
       
      • 生成單個壓縮歸檔文件 test1_custom.dump,體積小、便于傳輸;
      • 后續可通過 sys_restore 選擇恢復內容(如僅恢復數據、僅恢復索引)。

      場景 2:大數據庫并行備份(目錄歸檔格式)

      需求:備份超大規模 test1 數據庫(如 100GB),需加快備份速度,支持并行處理。
       
      命令
      # -Fd:目錄歸檔格式(自動分文件存儲,支持并行);-f 指定輸出目錄(需不存在)
      sys_dump -Fd -E utf-8 -U system -f /home/kingbase/backup/test1_dir test1
      
       
       
      執行效果
       
      • 生成 test1_dir 目錄,內部包含多個壓縮數據文件(如 5664.dat.gz)和索引文件 toc.dat(記錄歸檔內容);
      • 可通過 --jobs=N 參數指定并行備份線程數(如 --jobs=4 用 4 線程備份),大幅提升大庫備份效率。

      場景 3:跨數據庫遷移(腳本格式)

      需求:將 test1 數據庫遷移到非 KingbaseES 數據庫(如 PostgreSQL),需導出為通用 SQL 腳本。
       
      命令
       
      # -Fp:腳本格式;-c -C:含刪除舊對象、創建數據庫命令;--column-inserts:帶列名的 INSERT
      sys_dump -Fp -c -C -E utf-8 --column-inserts --rows-per-insert=5 -U system -f /home/kingbase/backup/test1_sql.sql test1
      
       
       
      執行效果
       
      • 生成純文本 SQL 文件 test1_sql.sql,內容包含 “創建數據庫→刪除舊表→創建表結構→插入數據” 全流程;
      • 數據插入語句為通用格式(如 INSERT INTO bigtable (id,name) VALUES (1,'name1'), (2,'name2')),可直接在其他 SQL 數據庫中執行。

      場景 4:僅備份表結構(腳本格式)

      需求:為開發環境初始化 test1 數據庫表結構,無需備份業務數據。
       
      命令
      # -s:僅備份模式(表結構、索引、函數等);-Fp:腳本格式
      sys_dump -Fp -s -U system -f /home/kingbase/backup/test1_schema.sql test1
      
       
       
      執行效果
       
      • 腳本文件僅包含 CREATE TABLECREATE INDEX 等結構定義語句,無任何 INSERT 數據語句,體積小、便于傳輸。

      三、恢復工具 sys_restore:命令解析與實戰示例

      sys_restore 是歸檔格式備份的 “專屬恢復工具”,支持靈活篩選恢復內容,核心優勢是 “可選擇性恢復”(如僅恢復某張表、僅恢復數據)。

      1. 核心命令格式與參數

      (1)命令格式

      sys_restore [連接參數...] [選項...] [歸檔文件/目錄]
      
       
       
      • 歸檔文件 / 目錄:若為 custom/tar 格式,指定文件路徑;若為 directory 格式,指定目錄路徑。
      • 關鍵選項:與 sys_dump 部分選項功能一致,但新增 “恢復控制” 相關參數,如下表:

      (2)關鍵選項解析

      選項簡寫作用說明適用場景
      --format=format -F 指定歸檔格式(需與備份格式一致):
       
      c(custom)、d(directory)、t(tar)
      必須與備份格式匹配,否則無法識別
      --dbname=dbname -d 指定恢復目標數據庫(需提前創建,且為 “干凈數據庫”) 所有恢復場景,是核心參數
      --clean -c 恢復前先刪除目標數據庫中同名對象(如表、索引) 覆蓋恢復,避免 “對象已存在” 報錯
      --create -C 恢復前自動創建目標數據庫(無需提前建庫) 目標端無對應數據庫時
      --data-only -a 僅恢復數據,不恢復表結構 表結構已存在,僅需補全數據
      --schema-only -s 僅恢復表結構,不恢復數據 重建表結構,無需業務數據
      --list -l 列出歸檔文件中的所有內容(如表名、索引名) 恢復前確認歸檔包含的對象,避免漏恢復
      --file=filename -f 將歸檔內容解析為 SQL 腳本(不直接恢復到數據庫) 需修改恢復腳本后再執行(如調整表名)

      2. 實戰示例:不同場景的恢復操作

      恢復操作需 “先匹配備份格式,再明確恢復目標”,以下示例對應 sys_dump 的 3 類歸檔格式。

      場景 1:恢復自定義歸檔(custom 格式)

      需求:將 test1_custom.dump(custom 格式)恢復到 test1 數據庫,覆蓋舊數據。
       
      前提:提前創建干凈的目標數據庫(用 template0 模板,避免繼承多余對象):
       
      -- 在 KingbaseES 中執行,創建空數據庫
      CREATE DATABASE test1 WITH TEMPLATE = template0 ENCODING = 'UTF8';
      
       
       
      恢復命令
      # -Fc:指定 custom 格式;-c:恢復前刪除舊對象;-d test1:恢復到 test1 數據庫
      sys_restore -Fc -c -U system -d test1 /home/kingbase/backup/test1_custom.dump
      
       

      場景 2:恢復目錄歸檔(directory 格式)

      需求:將 test1_dir(directory 格式)僅恢復 “數據”,不恢復表結構(表結構已提前創建)。
       
      恢復命令
       
      # -Fd:指定 directory 格式;-a:僅恢復數據;-d test1:目標數據庫
      sys_restore -Fd -a -U system -d test1 /home/kingbase/backup/test1_dir
      
       

      場景 3:解析歸檔為 SQL 腳本(非直接恢復)

      需求:查看 test1_custom.dump 的恢復內容,并導出為 SQL 腳本,修改后再執行恢復。
       
      命令
      # -f:將歸檔解析為 SQL 腳本;不指定 -d,避免直接恢復到數據庫
      sys_restore -Fc -U system -f /home/kingbase/backup/restore_sql.sql /home/kingbase/backup/test1_custom.dump
      
       
       
      執行效果
       
      • 生成 restore_sql.sql 腳本,包含完整的恢復語句;
      • 可手動修改腳本(如刪除某張表的恢復語句),再通過 ksql 執行:
         
        ksql -U system -d test1 -f /home/kingbase/backup/restore_sql.sql
        
         
         

      場景 4:查看歸檔內容(避免恢復遺漏)

      需求:恢復前確認 test1_dir 歸檔是否包含 bigtable 表,避免漏恢復關鍵表。
       
      命令
       
      # -l:列出歸檔中的所有對象,輸出到控制臺
      sys_restore -Fd -l /home/kingbase/backup/test1_dir
      
       
       
      輸出示例
      1; 2615 16384 TABLE public bigtable system
      2; 2615 16386 INDEX public bigtable_id_idx system
      3; 2615 16388 SEQUENCE public bigtable_id_seq system
      
       
       
      • 可通過關鍵字篩選(如 sys_restore -Fd -l /home/kingbase/backup/test1_dir | grep bigtable),快速確認目標表是否存在。

      四、關鍵注意事項與運維建議

      為確保備份恢復的可靠性,需關注以下細節,避免出現數據丟失或恢復失敗。

      1. 備份前準備

      • 檢查磁盤空間:備份前通過 df -h 確認目標磁盤剩余空間,建議預留 “數據庫大小 1.5 倍” 的空間(尤其是未壓縮的 tar 格式)。
      • 驗證用戶權限sys_dump 需要 “數據庫讀取權限”(如 SELECT 權限),sys_restore 需要 “數據庫寫入權限”(如 CREATEDROP 權限),建議使用 system 超級用戶執行,避免權限不足。

      2. 備份后驗證

      • 歸檔完整性檢查:對 directory 格式,確認目錄下 toc.dat 文件存在且非空;對 custom/tar 格式,通過 sys_restore -l 驗證是否能正常讀取內容。
      • 恢復測試:定期將備份文件恢復到測試環境,驗證數據完整性(如比對表行數、關鍵字段值),避免備份文件損壞卻未發現。

      3. 格式選擇建議

      不同備份格式適配不同場景,選擇時可參考下表:
       
      格式壓縮并行備份靈活恢復跨庫遷移適用場景
      plain(腳本) 不支持 不支持(需全量執行) 支持 跨數據庫遷移、簡單環境備份
      custom(自定義) 默認壓縮 不支持 支持(選表、選數據) 不支持 日常全量備份、應急恢復
      directory(目錄) 默認壓縮 支持 支持 不支持 大數據庫備份(10GB+)、并行恢復
      tar(歸檔) 不支持 有限支持 不支持 磁帶存儲、簡單歸檔備份

      總結

      sys_dump 與 sys_restore 是 KingbaseES 運維的 “黃金組合”:sys_dump 負責 “按需備份”(腳本 / 歸檔、全量 / 增量、數據 / 結構),sys_restore 負責 “精準恢復”(選對象、選內容、解析腳本)。掌握這兩個工具的核心在于 “理解格式差異”—— 腳本格式適合跨庫遷移,歸檔格式適合日常備份與靈活恢復,且需在業務低峰操作、定期驗證備份有效性,才能確保數據庫數據的安全性與可恢復性。

      posted on 2025-10-20 09:25  數據庫那些事兒  閱讀(58)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 国产亚洲精品久久久久久大师| 中文字幕av一区二区| 国产三级黄色片在线观看| 国产乱沈阳女人高潮乱叫老| 青草99在线免费观看| 久久亚洲国产成人精品性色| 正在播放肥臀熟妇在线视频| 亚洲av无码乱码在线观看野外| 天天躁日日躁狠狠躁性色avq| 国产成人午夜福利精品| 大伊香蕉精品一区视频在线| 国产精品无遮挡又爽又黄| 另类 专区 欧美 制服| 亚洲成av人片天堂网无码| 亚洲老熟女一区二区三区| 亚洲尤码不卡av麻豆| 中文字幕在线无码一区二区三区| 国产互换人妻xxxx69| 亚洲一区久久蜜臀av| 色综合久久一区二区三区| 中文字幕色偷偷人妻久久| 日韩高清国产中文字幕| 紫阳县| 自拍偷亚洲产在线观看| 潮喷失禁大喷水无码| 康定县| 成人嫩草研究院久久久精品| 日夜啪啪一区二区三区| 白嫩少妇激情无码| 日韩精品一区二区三区在| 亚洲av无码精品色午夜蛋壳| 国产成人无码一二三区视频| 国产色a在线观看| 久久伊99综合婷婷久久伊| 高清不卡一区二区三区| 庆元县| 日区中文字幕一区二区| 99国精品午夜福利视频不卡99| 成人免费无遮挡无码黄漫视频| 欧美国产亚洲日韩在线二区| 欧美激情一区二区三区成人 |