还原 ¶
还原操作说明:
还原动作,只能在数据库节点上进行。
还原完成后,数据库启动后,请及时手动清除kingbase.auto.conf文件中还原过程写入的相关还原参数。
若是集群环境,还原后的数据库节点将成为集群的新主节点,利用该节点重做备库,参考 《 金仓数据守护集群和读写分离集群使用手册 》;集群完整启动后,可选择新的主节点。
还原时,需要确保kingbase进程已经停止。
还原时,KB_DATA目录下如果还有文件存在,需要--delta选项进行选择性还原。
还原时,KB_DATA目录下如果没有文件存在,以下的还原方式均可使用。
还原命令格式:
/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman --config=<配置文件> --stanza=<名称> --<还原选项> restore
1. 测试性质的还原 ¶
还原恢复之后,新产生的WAL文件会继续归档到REPO存储目录中,将改变原有的备份集。
进行测试性质的还原:指定新的DATA目录和临时禁止归档WAL文件
/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase --kb1-path=/new_path/data --archive-mode=off restore
2. 基于最新备份的还原 ¶
默认还原,将最新的备份集还原到数据库实例的data目录下。
/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase restore
3. 指定备份集还原 ¶
不指定时间,工具将隐式地指定时间为备份集结束时间的后一秒。
/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman--config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase --set='20200519-031336F' restore
指定时间,工具将验证指定时间是否晚于备份集结束时间;如否,报错退出。
/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman--config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase--set='20200519-031336F' --type=time --target='2020-05-19 16:28:17' restore
备份节点名的查看,请参考 附录B:sys_rman.conf配置说明 ;--delta选项可选,用于KB_DATA目录存在文件时;
4. 指定事务ID还原 ¶
使用指定的xid还原到特定状态,必须同时指定该xid之前的备份集,才能够恢复到该xid。
/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman--config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase--type=xid --target='445566' --set='20210611-011416F_20210611-023050I' restore
--delta选项可选,用于KB_DATA目录存在文件时
--target-exclusive选项可选,用于表示是否排除等于指定xid的内容。
注意
如果出现如下提示,说明当前的选项有误。
ERROR: [032]: Current options maybe restore to newest data fromarchive WAL filesPlease specify --type=xid --target='xx'--set='2021xxxx-xxxxxxX_2021xxxx-xxxxxxX' or follow the user guideStop current restore.
5. 指定时间点还原 ¶
/home/kingbase/cluster/project/cluster/kingbase/bin/sys_rman--config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase --type=time --target='2020-05-07 16:28:17' restore
使用指定的时间点还原到特定状态
--delta选项可选,用于KB_DATA目录存在文件时
--target-exclusive选项可选,用于表示是否排除等于指定时间的内容。
--target-action=pause 默认选项,恢复完成后,数据库启动后进入只读状态
--target-action=promote 恢复完成后,switch timeline,数据库启动后进入读写状态
--target-action=shutdown 恢复完成后,关闭数据库