Print

【MVS】kingbase 完全恢复

7小时前 发表

配置步骤

一、模拟数据灾难

--1、正常关闭数据库。

--2、删除主数据目录下的所有文件。

--3、尝试启动数据库(失败)。

$ sys_ctl stop

$ rm -rf /KingbaseES/V9/data/*

$ rm -rf /KingbaseES/V9/data/.*

[kingbase@kesv9 V9]$ sys_ctl start

sys_ctl: directory "/KingbaseES/V9/data" is not a database cluster directory

二、执行完全恢复

--1、执行恢复。

注意:默认从最新备份中进行全库恢复。

 

$ sys_rman --cOnfig=/backup/rman/sys_rman.conf --stanza=kingbase restore

 

部分日志:

[kingbase@kesv9 rman]$ sys_rman --cOnfig=/backup/rman/sys_rman.conf --stanza=kingbase restore

2025-04-18 17:00:47.389 P00   INFO: restore command begin 2.27: --band-width=0 --cOnfig=/backup/rman/sys_rman.conf --exec-id=25927-b4cb9535 --kb1-path=/KingbaseES/V9/data --link-all --log-level-cOnsole=info --log-level-file=info --log-path=/KingbaseES/V9/Server/log --log-subprocess --non-archived-space=1024 --process-max=4 --repo1-path=/backup/rman --stanza=kingbase

2025-04-18 17:00:47.426 P00   INFO: repo1: restore backup set 20250418-155617F_20250418-163143I, recovery will start at 2025-04-18 16:31:43

 

查看系统备份集:

[kingbase@kesv9 kingbase]$ ll /backup/rman/backup/kingbase/

total 8

drwxr-x--- 3 kingbase kingbase   72 Apr 18 15:17 20250418-151727F

drwxr-x--- 3 kingbase kingbase   72 Apr 18 15:56 20250418-155617F

drwxr-x--- 3 kingbase kingbase   72 Apr 18 16:25 20250418-155617F_20250418-162516D

drwxr-x--- 3 kingbase kingbase   72 Apr 18 16:31 20250418-155617F_20250418-163143I

drwxr-x--- 3 kingbase kingbase   18 Apr 18 15:17 backup.history

-rw-r----- 1 kingbase kingbase 3197 Apr 18 16:31 backup.info

-rw-r----- 1 kingbase kingbase 3197 Apr 18 16:31 backup.info.copy

lrwxrwxrwx 1 kingbase kingbase   33 Apr 18 16:31 latest -> 20250418-155617F_20250418-163143I

 

--2、启动实例。

$ sys_ctl start -D /data

 

三、恢复结果验证

--1、使用system用户登录test数据库。

--2、查看表t01和t02(数据都恢复成功)。

$ ksql -Usystem -dtest

test=# select * from t01;

 id | name

----+------

  1 | abc

  2 | def

(2 rows)

 

test=# select * from t02;

 id | name

----+------

  1 | xyz

  2 | opq

(2 rows)

 

注意:恢复整个集簇后时间线会发生变化,建议立即做一次全量物理备份。