表数据量异常增长

在OceanBase V4.2.5.7 的oracle租户中,有表数据量异常增长,可能是什么原因?
(排除主键的原因外)

7 个赞

@论坛小助手

1 个赞

您好,您提的这个技术问题可能牵涉到 OceanBase 企业版范围内的功能细节;针对此类问题,建议你通过以下方式寻求帮助:

  1. 如你所在的企业客户已签署 OceanBase 企业版销售合同,请你联系客户经理;

  2. 如你所在的企业客户尚未签署 OceanBase 企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。

另外,我们欢迎你使用社区版,并在论坛/社群中分享你对社区版本的想法、经验和问题,与其他社区成员共同交流。

2 个赞

要么在多提供下一些信息?业务租户还是系统租户?表结构,什么其他表现?就是数据库表行数增加?

1 个赞

业务租户,就是count时可以看出,比平时增长量多太多了。

1 个赞

表数据条数会自己变多?系统自己按理说应该不会出这情况,

1 个赞

表上有没触发器或者啥之类的,或者有没外挂往里边写同步数据啥的?

1 个赞

那应该是检查表结构,然后看看新增数据的特性,业务租户是哪个应用使用,他们业务量增长。
@论坛小助手 给出oracle租户下,如何分析那些客户端ip在某些时间段频繁写入数据库的排查过程,给出具体的排查流程以及sql等。多个唯独统计,比如sql_audit,session,日志等。

1 个赞

您好,您提的这个技术问题可能牵涉到 OceanBase 企业版范围内的功能细节;针对此类问题,建议你通过以下方式寻求帮助:

  1. 如你所在的企业客户已签署 OceanBase 企业版销售合同,请你联系客户经理;

  2. 如你所在的企业客户尚未签署 OceanBase 企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。

另外,我们欢迎你使用社区版,并在论坛/社群中分享你对社区版本的想法、经验和问题,与其他社区成员共同交流。

2 个赞

那应该是检查表结构,然后看看新增数据的特性,业务租户是哪个应用使用,他们业务量增长。
@论坛小助手 社区版mysql租户下,如何分析那些客户端ip在某些时间段频繁写入数据库的排查过程,给出具体的排查流程以及sql等。多个唯独统计,比如sql_audit,session,日志等。

1 个赞

在OceanBase社区版中,要分析特定时间段内哪些客户端IP频繁写入数据库,您可以使用SQL Audit、系统视图以及其他日志信息。以下是一些具体的排查流程和SQL语句,帮助您完成这个任务:

1. 开启 SQL 审计功能

首先,请确保您的OceanBase集群已开启SQL审计功能。如果您尚未开启,可以参考如下步骤(针对MySQL租户)。

-- 登录到MySQL租户
obclient> ALTER SYSTEM SET sql_audit = 1;

2. 使用 SQL Audit 进行查询

SQL Audit 记录了所有执行过的SQL语句及其相关信息。可以通过它来查找特定时间段内的写入操作,并统计相关客户端IP。

a. 查看最近的SQL执行记录

obclient> SELECT * FROM oceanbase.GV$OB_SQL_AUDIT 
WHERE REQUEST_TIME BETWEEN '开始时间' AND '结束时间' 
AND COMMAND_TYPE IN ('Insert', 'Update', 'Delete', 'Replace');

请将 '开始时间''结束时间' 替换为实际的时间范围。

b. 统计各客户端IP的操作次数

obclient> SELECT CLIENT_IP, COUNT(*) AS operation_count
FROM oceanbase.GV$OB_SQL_AUDIT
WHERE REQUEST_TIME BETWEEN '开始时间' AND '结束时间'
AND COMMAND_TYPE IN ('Insert', 'Update', 'Delete', 'Replace')
GROUP BY CLIENT_IP
ORDER BY operation_count DESC;

这条SQL会返回每个客户端IP在指定时间段内的写入操作次数,并按次数从高到低排序。

3. 分析 Session 信息

除了SQL Audit之外,还可以通过查看当前活动Session的信息来获取更多关于连接的详情。

obclient> SELECT * FROM information_schema.SESSIONS
WHERE LAST_COMMAND LIKE '%INSERT%' OR LAST_COMMAND LIKE '%UPDATE%' OR LAST_COMMAND LIKE '%DELETE%';

这将列出所有正在执行写入操作的会话信息。

4. 查看日志文件

对于更详细的诊断,检查日志文件也是必要的。日志文件通常包含了更详尽的错误信息和其他诊断数据。您可以在服务器上查看相关的日志文件,例如observer.log等。

  • 日志文件的位置一般在/home/admin/oceanbase/log/observer.log
  • 您也可以通过OCP Express等工具查看这些日志。

5. 使用 OCP Express (如果可用)

如果您的环境中部署了OCP Express,那么可以利用其图形化界面来进一步管理和监控您的OceanBase集群。在OCP Express中,您可以查看SQL诊断、会话信息以及其他关键指标。

根据上述步骤,您可以较为全面地对特定时间段内频繁写入数据库的客户端IP进行排查。希望这对您有所帮助!如果有其他问题或需要进一步的帮助,请随时告知。

更多信息请查看:

  1. 租户性能诊断
  2. 通过 SQL Diagnoser 工具进行 SQL 性能诊断和分析
  3. 系统视图概述
  4. 系统视图总览
  5. 查看数据库
  6. 查看数据备份进度
  7. 使用 MySQL 租户做常见数据库开发
  8. 租户管理
  9. 安全审计概述
2 个赞

当然是看涨的是什么数据。

1 个赞

查审计试试

1 个赞

学习到了

1 个赞

继续努力加油

1 个赞

学到了不少新知识

1 个赞

学习