KingbaseES V8R6备份恢复系列之 -- system-Id不匹配备份故障

发布时间 2023-05-09 19:41:51作者: KINGBASE研究院

​ KingbaseES V8R6备份恢复案例之---system-Id不匹配备份故障

案例说明:
在KingbaseES V8R6执行备份时,在sys_log日志中出现system-id不一致的故障并伴随有归档失败,故障如下图所示:

适用版本:
KingbaseES V8R6

一、问题分析
1、查看当前数据库system-id

可以通过sys_controldata -D data,查看当前数据库system-id。system-id在初始化实例时自动分配,每个实例是唯一的(对于流复制集群,主库和备库是一致的)。

2、查看数据库repo-path下的system-id

1)查看备份repo-path

2)查看备份信息记录文件

Tips:在执行备份后,将在*.info文件记录相关的备份信息。

[kingbase@node101 kbbr2_repo]$ find ./ -name *.info
./archive/kingbase/archive.info
./backup/kingbase/backup.info

3)在repo-path下读取备份信息

[kingbase@node101 kingbase]$ pwd
/home/kingbase/kbbr2_repo/backup/kingbase
[kingbase@node101 kingbase]$ cat backup.info|grep -i system-id
db-system-id=7080367334319169673
1={"db-catalog-version":202112261,"db-control-version":1201,"db-page-size":32768,"db-segment-size":1073741824,"db-system-id":7080367334319169673,"db-version":"12","db-wal-segment-size":16777216}

如下图所示,备份实例的system-id:

---如上所示,必须保证当前数据库实例和repo-path下的文件所记录的system-id一致,才能使用指定的repo-path备份目录。

二、问题解决
1、查看当前实例的system-id

2、查看数据库repo-path记录system-id

---如上所示,当前数据库实例system-id和repo-path记录的system-id不一致。

3、将原repo-path存储目录改名后,重新初始化(sys_backup.sh init)。

三、总结
在执行sys_backup.sh init后,会初始化生成repo-path备份目录,并生成记录备份信息的文件*.info,在info文件中记录了system-id;如果其他的实例使用已有的repo-path,就会出现system-id不一致的故障。