更新时间:2024-01-09
健康巡检
功能说明
DMP提供数据库的健康巡检能力,支持自动、手动巡检,方便用户及时掌握数据库健康状态。
Oracle数据库巡检项解释:
表15巡检项
巡检类别 |
巡检项 |
巡检项说明 |
云主机 |
云主机信息 |
显示主机的操作系统,CPU核数和内存信息 |
文件系统空间使用率 |
显示当前磁盘的使用率和Inode使用率 |
操作系统CPU和内存使用率 |
显示巡检时间内CPU和内存变化趋势 |
OS用户Limit限制 |
显示用户Limit限制 |
OS用户环境变量 |
当前用户的系统环境变量 |
内核参数 |
显示内核参数 |
Crontab执行任务 |
显示用户的Crontab任务 |
网卡配置信息 |
显示所有网卡的配置信息 |
网络规划 |
显示系统的hosts信息 |
网络流量(KB/秒) |
显示巡检时间内网卡的平均网络流入和流出的趋势图 |
DMP告警信息 |
巡检时间范围内数据库产生的告警信息 |
Oracle集群 |
集群补丁信息 |
当前集群的补丁信息 |
集群状态 |
显示当前数据库集群的状态 |
集群软件配置 |
显示集群的配置,包括集群服务状态、CSS进程状态、voting disk状态、disktimeout检查、misscount检查、reboottime检查、CRS版本检查、OCR配置检查、nodeapps状态检查、本地监听状态及配置检查、scan监听状态及配置检查,RAC集群网路配置、服务池状态检查 |
OCR信息及备份信息 |
显示OCR配置信息和backup信息 |
ASM参数配置信息 |
ASM配置参数信息 |
ASM磁盘组信息及使用率 |
显示磁盘状态及使用率 |
ASM磁盘组配置信息 |
显示磁盘组配置信息 |
ASM磁盘组磁盘信息 |
显示磁盘组磁盘状态,路径和磁盘空间信息 |
Oracle数据库 |
数据库信息 |
显示数据库类型、架构、端口、IP等关键信息 |
数据库补丁信息 |
显示数据库补丁信息 |
数据库监听状态与配置 |
显示当前数据库的Listen状态和配置 |
Sqlnet.ora与tnsnames.ora配置信息 |
显示sqlnet.ora和tnsnames.ora信息 |
表空间使用率 |
显示表空间的信息及使用率 |
表空间配置信息 |
显示表空间的配置,对于offline的表空间进行告警 |
数据文件配置信息 |
显示数据文件信息 |
数据库参数配置信息 |
显示主要的数据库参数配置信息,并给出最佳实践 |
数据库归档配置信息 |
显示数据库的归档配置信息 |
Redo文件信息 |
显示当前的Redo文件信息 |
Redo切换频率 |
显示每天每小时内Redo的切换频率 |
Undo配置信息 |
显示undo配置信息 |
Scn检查 |
检查Scn。需要注意当在一些极端情况下SCN的增长速度使headroom被消耗殆尽时,数据库将无法被使用。 |
User Profile配置信息 |
显示dba_users和dba_profiles信息 |
DBA与SYSDBA权限使用情况 |
显示dba与sysdba权限使用情况,用于客户评估权限是否使用正确 |
比特币勒索病毒检查 |
检查数据库中是否有比特币病毒 |
数据库备份信息 |
显示rman备份历史记录 |
Rman备份配置信息 |
显示rman备份的配置信息 |
告警日志文件大小 |
显示告警日志文件大小和trace文件大小 |
Audit文件数量 |
显示Audit审计日志文件数量 |
数据库告警日志分析 |
显示数据库错误日志信息 |
数据库对象分析 |
System表空间是否存在非系统用户对象 |
检查非系统对象存放在system表空间中 |
无索引的表 |
显示没有索引的表 |
索引数量超过5个的表 |
显示表中索引数量超过5个的表 |
没有主键约束的表 |
显示没有主键的表。建议每个生产表都要有一个主键 |
外键没有索引的表 |
外键字段没有建立索引的表 |
序列 |
显示数据库序列使用情况。 |
没有分区的大表 |
显示表超过5G但是没有使用分区的表 |
失效对象 |
显示失效的对象,建议删除任务不需要的对象 |
表统计信息收集情况 |
根据Owner显示拥有的表中分析的表数量,未分析表数量,时间和总表数量 |
索引统计信息收集情况 |
根据Owner显示拥有的索引中分析的索引数量,未分析索引数量,时间和总索引数量 |
统计信息收集任务 |
显示数据库中统计信息的任务 |
稀疏表 |
显示碎片化较高的表 |
数据库容灾 |
主库信息 |
显示主库的信息 |
备库信息 |
显示备库的信息 |
主库DG参数配置信息 |
显示主库的DG参数配置 |
备库DG参数配置信息 |
显示备库的DG配置参数 |
主库日志信息 |
显示v$log信息 |
备库应用日志信息 |
显示 V$MANAGED_STANDBY信息 |
性能趋势 |
Oracle DB TIME(毫秒) |
显示Connection、DB Time、PL/SQL Execution、SQL Execute、DB CPU、PL/SQL Compilation、Parse Time和Sequence load时间 |
CPU和内存使用率 |
CPU和内存使用率趋势图 |
磁盘空间(MB) |
每个磁盘空间使用趋势图 |
Oracle IOPS(次/秒) |
数据库物理读和物理写的请求次数趋势图 |
Oracle进程数(个) |
当前进程数和最大进程数趋势图 |
网络流量(KB/秒) |
显示网卡的平均网络流入和流出 |
磁盘使用率(%) |
每个磁盘空间使用率趋势图 |
INODE使用率(%) |
每个磁盘Inode使用率趋势图 |
QPS/TPS |
数据库QPS/TPS趋势图 |
Oracle会话数(个) |
当前使用会话数、阻塞会话数和等待资源锁会话数趋势图 |
长事务数(KB/秒) |
显示大于180s的事务数趋势图 |
缓存命中率(%) |
数据库缓存命中率趋势图 |
共享池使用率(%) |
数据库缓存池使用率趋势图 |
PGA(%) |
PGA命中率和PGA使用率趋势图 |
表空间使用率(%) |
表空间使用率趋势图 |
排序情况 |
Memory Sorts、Disk Sorts和in-memory Sort趋势图 |
MySQL 巡检项解释:
表16巡检项
巡检类别 |
巡检项 |
巡检项说明 |
云主机 |
主机信息 |
检查主机的系统版本,CPU核数和内存信息 |
文件系统空间使用率 |
检查磁盘使用率和Inode使用率 |
操作系统CPU和内存使用率 |
通过趋势图的方式展示巡检时间内CPU和内存使用率的变化 |
OS用户Limit限制 |
检查用户的limit限制 |
OS用户环境变量 |
显示用户的系统变量 |
Crontab执行任务 |
显示用户的Crontab任务 |
网卡配置信息 |
显示所有的网卡的信息 |
网络规划 |
显示/etc/hosts数据 |
网络流量 |
显示巡检时间内平均的网络流入和网络流出 |
DMP告警信息 |
列出该主机在巡检范围内触发的告警信息 |
MySQL总体概况 |
基本信息 |
显示数据库的版本,类型,架构,端口,日志路径,数据路径等数据库相关信息 |
表空间检查 |
检查数据库的表空间 |
状态检查 |
检查数据库当前的状态,并关注Uptime,判断是否重启过 |
主从状态 |
检查主从数据库的同步线程状态 |
数据库一致性检查 |
检查主从数据库节点是否存在数据不一致的问题 |
数据库延迟检查 |
检查主从同步状态show slave status |
数据库参数分析 |
检查数据库的主要参数,并给出对应参数的最佳实践 |
MySQL对象 |
数据库及其容量 |
列出所有数据库以及存储信息 |
存储引擎与DB数量 |
根据TABLE_SCHEMA和ENGINE统计数据库的数量 |
存储引擎列表 |
列出当前数据库所有存储引擎的信息 |
支持的所有字符集 |
当前数据库支持的所有字符集 |
无主键或无唯一健的表 |
列出没有主键的表。MySQL中一张表如果没有主键,对于数据库的并发性能、复制延迟等都有严重的影响。 |
占用空间最大的前10张大表 |
根据表占用空间的大小列出前10的表信息 |
占用空间最大的前10个索引 |
根据索引占据空概念大小列出前10的索引信息 |
冗余索引 |
检查重复索引。重复的索引可以加快查询效率,但是会占用更多的空间,影响insert、update、delete效率,建议用户及时删除重复索引 |
从未使用过的索引 |
检查从未使用过的索引,从而建议用户检查索引设计的合理性 |
索引区分度 |
显示索引的区分度。对于索引区分度较低的索引,需要重新评估索引的字段,避免索引失效 |
自增ID使用情况 |
显示当前自增ID使用情况,防止ID超过字段类型最大长度,引起插入数据报错,影响业务 |
索引数量超过5个的表 |
显示表中索引超过5个的表信息 |
Event Job |
显示information_schema.events |
碎片化较高的表 |
显示碎片化最高的10张表,建议用户通过 OPTIMIZE TABLE <TABLE_NAME>命令优化 |
MySQL性能 |
慢日志分析 |
显示巡检范围内的慢日志信息 |
总计用时最长SQL Top10 |
总运行时间最长的10个SQL |
平均执行时间最长SQL Top10 |
平均运行时间最长的10个SQL |
执行次数最多的SQL Top10 |
运行次数最多的10个SQL |
检查行数最多的SQL Top10 |
总检查行数最多的10个SQL |
返回行数最多的SQL Top10 |
总返回函数最多的10个SQL |
平均执行时间值大于95%的平均执行时间的SQL |
显示statements_with_runtimes_in_95th_percentile信息 |
等待时间最长的SQL Top10 |
等待时间最长的10个SQL |
没有使用最优索引的语句 |
显示没有使用最优索引的10个SQL,根据no_index_used_pct排序 |
错误或告警的语句 |
检查MySQL执行的语句中是否有告警或者错误的语句 |
使用临时表的语句 |
显示SQL执行过程中使用临时表的语句 |
文件排序的语句 |
显示SUM_SORT_ROWS大于0的语句 |
全表扫描的表 |
显示进行全表扫描的表的信息 |
Innodb存储引擎分析 |
显示Innodb存储引擎信息 |
性能趋势 |
CPU和内存使用率 |
CPU和内存使用率趋势图 |
MySQL IOPS |
显示MySQL IO Read和IO Write |
MySQL连接状态 |
显示当前最大连接数,使用连接数和失败连接数 |
MySQL网络流量 |
显示平均网络流入和网络流出 |
磁盘使用率 |
显示每个磁盘的空间使用率 |
Inode使用率 |
显示每个磁盘的Inode使用率 |
QPS/TPS |
数据库QPS和TPS情况 |
MySQL线程状态 |
显示连接线程,创建线程和运行线程 |
Innodb缓存效率 |
包括缓存池命中率、缓存池利用率和缓存池脏块百分率 |
Innodb读写量 |
平均每秒读取的数据量和平均每秒的写入的数据量 |
Innodb缓存请求次数 |
平均每秒innodb缓存池读次数和写入次数 |
Innodb日志请求情况 |
日志的fsync写数量、物理写次数和写请求数 |
临时表情况 |
自动创建的临时表的数量 |
表锁情况 |
等待表锁数量和立即获得表锁数量 |
MySQL COMDML |
每秒DELETE、REPLACE、SELECT、INSERT、REPLACE_SELECT、UPDATE和INSERT_SELECT |
MySQL RowDML |
每秒Innodb读行数、删除行数、更新行数、插入的行数 |
MyISAM读写次数 |
MyISAM表硬盘读次数、硬盘写次数,读请求数和写请求数 |
MyISAM缓存情况 |
MyISAM缓存利用率、读命中率和写命中率 |
Innodb行锁等待数量 |
Innodb当前行锁等待数量 |
Innodb行锁等待时间 |
Innodb行锁等待平均时间和最大时间 |
排序情况 |
排序行数、规定排序数量、范围排序数量和表扫描排序 |
慢查询情况 |
慢查询数量 |
文件打开情况 |
打开文件数量、打开Innodb文件数量和打开表的数量 |
从节点复制线程 |
IO复制线程状态和SQL复制线程状态 |
从节点复制延迟 |
从节点复制延迟秒数 |
SQL Server巡检项解释:
表17巡检项
巡检类别 |
巡检项 |
巡检项说明 |
操作系统 |
系统版本 |
显示系统的主要信息systeminfo |
用户查询 |
包括User Account和Net User |
系统性能 |
显示巡检时间内CPU和内存使用率趋势图 |
内存使用 |
显示Windows内存情况和数据库内存使用情况 |
文件系统 |
通过logicaldisk获取系统的文件系统信息 |
网络状态 |
通过nicconfig命令获取网络信息 |
服务器错误日志 |
显示数据库服务器的错误日志信息 |
服务启动状态 |
当前数据库进程和监控进程状态 |
DMP告警信息 |
显示巡检时间内数据库触发的告警信息 |
数据库配置 |
数据库基本信息 |
显示数据库的版本、语言、平台,运行时间、IP等主要信息 |
数据库是否使用windows集群 |
显示数据库是否使用windows集群,显示集群的相关信息 |
数据库TCP Listerner信息 |
显示数据库的TCP Listener信息 |
注册表SQLServer相关信息 |
显示注册表中SQLServer相关的信息 |
数据库实例 |
当前实例的servername |
数据库错误日志位置 |
数据库错误日志的路径和配置信息 |
数据库明细 |
通过sp helpdb显示数据库的信息,显示每个数据库的详细信息 |
数据库恢复模式、LOG、兼容级别等关键属性 |
显示每个数据库的恢复模式、LOG和兼容属性等信息 |
Tempdb使用 |
每个数据库使用tempdb的信息和,tempdb的文件信息 |
操作系统参数 |
通过sys.xp_msver显示操作系统参数 |
数据库参数 |
显示数据库的配置和参数 |
数据库启动时间 |
显示数据库启动时间 |
数据库用户 |
当前数据库的用户,角色以及状态 |
数据库数据文件 |
显示每个数据库的数据文件路径及大小 |
数据库日志文件 |
显示每个数据库的日志文件路径及大小 |
数据库进程 |
显示数据库当前运行的进程信息 |
锁资源使用情况 |
显示当前数据库锁的信息 |
数据库中的job |
显示job基本信息、job执行情况、job最优一次执行情况和每个job步骤的具体信息 |
数据库对象 |
所有数据库索引 |
显示所有数据库的索引信息,包括用户索引查找次数,扫描次数等 |
索引使用次数 |
显示所有索引的使用次数 |
从未使用的索引 |
显示从来没有使用过的索引 |
高开销的缺失索引 |
显示cost高的缺失索引 |
数据库中碎片最多的索引 |
显示avg_framentation高并且page_count大于500的索引 |
数据库中所有索引最后一次统计更新时间 |
显示所有数据库最后一次更新的时间 |
写比读多的非聚集索引 |
显示写大于读的非聚集索引 |
长时间运行的游标(超过5分钟) |
显示时间超过5分钟的游标信息 |
具备已打开事务的空闲会话 |
显示有事务当时没有执行请求的会话 |
无主键的表 |
显示没有主键的表 |
查询表的大小 |
按照表大小显示表的信息 |
表的碎片情况 |
显示表的碎片化空间等信息 |
数据文件IO状况 |
显示每个数据库读写次数和延迟等信息 |
数据库性能 |
占用最多内存的用户数据库 |
按照占用内存大小显示数据库 |
占用最多CPU的用户数据库 |
显示占用CPU最多的用户数据库 |
数据库等待统计 |
显示每个等待类型等待的时间,比例 |
数据库登陆统计 |
显示当前每个登录用户会话统计 |
数据库锁状态 |
显示当前的数据库锁信息 |
检查SQL文本的执行统计 |
显示巡检时间内sql的读写、CPU和逻辑写入等信息 |
执行次数最多的语句 |
显示Top20执行次数最多的SQL语句 |
执行时间最长的语句 |
显示Top20执行时间最长的SQL语句 |
消耗IO读最多的语句 |
显示Top20 逻辑读最多的SQL语句 |
消耗IO写最多的语句 |
显示Top20逻辑写最多的SQL语句 |
占用CPU时间最多的SQL语句 |
显示Top20 CPU占用最多的SQL语句 |
占用CPU时间最多的进程 |
显示Top20 CPU占用最多的SQL语句 |
CPU平均占用率最高的20个SQL语句 |
显示Top20平均CPU占用率最高的SQL语句 |
Sort和Hash match使用量最大的query_plan |
Top20 Sort和Hash match使用量最大的query_plan |
消耗性能的存储过程 |
Top1000最消耗时间的存储过程 |
性能趋势 |
CPU和内存使用率(%) |
CPU和内存使用率趋势图 |
磁盘使用率(%) |
磁盘空间使用率趋势图 |
SQLServer IOPS(次/秒) |
SQLServer IO读和写次数趋势图 |
SQLServer连接状态(个) |
用户连接数和活跃连接数趋势图 |
SQLServer网络流量(KB/秒) |
网卡网络流量平均流入和流出趋势图 |
QPS/TPS |
SQL Server QPS和TPS趋势图 |
SQLServer登陆状态(次/秒) |
每秒登录次数和登出次数趋势图 |
SQLServer缓存池命中率(%) |
缓存池命中率趋势图 |
SQLServer全表扫描次数(次/秒) |
全表扫描次数趋势图 |
SQLServer SQL编译次数 |
SQL编译次数和重编译次数趋势图 |
SQLServer 锁信息 |
锁等待、死锁数量和闩锁等待数量趋势图 |
SQLServer 进程阻塞数量 |
进程阻塞数量 |
SQLServer 平均网络延迟 |
网络IO登录的平均时间趋势图 |
前提条件
已创建或纳管数据库。
注意事项
- 平台只保留最近30天内生成的巡检报告,超出将被清理,如有需要请及时下载保存。
- 227以前的纳管的SQL Server库,升级DMP到227后,巡检报告中监控数据不显示,需要取消纳管后重新纳管。
操作步骤
- 进入DMP管理平台,在[监控中心/健康巡检]页面,即可查看平台巡检报告列表、进行巡检相关操作。
- 设定自动巡检,点击<巡检设置>。系统于每天凌晨两点自动巡检所选数据库,巡检范围为前一天的0点至24点。开启自动巡检,选择数据库后点击<确定>。
- 立即巡检:即手动巡检,点击<立即巡检>可以自定义特定时段,对目标数据库发起立即巡检。
- 下载巡检报告:生成的巡检报告会存在列表中,并提供下载操作,点击<下载>按钮可以下载报告进行查看,报告格式支持Word或WPS。