系统级:集群级别或节点级别指标

OS,instance time,memory,session,thread,events、utility

对象级:数据库对象指标

database、table、index,file、lock

应用级:表征应用负载性能

transaction、statement、active session profile、slow query、full sql trace


系统级OS:

dbe_perf.os_runtime、os_threads:获取实时的cpu 时间、load、内存消耗信息(类似top),用于判断当前操作系统的负载状态

instance_time:系统级的时间消耗细分、判断整个系统是否存在负载、网络、IO、CPU 上的瓶颈

memory

memory_node_detail:实例级内存(全局、动态内存、共享内存、通信等分配),使用率。

shared_memory_detail:共享内存上下文分配使用率,定位定界可细化至特性级别,结合session 级别内存上下文分配试图接口,可帮助定位会话级内存使用问题

session

SESSION _ STAT :会话级负载强度,逻辑/物理读写强度,排序活动等,用于甄别出负载强度高,使用资源多的会话。

SESSION _ TIME :会话级时间细分,用于甄别出不同时间维度上 session 的消耗。

SESSION _ MEMORY 、 SESSION _ MEM: 可以定位单个 session 在特性级上的内存问题。

SESSION _ STAT _ ACTIVITY :获取实时系统活跃会话列表◇包括会话基本信息、会话事务、语句、等待事件、会话状态( active 、 idle 等),

用于分析当前系统活跃用户的活动信息,比如从语句的开始时间判断当前会话是否一致阻塞在某一个语句,从等待事件可以判断某一个或者

多数会话阻塞在哪个事件或者节点(分布式场景)

thread

thread_wait_statues:获取实例工作线程、辅助线程列表,判断线程的运行状态当前正阻塞在哪个事件上,正在等待那个锁、或被哪个会话阻塞

(提供可以判断系统中的会话等待链的接口)

event

WAIT _ EVENTS :各功能模块中 IO 、 LOCK 、 LWLOCK 、 STATUS 四类事件的等待次数,等待失败次数,等待时间等维度的统计信息,

可以帮助定位特性级细粒度时延性能问题

Utility  

COMM _ DELAY 、 COMM _ RECV _ STREAMCOMMSENDSTREAMOMMSTATUS 取通信组件时延信息,接收和发送流状态,用于诊断通信链路容量和时延障

REPLICATION _ STAT :获取分布式部署形态下主备同步状态信息,用于诊断主备时延,复制性故障。

GLOBAL _ GET _ BGWRITER _ STATUS 、 GLOBALPAGEWRITERSTATUS :检查点信息, buffer 中待落盘脏页信息,后台刷脏工作线程的状态将

影响 buffer pool 的效率,磁盘的繁忙程度,这些信息可以帮助优化缓存和 IO 性能

POOLER _ STATUS :分布式部署形态下, CN 和 DN 之间的连接池将影响事务的执行效率和成功率, pooler 状态可以帮助诊断连接池瓶颈


对象级

Database

STAT _ DATABASE : STAT _ DATABASE _ CONFLICTS:提供数据库级别的活跃连接数,负载强度,块读写性能、行活动、死锁、临时下盘文件等信息。

根据这些信息可以帮助建立数据库访存模型(读写比等负载特点)、识别热点数据库、诊断数据库级别大颗粒性能瓶颈。

Table  

STAT _ USER _ TABLES、STAT _ SYS _ TABLES 、 STAT _ ALL _ TABLES 、 STATIO _ USER _ TABLES , STATIO _ SYS _ TABLES 、  

STATIO _ ALL _ TABLES:表上行扫描 活动,索引扫描活动,行变更活动,活跃行占比、表维护操作活动( vaccum 、analyze ),

页面读取缓冲命中率等,这些信息可以帮助建立表级别的访存模型(读写比,缓存效率等),识别热点表,预警表维护操作,诊断表级别细粒度性能瓶颈。

GLOBAL _ STAT _ HOTKEYS _ INFO :识别表级别热 key ,定界热点访问造成的网络, IO 瓶颈。

Index  

STAT _ USER _ INDEXES 、 STAT _ SYS _ INDEXES , STAT _ ALL _ INDEXES ,STATIO _ USER _ INDEXES 、 STATIO _ SYS _ INDEXES 、  

STATIO _ ALL _ INDEXES  

索引使用统计: index scan 次数, index scan 返回的索引项,通过 index scan 返回的表行数等,索引页的缓存效率等,用以评估索引收益和效率。

Lock  

lock:对象锁涉及到的对象,事务,会话,锁信息,实时显示当前系统锁等待关系,识别热点锁。

Sequence  

STATIO _ USER _ SEQUENCES 、 STATIO _ SYS _ SEQUENCES 、 STATIO _ ALL _ SEQUENCES :sequence 的缓存效率。


应用级

Statement  

STATEMENT _ COUNT , STATEMENT :DDL , DML ( select , insert , updateelt )负载特征模型,预警负载异常变动。

语句级别(归一化 SQL 、模板 SQL )的响应时间,执行次数,行活动,软硬解析比,时间模型、网络开销、排序性能(时间,内存,溢出),

执行器 HASH 性能(时间,内存、溢出)。据此可以识别热点语句,定位语句性能瓶颈,建立语句性能基线,以低成本预警语句性能变化。


Active Session Profile  

· LOCAL _ ACTIVE _ SESSION 、 GS _ ASP ( public schema )

. ASP ( Active Session Profile )活跃会话概要信息◇通过采样实例活跃会话的状态信息,低成本复现过去一段时间的系统活动,主要包含会话基本信息,

会话事务,语句,等待事件,会话状态( active 、 idle 等),当前正阻塞在哪个事件上,正在等待哪个锁,或被哪个会话阻塞。可以从中获取如下主要概要信息:

1.最近用户 session 最耗资源的的事件。

2.最近比较占资源的 session / SQL 把资源都消耗在哪些 event 上。

3.最近执行时间/执行次数最多的是哪些 SQL (进而可以找出表◇数据库)。

4.最近钟最耗资源的用户的信息。

5.最近阻塞其他 session 最多的 session 。

LOCAL _ ACTIVE _ SESSION 的默认采样频率是1s,内存视图; ASP 的默认采样频率是10s,持久化在存储。


Full SQL trace & Slow Query  

STATEMENT _ HISTORY :记录全量 SQL 信息,分为 Lo 、L1、L2三个等级,可以获取实例信息,客户端信息,语句概要信息,执行信息,

行活动信息,Cache / lO 、时间模型、网络统计信息,锁概要信息,锁详细信息等。通过全量 SQL ,可以得到整个系统所有语句的执行流水

以及他们的详细性能数据(持久化的)。除 Statement 视图提供的能力外,还额外提供了详细加放锁信息,可以诊断到单语句级别的性能波动。

达到慢查询阈值设置的语句性能信息,性能要素和全量 SOL 一致