oceanbase 常用视图查询记录

测试环境:1-1-1 OceanBase 企业版3.2.4.4

 

查看租户的 Context 和 Modudle 内存

SELECT
tenant_id,
svr_ip,
ctx_id,
ctx_name,
mod_name,
count,
round(HOLD / 1024 / 1024, 2) hold_mb,
round(used / 1024 / 1024, 2) used_mb
FROM
oceanbase.__all_virtual_memory_info
WHERE
tenant_id = 1
ORDER BY used DESC
LIMIT 10;

014e53256e7648a9bce9f309ee6b80a0.png

 

查看租户 memstore 内存使用情况

V3 版本用视图 gv$memstore 
V4 该视图变成了gv$ob_memstore
SELECT
  tenant_id,
  ip ,
  round(active / 1024 / 1024, 2) active_mb,
  round(total / 1024 / 1024, 2) total_mb,
  round(freeze_trigger / 1024 / 1024, 2 ) freeze_trg_mb,
  round(mem_limit / 1024 / 1024, 2) mem_limit_mb,
  freeze_cnt
FROM
  oceanbase.gv$memstore m
WHERE
  m.tenant_id = 1
ORDER BY ip ;

b3179601d113428287824a50b6be3a02.png

 

查看表在 MemStore 中内存占用

V3 版本用视图 gv$memstore_info

V4 该视图变成了gv$ob_memstore_info

SELECT
  ip, 
  t.table_name,
  usec_to_time(base_version) base_version_time,
  round(used / 1024 / 1024, 1) AS used_mb,
  hash_items,
  btree_items,
  is_active
FROM
  gv$memstore_info m
JOIN gv$table t ON
  (m.tenant_id = t.tenant_id
    AND m.table_id = t.table_id)
WHERE
  t.tenant_id = 1
  AND t.database_name IN ('test')
ORDER BY
  m.ip,
  m.base_version DESC ;

745c32ab3bf04fa79254491702767b89.png

每个表的分区在的转储和合并历史

SELECT
  m.svr_ip,
  t.table_name,
  TYPE,
  ACTION,
  usec_to_time(version) version,
  start_time,
  end_time ,
  macro_block_count blocks
FROM
  gv$merge_info m
JOIN gv$table t ON
  (m.tenant_id = t.tenant_id
    AND m.table_id = t.table_id)
WHERE
  m.tenant_id = 1
  AND t.table_name IN ('test_table')
  AND t.database_name = 'test'
ORDER BY
  t.table_name,
  start_time DESC ;

f90ab74ea02d46c4b81a24db16b0d66d.png

 


SELECT
  usec_to_time(request_time) req_time,
  tenant_name,
  svr_ip,
  user_name,
  db_name,
  ret_code,
  trace_id
FROM
  gv$sql_audit
WHERE
  tenant_id = 1
  AND user_name = 'root'
  AND ret_code IN (-4030,-4013)
ORDER BY
  request_id DESC
LIMIT 10
;

OB 的内存 Context 中,除了 MemStore 外,KVCache、PlanCache、WorkArea 等内存都可以通过视图查看


SELECT
  tenant_id,
  svr_ip,
  cache_name,
  priority,
  round(cache_size / 1024 / 1024, 2) cache_mb,
  round(cache_store_size / 1024 / 1024, 2) cache_store_mb,
  round(cache_map_size / 1024 / 1024, 2) cache_map_mb,
  kv_cnt,
  hit_ratio
FROM
  oceanbase.__all_virtual_kvcache_info
WHERE
  tenant_id = 1
ORDER BY total_hit_cnt DESC ;

c856f0515d2c41eeafd2957055165a66.png

 

 

eaac63e6db704067b2134f00f4e3ff81.png

 

c19bc90373c0483a972e8f1208888a9e.png

 

 

SELECT
  tenant_id,
  svr_ip,
  sql_num,
  round(mem_used / 1024 / 1024, 2) mem_used_mb,
  round(mem_hold / 1024 / 1024, 2) mem_hold_mb,
  round(mem_limit / 1024 / 1024, 2) mem_limit_mb
FROM
  oceanbase.gv$plan_cache_stat
WHERE
  tenant_id = 1
ORDER BY
  mem_used DESC 
;

 

e5924e65efd94137abd7051923bbdbf7.png

 

本文章参考自 OBCE V3 培训试验:内存管理分享 (qq.com) 文章写的很好故在自己的集群上做了测试。

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OceanBase查询是指在 OceanBase 数据库系统运行过程中,执行时间较长或者消耗资源较大的 SQL 查询操作。这类查询往往由于复杂度高、数据量大、索引设计不当等原因导致性能不佳,影响数据库的整体响应速度。 ### OceanBase查询的影响及分析 #### 影响 1. **资源占用**:长时间运行的慢查询会大量占用 CPU、内存等资源,导致其他正常请求无法得到及时处理,影响整体系统的并发能力和稳定性。 2. **性能瓶颈**:慢查询成为数据库性能瓶颈的主要来源之一,限制了系统的读写能力,特别是对于需要高频访问的数据集。 3. **资源竞争**:当多个慢查询同时发生时,可能会加剧系统资源的竞争,进一步恶化性能状态。 #### 分析步骤 1. **SQL 执行计划优化**:检查并优化 SQL 的执行计划,比如避免全表扫描、使用合适的索引、减少连接操作的复杂性等。 2. **数据分区策略**:合理利用 OceanBase 支持的行键和列键分区功能,将大表划分为更小的分区,有助于提高查询效率。 3. **监控与分析**:使用 OceanBase 提供的监控工具(如 OBProxy 的监控界面、OceanBase 集群管理平台 OCP 等),定期收集并分析慢查询报告,识别出耗时最久的查询及其执行细节。 4. **调整查询参数**:根据实际场景调整 OceanBase 的配置参数,比如修改日志大小、增加缓存空间等,改善慢查询的执行环境。 #### 防治措施 - **实施动态 SQL 缓存**:对频繁执行且结果不变的慢查询,可以考虑预编译成预处理语句,减少解析和准备阶段的时间开销。 - **引入查询流控机制**:通过设定合理的查询速率控制策略,防止短时间内大量的慢查询对系统造成冲击。 - **定期审查和更新**:持续关注业务需求变化和数据库架构,定期对查询和索引进行审查和优化,避免因业务发展带来的查询复杂度增加而引发的问题。 ### 结论 OceanBase查询的管理和优化是一个涉及多方面因素的过程,包括但不限于查询执行优化、资源分配策略、数据库参数设置以及日常监控维护。通过综合运用上述技术和策略,可以显著提升 OceanBase 系统的性能,有效应对复杂应用环境下的挑战。为了保持数据库的良好运行状态,建议定期执行性能评估和优化工作,建立完善的监控体系,及时发现并解决潜在的性能瓶颈。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值