ITPub博客

首页 > 数据库 > 国内数据库 > YashanDB 备份恢复的两种渠道 原创 YashanDB 工作日志 刚刚 阅读数 0 管理

YashanDB 备份恢复的两种渠道 原创 YashanDB 工作日志 刚刚 阅读数 0 管理

原创 国内数据库 作者:崖山数据库系统YashanDB 时间:2025-01-17 18:29:09 0 删除 编辑

本文内容来自 YashanDB 官网,原文内容请见  https:///newsinfo/7106884.html?templateId=1718516

背景:通过备份恢复完成 yasdb 到 yasdb 的数据迁移,环境分为 A 环境(ip:127.0.0.1)与 B 环境(ip:127.0.0.2),数据从 A 环境迁移到 B 环境。

方式有两种,一是 yasql 命令行,二是通过 yasrman 工具

yasq l 命令行备份恢复

A 环境备份

1、进入 A 环境并登录 yashanA 用户

2、检查数据库是否处于归档模式

yasql / as sysdbaselect log\_mode from V$database; (ARCHIVELOG表示为归档模式,NOARCHIVELOG表示非归档模式)

复制代码

● 若数据库未处于归档模式则按下面步骤打开数据库归档(打开数据库归档需要停库,请在无运行业务时完成切换)

shutdown immediate;
exit;
yasboot cluster start -c yashandb -m mountyasql / as sysdbaalter database archivelog;(将数据库设置为归档模式)select log\_mode from V$database;(检查是否归档模式是否设置成功)alter database open;(设置成功后打开数据库)

复制代码

3、登录 yasdb 数据库,并执行数据库备份命令(备份路径根据可根据实际情况自定义,TAG 参数不能与之前其它备份的 TAG 重复)

BACKUP DATABASE FULL FORMAT '/data/yashan/backup/full\_20240118' TAG 'FULL\_20240118' PARALLELISM 4;

复制代码

4、将备份好的数据文件放置到 B 环境所在机器上

恢复

1、进入 B 环境并登录 yashanB 用户

2、登录生产环境数据库并执行停库操作(执行数据库恢复需要停库并移除数据库文件,请在无运行业务时完成切换)

yasql / as sysdbashutdown immediate;exit;

复制代码

3、移除 B 环境 $YASDB_DATA/dbfiles 目录下的文件到其他目录(迁移路径可自行定义)

cd $YASDB\_DATAmv ./dbfiles /home/yashanB/dbfiles1mkdir dbfiles

复制代码

4、以 nomount 模式启动 yasdb,并登录数据库

yasboot cluster start -c yashandb -m nomount
yasql / as sysdba

复制代码

5、若 yasdb 在 A 环境与 B 环境的安装路径不一致,在 B 环境上恢复数据库时,需要在数据库配置文件 yasdb.ini 中添加参数来修改数据库恢复路径(如果恢复路径一致可忽略步骤 5)

vi $YASDB\_DATA/config/yasdb.ini

复制代码

● 在文件末尾添加以下参数:(前面为 A 环境的 YASDBDATA 路径,后面为 B 环境 YASDB_DATA 路径)

DB\_FILE\_NAME\_CONVERT='/home/yashanA/yasdb\_data/db-1-1','/home/yashanB/yasdb\_data/db-1-1'REDO\_FILE\_NAME\_CONVERT='/home/yashanA/yasdb\_data/db-1-1','/home/yashanB/yasdb\_data/db-1-1'DB\_BUCKET\_NAME\_CONVERT='/home/yashanA/yasdb\_data/db-1-1','/home/yashanB/yasdb\_data/db-1-1'

复制代码

6、执行数据库恢复命令(路径为 B 环境上存放的备份数据路径)

RESTORE DATABASE FROM '/home/yashanB/backup\_from\_test/full\_20240118';
recover database;

复制代码

7、B 环境数据库恢复完成后,将 yasdb 从 nomount 模式启动到 open 状态

8、检查 B 环境恢复的数据库,没问题后删除步骤 3 中 B 环境旧的 dbfiles 目录

rm -rf /home/yashanB/dbfiles1

复制代码

yasrma n 工具备份恢复

yasrman 主要功能:

● 支持本地备份恢复,yasrman 可代替基于 SQL 的备份恢复命令,连接数据库并在数据库侧生成备份集,或恢复数据库侧的备份集。备份集默认存储在 $YASDB_DATA/backup 文件夹下

● 支持远程备份恢复,yasrman 可以远程连接数据库,在工具侧生成备份集,或者恢复工具侧的备份集到远程数据库。备份集默认存储在 catalog/backup 文件夹下

● 支持分布式集群的本地备份恢复,yasrman 可以连接分布式集群里的所有节点,同时进行备份和恢复,并保证分布式事务的一致性。

● 支持备份集查询,删除,参数配置。

● 支持 XBSA 协议流式备份恢复接口,可对接第三方备份软件。

异地备份

(需使 用 yasrma n 远程备份功能, 将 A  环境数据远程备份到  B 环境。)

1、进入 A 环境并登录 yashanA 用户

2、检查数据库是否处于归档模式

yasql / as sysdbaselect log\_mode from V$database; (ARCHIVELOG表示为归档模式,NOARCHIVELOG表示非归档模式)

复制代码

● 若数据库未处于归档模式则按下面步骤打开数据库归档(打开数据库归档需要停库,请在无运行业务时完成切换)

shutdown immediate;
exit;
yasboot cluster start -c yashandb -m mountyasql / as sysdbaalter database archivelog;(将数据库设置为归档模式)select log\_mode from V$database;(检查是否归档模式是否设置成功)alter database open;(设置成功后打开数据库)

复制代码

3、进入 B 环境并登录 yashanB 用户

4、用 yasrman 创建 catalog 目录

yasrman sys/yasdb\_123@127.0.0.2:1688 -c "create catalog" -D /home/yashanB/catalog

复制代码

5、执行远程 A 库数据全量备份(此处的 ip 地址为 A 库 ip,TAG 参数不能与之前其它备份的 TAG 重复,远程备份集默认放在 catalog/backup 文件夹下)

yasrman sys/sys@127.0.0.1:1688 -c "backup database tag 'full\_1' dest client format 'full\_bak\_1'" -D /home/yashanB/catalog

复制代码

6、查看备份集

yasrman sys/sys@127.0.0.2:1688 -c "list backup" -D /home/yashanB/catalog

复制代码

恢复

1、进入 B 环境并登录 yashanB 用户

2、登录 B 环境数据库并执行停库操作(执行数据库恢复需要停库并移除数据库文件,请在无运行业务时完成切换)

yasql / as sysdbashutdown immediate;exit;

复制代码

3、移除 B 环境 $YASDB_DATA/dbfiles 目录下的文件到其他目录(迁移路径可自行定义)

cd $YASDB\_DATAmv ./dbfiles /home/yashanB/dbfiles1mkdir dbfiles

复制代码

4、以 nomount 模式启动 yasdb

yasboot cluster start -c yashandb -m nomount

复制代码

5、查看备份集

yasrman sys/yasdb\_123@127.0.0.2:1688 -c "list backup" -D /home/yashanB/catalog

复制代码

6、执行数据库恢复命令

yasrman sys/yasdb\_123@127.0.0.2:1688 -c "restore database from tag 'full\_1'" -D /home/yashanB/catalog

复制代码

7、检查 B 环境恢复的数据库,没问题后删除步骤 3 中 B 环境旧的 dbfiles 目录

rm -rf /home/yashanB/dbfiles1

复制代码

常见问题:

●  若 $YASDB_DATA/dbfiles 目录下存在数据库文件,执行备份恢复将出发 YAS-00311 错误

●  恢复任务的并行度值必须在 1-8,否则将触发 YAS-04204 错误

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

●  备份恢复之前要清理归档日志,否则可能会报 YAS-02305 的问题,解决方法是把报错给出路径下的归档日志清理


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3067651/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    639947