OB系统视图
- OB租户分为sys租户和普通租户,系统表都存储在sys租户下,通过tenant_id去区分每个租户的内容;
- 所有以__all开头的表格包含所有租户的数据
- 所有以__tenant开头的表格仅包含单个租户内部的数据
常用SQL
状态查询
查看zone状态
select * from __all_zone; //is_merge_error是否为0,status是否全为active
查看OBServer状态
select zone,svr_ip,status,stop_time from __all_server; //status,stop_time两个字段来标识OBserver的状态
磁盘空间
查询OB集群中各OBServer的磁盘容量
select total_size,used_size,free_size svr_ip from __all_virtual_disk_stat;
查看表大小,也可统计租户占用空间大小
select tenant_id, svr_ip, unit_id, table_id, sum(data_size)
/1024/1024/1024 size_G
from __all_virtual_meta_table group by 1, 2, 3, 4;
资源查询
机器剩余资源查询:
select b.zone, a.svr_ip, a.cpu_total, a.cpu_assigned cpu_ass, a.cpu_assigned_percent
cpu_ass_percent,round(a.mem_total/1024/1024/1024, 2) as mem_total,
round(a.mem_assigned/1024/1024/1024, 2) mem_ass,round((a.mem_total-
a.mem_assigned)/1024/1024/1024, 2) as mem_free,a.mem_assigned_percent mem_ass_percent
from __all_virtual_server_stat a,__all_server b where a.svr_ip = b.svr_ip order by
zone,cpu_assigned_percent desc;
系统性能
- gv$memory展示当前租户在所有OBServer上各个模块的内存使用情况
- gv$memstore展示所有服务器上所有租户的 MEMTable 的内存使用状况
- gv$sql_audit视图用于展示所有 Server 上每一次 SQL 请求的来源、执行状态等统计信息
- gv$sql用于记录所有热更新的 SQL 相关信息,每个 Plan 都会在表中有一行
- gv$plan_cache_plan_stat 视图详细记录了当前租户在所有 Server 上的计划缓存中缓存的每一个缓存对象的状态
- gv$plan_cache_plan_explain视图用于展示缓存在全部的 Server 中的计划缓存中的物理执行计划;查询时需要指定 IP、PORT、TENANT_ID、PLAN_ID 字段
查看各个模块内存使用情况:
select * from gv$memory;
查看MEMtable的内存使用情况
select * from gv$memstore
查看指定租户top 10的sql(执行时间)
select sql_id, query_sql,count(*), avg(elapsed_time), avg(execute_time),
avg(queue_time), avg(user_io_wait_time)
from gv$sql_audit where tenant_id=1002 group by sql_id
having count(*)>1 order by 5 desc limit 10\G
消耗CPU最多的sql:
select sql_id, avg(execute_time) avg_exec_time, count(*) cnt,
avg(execute_time-TOTAL_WAIT_TIME_MICRO) cpu_time
from gv$sql_audit where tenant_id=1002
group by 1 order by avg_exec_time * cnt desc limit 5;
历史事件查询
-
__all_rootservice_event_history
记录集群事件。例:合并、server上下线,修改primary_zone引发的切主操作,负载均衡任务。数据只保留7天
-
__all_server_event_history
记录server级事件,例:转储、用户发起的系统指令;数据保留7天
查看最近10次转储记录;
SELECT * FROM __all_rootservice_event_history WHERE event LIKE '%minor%' ORDER BY gmt_create DESC LIMIT 10;
查看OBServer的转储情况
SELECT * FROM __all_server_event_history WHERE svr_ip='192.168.100.1' AND module IN ('freeze','minor_merge') ORDER BY gmt_create DESC LIMIT 10;