暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

OceanBase 学习笔记39:隔离故障 Zone 的方法

339

当 Zone 发生故障时,您可以隔离故障 Zone。隔离后,新的读写请求不会路由到该故障 Zone 内的进程上。

当 Zone 故障后,您可以通过隔离操作将故障 Zone 上的 Leader 切换到其他机器上,以此尝试恢复用户的写服务和集群内的日志同步。待集群恢复正常后,尝试通过先 Stop Zone 后再重启故障机器的方式来解决问题。

隔离故障 Zone 的 SQL 语句如下:

obclient> ALTER SYSTEM ISOLATE ZONE 'zone_name';

该语句仅支持在 sys 租户中执行。

示例:

  1. 使用 root 用户登录数据库的 sys 租户。

  2. 执行以下命令,隔离故障的机器。

    obclient> ALTER SYSTEM ISOLATE ZONE 'zone1';
    

    SQL 语句执行成功,则表示隔离故障 Zone 的操作执行成功。同时,可以看到 oceanbase.DBA_OB_ZONES 视图中,该隔离 Zone 的 STATUS 的值为 INACTIVE,表示该 Zone 处于 stop状态。

    查看视图 oceanbase.DBA_OB_ZONES的示例如下:

    obclient> SELECT * FROM oceanbase.DBA_OB_ZONES WHERE zone= 'zone1';
    +-------+----------+-----+----------+-----------+
    | ZONE  |  STATUS  | IDC | REGION   | TYPE      |
    +-------+----------+-----+----------+-----------+
    | zone1 | INACTIVE | HZ1 | hangzhou | ReadWrite |
    +-------+----------+-----+----------+-----------+
    1 row in set
    

    oceanbase.DBA_OB_ZONES 视图中各字段的详细说明请参见 DBA_OB_ZONES

隔离故障的 Zone 后,如果需要解除隔离状态,您可以通过执行 ALTER SYSTEM START ZONE 'zone1' 命令来完成。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论