错误码 4013, No memory or reach tenant memory limt

【产品名称】oceanbase

【产品版本】2.2.30

【问题描述】报错错误码 4013, No memory or reach tenant memory limit,1、请问如何查询租户的实际分配内存?2、如何动态查询租户内存使用多少? 3、如何查看是哪个sql占用了内存?

1. 查询租户的实际分配内存

select * from oceanbase.gv$unit;

2.动态查询租户内存使用多少

obclient> SELECT /*+ READ_CONSISTENCY(WEAK),query_timeout(100000000) */ TENANT_ID,IP,
           round(ACTIVE/1024/1024/1024,2)ACTIVE_GB,
           round(TOTAL/1024/1024/1024,2) TOTAL_GB,
           round(FREEZE_TRIGGER/1024/1024/1024,2) FREEZE_TRIGGER_GB,
           round(TOTAL/FREEZE_TRIGGER*100,2) percent_trigger,
           round(MEM_LIMIT/1024/1024/1024,2) MEM_LIMIT_GB 
FROM gv$memstore
WHERE tenant_id >1000 OR TENANT_ID=1
ORDER BY tenant_id,TOTAL_GB DESC;


3.查看哪个SQL 占用了内存

可以使用 gv$sql_audit 进行查询,可以参考如下链接

https://www.oceanbase.com/docs/knowledge-base/knowledge-base/V1.0.0/introduction-to-oceanbase-database-performance-view-gv-sql_audit

如果有 OCP 的话可以直接使用 OCP 进行查看

1 个赞