KingbaseES R6 单节点数据库异机恢复案例
数据库运行硬件或系统环境如果发生了不可恢复的故障,这时只能采用异机恢复的方式恢复数据库。以下通过例子介绍异机恢复的过程。
一、硬件环境
192.168.237.101 | 数据库运行源主机 |
192.168.237.102 | 数据库恢复目标机(异机) |
192.168.237.103 | 数据库备份所在主机 REPO_DB |
二、初始化备份环境
在 103 主机配置 sys_backup.conf ,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | # target db style enum: single/cluster _target_db_style= "single" # one kingbase node IP # just provide one IP, script will use 'repmgr cluster show' get other node IP _one_db_ip= "192.168.237.101" # local repo IP, inner -REPO, must be same as one_db_ip, means repo located in one db node # outer repo IP, outer -REPO, means repo located in outer node _repo_ip= "192.168.237.103" # label of this cluster _stanza_name= "kingbase" # OS user name of database _os_user_name= "c5" # !!!! dir to store the backup files # should be accessable for the OS user _repo_path= "/home/c5/bak" # count of keep, over the count FULL -backup will be remove _repo_retention_full_count=5 # count of days, interval to do FULL -backup _crond_full_days=7 # count of days, interval to do DIFF-backup _crond_diff_days=0 # count of days, interval to do INCR-backup _crond_incr_days=1 # HOUR to do the FULL -backup _crond_full_hour=2 # HOUR to do the DIFF-backup _crond_diff_hour=3 # HOUR to do the INCR-backup _crond_incr_hour=4 # OS cmd define _os_ip_cmd= "/sbin/ip" _os_rm_cmd= "/bin/rm" _os_sed_cmd= "/bin/sed" _os_grep_cmd= "/bin/grep" # !!! these follow 4 parameter ONLY for single style # data dir of single _single_data_dir= "/home/c5/ES/V8/data" # bin dir of single _single_bin_dir= "/home/c5/ES/V8/Server/bin" # database user of single _single_db_user= "system" # database port of single _single_db_port= "54321" |
运行 sys_backup.sh init , 验证数据库备份正常。
三、进行异机恢复
这里模拟101 环境宕机的情况。
1、ssh 互信配置
需要配置新的数据库主机 (102) 与备份主机 (103) 间的互信关系。因为数据库恢复时,需要从远程拷贝文件,需要配置相互间免密登录。
2、修改 REPO_IP 103 主机的 sys_rman.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [c5@nn03 bak]$ cat sys_rman.conf # Genarate by script at 20220114162108, should not change manually [kingbase] kb1-path=/home/c5/ES/V8/data --新数据库主机数据目录 kb1-port=54321 kb1- user =system kb1-host=192.168.237.102 --新数据库主机 kb1-host- user =c5 [ global ] repo1-path=/home/c5/bak repo1-retention- full =5 log-path=/home/c5/ES/V8/Server/log log- level -file=info log- level -console=info log-subprocess=y process- max =4 #### default gz, support: gz none compress-type=gz compress- level =3 |
3、102 主机配置备份目录
创建目录:/home/c5/bak
创建 sys_rman.conf 文件
这个文件可以从原主机(101)拷贝,也可以从 备份主机拷贝,再进行修改
1 2 3 4 5 6 7 8 9 10 11 12 | [c5@nn02 bak]$ cat sys_rman.conf # Genarate by script at 20220114162109, should not change manually [kingbase] kb1-path=/home/c5/ES/V8/data --目标数据库路径 [ global ] repo1-host=192.168.237.103 --REPO数据库所在主机 repo1-host- user =c5 repo1-host-config=/home/c5/bak/sys_rman.conf repo1-path=/home/c5/bak log-path=/home/c5/ES/V8/Server/log log- level -file=info log- level -console=info |
4、在新数据库主机进行恢复
在102 主机进行恢复:
1 | [c5@nn02 ~]$ sys_rman --config=/home/c5/bak/sys_rman.conf --stanza=kingbase --log-path=/tmp restore |
5、验证恢复准确性
KINGBASE研究院
分类:
备份恢复
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!