【YashanDB知识库】如何在备机节点上做备份和恢复

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 【YashanDB知识库】如何在备机节点上做备份和恢复

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

问题现象

一主一备情况下,主机需要支持常规业务,为了不影响业务,在备机做备份恢复的场景。

问题的风险及影响

1、备机恢复后,会变成primary节点,出现脑裂。

2、备机恢复的数据,只是备份那一时间点的数据,需要同步到主机现在时间点的数据。

复现步骤

1、一主一备,正常场景如下

IMG_256

2、模拟主机执行业务,备机开始备份场景

主机插入20000000万条数据

SQL> create table tmp5(id number,rate number, jg_cod varchar(64), jg_cod2 varchar(64) , jg_cod3 varchar(64)) ORGANIZATION LSC;

​

Succeed.

​

SQL>

begin

 for i in 1 .. 20000000 loop

  insert into tmp5 values( i,DBMS_RANDOM.value(1000,10000), '100'||cast(DBMS_RANDOM.value(10,100) as int) , '200'||cast(DBMS_RANDOM.value(10,100) as int) , '300'||cast(DBMS_RANDOM.value(10,100) as int) );

  if mod(i,1000) = 0 then

    commit;

  end if;

 end loop;

 commit;

end;

  10 /
AI 代码解读

备机开始备份:

IMG_256

3、模拟备机根据备份集恢复数据

IMG_256

IMG_256

4、恢复后,变为两个primary节点,如下

IMG_256

备机查看tmp5表、scn、asn、flush_point:

IMG_256

主机的tmp5表、scn、asn、flush_point,对比发现scn小于备机的scn,asn和flush_point大于备机的asn和flush_point,如下图:

IMG_256

解决方法及规避方式

解决备机根据备份集恢复后,数据不一致的问题。

思路是备机的primary降备,然后同步数据即可。操作如下:

备机primary降备:

IMG_256

-- 启动备变主库的节点(例如1-2)到mount状态

yasboot node start -c yashandb -n 1-2 -m mount

-- 备机的主库降备

ALTER DATABASE CONVERT TO PHYSICAL STANDBY;

alter database open;

同步数据,主机修复need repair状态:

BUILD DATABASE REPAIR STANDBY standby1;

IMG_256

IMG_256

修复后查看备机结果:

IMG_256

IMG_256

目录
打赏
0
11
11
0
96
分享
相关文章
|
1天前
|
SQL
【YashanDB 知识库】YAS-04115 "SELECT" expected but missing
【YashanDB 知识库】YAS-04115 "SELECT" expected but missing
【YashanDB知识库】lYAS-02143 invalid username/password, login denied
【YashanDB知识库】lYAS-02143 invalid username/password, login denied
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
【YashanDB 知识库】YCM Monit 进程频繁误告警
【YashanDB 知识库】YCM Monit 进程频繁误告警
|
1天前
|
SQL
【YashanDB 知识库】并发 update 报错 YAS-02208 lock conflict in consistent write
【YashanDB 知识库】并发 update 报错 YAS-02208 lock conflict in consistent write
【YashanDB 知识库】druid 连接池做断网测试,无法自动重新连接
【YashanDB 知识库】druid 连接池做断网测试,无法自动重新连接
【YashanDB 知识库】Hive 命令工具 insert 崖山数据库报错
【YashanDB 知识库】Hive 命令工具 insert 崖山数据库报错
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB知识库】YMP从mysql迁移到崖山,报错:服务器错误
【YashanDB 知识库】导入数据时报错:YAS-00008 type convert error:literal does not match format string
【YashanDB 知识库】导入数据时报错:YAS-00008 type convert error:literal does not match format string
【YashanDB知识库】使用yasboot查看YashanDB status为unconnected,但是运行正常
【YashanDB知识库】使用yasboot查看YashanDB status为unconnected,但是运行正常

数据库

+关注