DM 性能监控工具 (Monitor)
DM 性能监视工具 (Monitor) 是 DM 数据库管理员用来监视服务器的活动和数据库性能情况,并对实例中参数进行调整的客户端工具,它允许系统管理员在本机或远程监视服务器的运行状况。
性能监控工具功能
实例监控
实例监控显示所连接实例的内存和 CPU 的使用情况,以及该实例的线程和会话信息,包括内存和 CPU 的当前使用值,以及自开始监视以来的最大值和最小值;活动的线程和会话的个数,以及自开始监视以来的最大值和最小值。数据库内存使用情况如下图所示:

MPP 监控
MPP 监控主要监控 DM MPP 集群环境。包括站点分布图和消息分发图。其中站点分布图显示各站点的物理主机分布情况,消息分布图显示各站点间的通信情况。数据分布视图显示指定数据库表的数据在 DM MPP 的各个站点上的分布情况。
统计分析
统计分析视图监视系统资源、数据库可用性、健康状态、性能等。显示系统自启动以来各项资源的使用历史情况以及平均使用率。包括内存和 hash 缓存的使用情况,逻辑、物理读写情况,事务总次数以及提交、回滚、死锁次数、会话分配和空闲的次数以及检查点的次数,SQL 的执行情况、系统 CPU 使用率以及线程切换情况。
性能监视
性能监视涵盖 DM 数据库的所有监控事项,主要包括:线程监视、会话监视、事务监视、SQL 监视、SQL 日志文件分析、DM.INI 参数监视、内存管理、存储监视、系统监视,如下图所示:

调优向导
调优向导是自动化的调优工具,主要包括:内存配置向导、线程配置向导、数据库物理存储维护向导、数据库逻辑存储维护向导、性能瓶颈分析与调优向导、索引优化向导、索引重组向导。
预警配置
预警配置页面可以配置监控的关键指标和警告发送方式,以监测所配置的关键指标是否达到预警值,如果达到则通过所配置的警告发送方式把警告信息发送给管理员。
数据库实例情况运维查看
实例查看模式对象的空间使用
模式对象的空间管理关系到空间的有效使用和数据的合理分布。
- 查看用户占用的空间
可以使用系统函数 USER_USED_SPACE 得到用户占用空间的大小,函数参数为用户名,返回值为占用的页的数目。
SELECT USER_USED_SPACE('TEST_USER'); |
- 看表占用的空间
可以使用系统函数 TABLE_USED_SPACE 得到表对象占用空间的大小,函数参数为模式名和表名,返回值为占用的页的数目。
SELECT TABLE_USED_SPACE('SYSDBA', 'TEST'); |
- 查看索引占用的空间
可以使用系统函数 INDEX_USED_SPACE 得到索引占用空间的大小,函数参数为索引 ID,返回值为占用的页的数目。
SELECT INDEX_USED_SPACE(33555463); |
实例运维查看
- 实例中查询活动会话
查询实例中活动会话使用 V$sessions 视图,V$sessions 会显示会话的具体信息,如执行的 SQL 语句、主库名、当前会话状态、用户名等等。
SELECT count(*) FROM v$sessions WHERE state='ACTIVE'; |
- 实例中锁查询
锁机制用于管理对共享资源的并发访问。数据库中使用锁是为了支持对共享资源进行并发访问,与此同时还能提供数据完整和一致性。每个数据库都会存在锁,不过实现机制各不相同。
死锁:当两个或者多个事务都在请求对方资源,等待其他事务释放锁从而产生等待环,则会产生死锁。
从定义上我们不难看出锁是数据库中合理的存在,它保证了共享资源的并发访问和数据一致性而正常存在的。但是死锁确实不合理的存在,它会影响客户正常的体验。下面是实例中锁查询语句:
SELECT o.name, l.* |
- 实例中已执行未提交的 SQL 查询
SELECT t1.sql_text, t1.state, t1.trx_id |
- 有事务未提交的表查询
SELECT b.object_name, c.sess_id, a.* |
- 长时间的 SQL 查询
SELECT t1.sql_text, t1.state, t1.trx_id |
- 找出已执行超过 2 秒的活动 SQL
SELECT * |




