写点什么

YashanDB yasrman 恢复

作者:YashanDB

本文内容来自 YashanDB 官网,原文内容请见 https://doc.yashandb.com/yashandb/23.3/zh/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86/%E5%A4%87%E4%BB%BD%E6%81%A2%E5%A4%8D/yasrman%E5%B7%A5%E5%85%B7%E5%A4%87%E4%BB%BD%E6%81%A2%E5%A4%8D/%E6%81%A2%E5%A4%8D.html

操作说明



  • 执行恢复操作的数据库版本需与生成备份集的数据库版本完全一致。

  • 恢复语法详细说明请参考工具手册yasrman

  • 分布式部署模式下,需要保证待恢复的集群部署状态与备份前节点部署状态一致,包括节点类型、节点监听 IP、节点个数、节点的部署路径。该备份集生成时分布式集群的节点状态可使用 yasrman 工具 LIST 命令查看。

  • 在对分布式集群执行恢复前,请使用 yasboot 工具清理环境并重启分布式节点到 NOMOUNT 状态,示例如下:


    $ yasboot cluster clean -c yashan --restore --with-arch --force
复制代码


全量恢复



示例




$ yasrman sys/sys@127.0.0.1:1688 -c "RESTORE DATABASE FROM TAG 'incr_2'" -D /home/yashan/catalog

$ yasrman sys/sys@127.0.0.1:1688 -c "RESTORE CLUSTER FROM TAG 'incr_2'" -D /home/yashan/catalog
复制代码


本示例执行全量恢复,属于完全恢复,其中 redo 回放和备库 build 等操作都集成在该命令内部。成功后 CN/DN/MN 所有节点都将处于 OPEN 状态。相比使用 SQL 命令的恢复操作,使用 yasrman 工具少执行了 recover 和 open 的语句操作。


恢复备份集的并发度默认设置为 2,当备份集数据量大或希望提升恢复效率时,可酌情加大并发度,该值最大可设置为 8。


如果备份集是加密生成的备份集,在恢复时还需要指定解密密码。



$ yasrman sys/sys@127.0.0.1:1688 -c "RESTORE DATABASE FROM TAG 'full_encryption' DECRYPTION yas2022 " -D /home/yashan/catalog

$ yasrman sys/sys@127.0.0.1:1688 -c "RESTORE CLUSTER FROM TAG 'full_encryption' DECRYPTION yas2022 " -D /home/yashan/catalog
复制代码


本示例中,在对加密的备份集恢复时需要指定 DECRYPTION 关键字,并指定与加密时一致的密码,才能成功解密和恢复。

常见问题



  • 若 $YASDB_DATA/dbfiles 目录下存在数据库文件,执行恢复将触发 YAS-00311 错误。

  • 恢复任务的并行度取值范围为[1,8]整数,否则将触发 YAS-04204 错误。

  • 恢复时指定的 catalog 文件,必须和备份时指定的为同一个文件,否则会触发 YAS-02519 错误。


Note

$YASDB_DATA/archive 为存储归档文件的默认目录,若要执行 PITR 恢复操作,需保留该目录下的归档文件,以保证 PITR 恢复操作正常恢复。若要执行全量恢复且仅恢复备份集中的内容,则需要清空归档目录下的文件,否则执行 RECOVER 操作可能回放残留归档文件中的数据,导致实际恢复出的数据与备份集中的不一致。

发布于: 刚刚阅读数: 6
用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB yasrman恢复_数据库_YashanDB_InfoQ写作社区