OceanBase 3.2.2 数据库问题处理记录

只记录OceanBase 数据库与OCP的异常处理,其它组件暂时不写录。
一、问题1:

说明:OMS 出现异常,无法访问(OB无法访问)

OB数据库架构:1:1:1

原因:某一台OBserver因为内存问题,被服务器直接kill掉了。

处理:增加OBserver服务器的内存,采用轮询的方式关闭Observer增加内存,需要提前确认OB数据的Master。

OceanBase 重启Observer 顺序

powershell 复制代码
1.在OCP 界面关闭Observer
2.在OCP 界面关闭Zone (如果zone下只有一个Observer的情况下)
3.关闭Observer 服务器
4.调整Observer 服务器,并重启Observer服务器
5.在OCP 界面的主机菜单中,启动OCP agent
6.启动Zone(未关闭Zone的情况下,直接启动Observer)

OceanBase 的关闭问题(可能存在关闭失败,但是服务器上进程已不存在的问题)
1.重启Observer 服务器
2..在OCP 界面的主机菜单中,启动OCP agent
3.启动Zone(未关闭Zone的情况下,直接启动Observer)

异常:

集群状态 (问题:OCP 上某个集群出现zone 一直在重启状态,但是Observer上并未存在相关进程),解决办法如下:

powershell 复制代码
mysql -uroot@ocp_meta#obcluster -P2883  -p -h
select * from ob_zone;
update ob_zone set status='RUNNING';
select * from ob_cluster;
update ob_cluster set status='RUNNING' where name='';
select * from ob_server;
select * from ob_cluster;

可以观察OCP的状态:

集群状态,zone的状态。

异常:集群状态与zone的状态正常,但是所有的监控信息不可展示,原因属于OCP本身的数据记录,但是OB数据库未启动。

彻底处理:

进入OCP中,进入问题集群中,停止集群,然后重启启动集群,然后重启所有OBserver 上的ocp_agent。

二、问题2:

说明:OCP服务器与服务重建且重新接管OB集群的问题

处理方式:

1.配置OCP服务器上的ntp服务(保证ntp)。

OCP接管集群的两种方式:

powershell 复制代码
1.进入OCP界面,点击接管集群(存在直连/OBProxy),选择直连输入OB数据库的sys租户的root密码即可,但是OBProxy需要重新创建。端口2881 。
2.配置OCP服务器上的ntp服务(保证ntp),进入OCP界面,点击接管集群(存在直连/OBProxy),选择OBProxy输入OB数据库的sys租户的root密码即可。端口2883 。

三、问题3:

OceanBase 3.2.3v

说明:线上OceanBase的事务被kill 的问题排查(官网上也有相关的描述)

1.排查思路:OceanBase 的事务,也就是SQL语句,存在一个唯一的trace_id,通过trace_id找到执行的sql_id。

2.通过trace_id查找OBserver服务器上的日志(选举日志,observer日志等)。

3.发现是内存问题,导致RT启用切主操作,导致SQL语句被kill。

4.增加租户内存,可以解决,也可以参考大事务限流的方式,或者配置进入大事务队列中进行处理。

相关推荐
bug菌¹17 分钟前
滚雪球学Redis[1.1讲]:什么是Redis?
数据库·redis·缓存
zeroner_2 小时前
【SQL】DDL语句
数据库·sql·mysql
七折困2 小时前
DBMS-3.2 SQL(2)——DML的SELECT(含WHERE、聚集函数、GROUP BY、HAVING之间的关系)
数据库·sql·mysql
丶21362 小时前
【SQL】掌握SQL查询技巧:数据分组与排序
数据库·后端·sql
Davina_yu2 小时前
finereport制作带刷新和滚动的明细表
数据库·数据分析
杀死这个程序员2 小时前
Mysql和Oracle使用差异和主观感受
数据库·mysql·oracle
菜♕卷2 小时前
Redis-02 持久化
数据库·redis·缓存
Satan7123 小时前
【MySQL】多表联合查询常见练习题
数据库·sql·mysql
张子行的博客3 小时前
mysql 慢查询日志、设置单条数据最大 packet 插入大小指令
数据库·mysql