写点什么

YashanDB 知识库|主备切换怎么做? 一主一备 & 一主两备完整操作指引

作者:数据库砖家
  • 2025-05-12
    广东
  • 本文字数:897 字

    阅读完需:约 3 分钟

在 YashanDB 的生产部署中,为保证业务连续性,主备架构是最常见的高可用模式。本文将基于实际项目总结,一文讲清:

主备切换的操作方式(手动与自动);

一主一备与一主两备下的差异;

切换过程中应注意的细节。

一、典型问题场景

二、适用版本

YashanDB 23.2 全版本适用

三、一主一备架构切换方式

1. 手动切换操作

(1)Switchover —— 主动切换,适用于主备同步正常

所有连接将被断开,切换过程中主库不可用;

建议在业务低峰期执行;

操作需在备库执行:

-- 检查主备状态

yasboot cluster status -c yashandb -d
复制代码



-- 备节点执行切换ALTER DATABASE SWITCHOVER;
复制代码

可通过 V$RECOVERY_PROGRESS 观察同步进度。(2)Failover —— 主库故障场景下执行的应急切换

适用于主库宕机、无法启动等不可恢复情况,操作流程:


-- 模拟主库故障(kill 进程)
-- 备库查看角色SELECT database_id, database_name, open_mode, database_role FROM V$DATABASE;
-- 执行切换ALTER DATABASE FAILOVER;
-- 原主库启动至 MOUNTyasboot node start -c yashandb -n <节点名> -m mount
-- 原主库降为备库ALTER DATABASE CONVERT TO PHYSICAL STANDBY;ALTER DATABASE OPEN;
复制代码



2. 自动切换配置

默认关闭(需手动开启);

使用 yasom 提供的仲裁机制进行选主:

-- 查看自动切换状态yasboot election config show -c yashandb-- 若为 DISABLED,手动启用yasboot election enable on -c yashandb
复制代码


模拟主库宕机后,备库会自动升主:

-- 验证切换yasboot cluster status -c yashandb -d
复制代码

四、一主两备架构下切换方式

YashanDB 在一主两备部署下,默认启用 最大保护模式 + 自动选主机制

操作步骤:

① 确认系统为最大保护模式:

SELECT protection_mode FROM V$DATABASE;
复制代码

② 查看并启用自动选主参数:

SHOW PARAMETER HA_ELECTION_ENABLED;ALTER SYSTEM SET HA_ELECTION_ENABLED=TRUE;  -- 若为 FALSE
复制代码

③ 模拟主库挂点,系统自动切换角色。

五、常见问题排查

六、经验小结

一主一备默认关闭自动切换,需手动开启;

一主两备默认启用最大保护 + 自动选主;

Switchover 适用于可控切换场景,Failover 用于主库不可恢复场景;

建议日常巡检时确认切换机制配置状态,避免业务高峰期发生意外切换。

用户头像

还未添加个人签名 2025-04-09 加入

还未添加个人简介

评论

发布
暂无评论
YashanDB 知识库|主备切换怎么做?一主一备 & 一主两备完整操作指引_数据库_数据库砖家_InfoQ写作社区