0
点赞
收藏
分享

微信扫一扫

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

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

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

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

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

一、典型问题场景

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

二、适用版本

YashanDB 23.2 全版本适用

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

1. 手动切换操作

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

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

建议在业务低峰期执行;

操作需在备库执行:

-- 检查主备状态

yasboot cluster status -c yashandb -d

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

-- 备节点执行切换
ALTER DATABASE SWITCHOVER;

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

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

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

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

-- 模拟主库故障(kill 进程)

-- 备库查看角色
SELECT database_id, database_name, open_mode, database_role FROM V$DATABASE;

-- 执行切换
ALTER DATABASE FAILOVER;

-- 原主库启动至 MOUNT
yasboot node start -c yashandb -n <节点名> -m mount

-- 原主库降为备库
ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
ALTER DATABASE OPEN;


YashanDB 知识库|主备切换怎么做?一主一备 & 一主两备完整操作指引_问题排查_05


YashanDB 知识库|主备切换怎么做?一主一备 & 一主两备完整操作指引_配置状态_06

2. 自动切换配置

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

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

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

YashanDB 知识库|主备切换怎么做?一主一备 & 一主两备完整操作指引_问题排查_07

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

-- 验证切换
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

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

五、常见问题排查

YashanDB 知识库|主备切换怎么做?一主一备 & 一主两备完整操作指引_问题排查_08

六、经验小结

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

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

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

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

举报

相关推荐

0 条评论