暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
如何快速处理OceanBase数据库故障.pdf
161
6页
5次
2023-04-27
免费下载
425 > 5 章:运维 OceanBase 数据
5.6 如何快速处理 OceanBase 数据库故障
如何定位判断 OceanBase 数据库故障
OceanBase 数据库故障时,应用端会反馈有很多报错信息。此时需要初步判断应用是全部
失败,还是部分失败。
理论上 OceanBase 数据库局部节点故障时,应用只会是局部数据库读写故障或者中断,在 1
分钟左右应用就能全部恢复。同时需按以下步骤尽快确 OceanBase 集群的状态。
1、确认集群节点状态
select a.zone,concat(a.svr_ip,':',a.svr_port) observer, cpu_total, (cpu_total-cpu_assigned)
cpu_free, round(mem_total/1024/1024/1024) mem_total_gb, round((mem_total-mem_
assigned)/1024/1024/1024) mem_free_gb, usec_to_time(b.last_offline_time) last_offline_
time, usec_to_time(b.start_service_time) start_service_time, b.status, usec_to_time(b.st
op_time) stop_time
from __all_virtual_server_stat a join __all_server b on (a.svr_ip=b.svr_ip and a.svr_por
t=b.svr_port)
order by a.zone, a.svr_ip
;
您需关注
节点状态 status:升级前没有 inactive 值,升级过程中会有。
节点服务时间 start_service_time:是否是默认值(1970-01-01 08:00:00.000000)如果是,
则表示节点还没有恢复结束。
节点停止时间 stop_time:是否是默认值1970-01-01 08:00:00.000000)如果不是,则表
示节点被停服( stop server)了,需要先启动服务(start server)。
426 > 5 章:运维 OceanBase 数据
2、确认集群近期事件
SELECT DATE_FORMAT(gmt_create, '%b%d %H:%i:%s') gmt_create_ , module, event,
name1, value1, name2, value2, rs_svr_ip
FROM __all_rootservice_event_history
WHERE 1 = 1
AND module IN ('server','root_service','balancer')
AND gmt_create > SUBDATE(now(),interval 1 hour)
ORDER BY gmt_create DESC
LIMIT 50;
需着重留意节点掉线和上线事件、合并超时事件、数据迁移事件等
如何处理节点掉线或宕机故障
修改租户变量允许 DDL
如果有租户的架构是 1-1-1 并且宕机的节点就是该租户的成员,宕机后可能导致租户的 DDL
报错。
MySQL [test]> create table t2 like t1;
ERROR 4624 (HY000): machine resource is not enough to hold a new unit
此时需要将全局变量 ob_create_table_strict_mode 值设置 OFF。
set global ob_create_table_strict_mode = off;
之后重新登录业务租户,就可以 DDL 了。
注意
关闭这个变量有风险,需要尽快修复故障节点
of 6
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜