【产品名称】oceanbase
【产品版本】2.2.30
【问题描述】报错错误码 4013, No memory or reach tenant memory limit,1、请问如何查询租户的实际分配内存?2、如何动态查询租户内存使用多少? 3、如何查看是哪个sql占用了内存?
【产品名称】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 进行查看