2 常用系统表监控 SQL 及查询结果的诊断与分析
下面以 GBase 8s 数据库监控和优化的方法和分析主题为单位,提供具体访问 GBase 8s系统表来监控数据库运行状态的 SQL 语句,对 SQL 返回的结果进行分析,提出数据库优化建议。DBA 根据这些内容就可以掌握如何使用 GBase 8s 系统表进行数据库的监控和性能优化。
注意:这里用到的用户定义数据库名为
dbtest,在应用本文提供的 SQL 语句时,需要将数据库名
dbtest修改为实际的数据库名。
3 数据库实例基本运行状况
查询数据库实例基本运行情况的
SQL 语句如下,可了解数据库实例的运行信息如统计信息的起始时间、数据库出现长事务的次数。
select
dbinfo('UTC_TO_DATETIME',sh_boottime)
start_time,
current year to second - dbinfo('UTC_TO_DATETIME',sh_boottime) run_time,
sh_maxchunks as maxchunks,
sh_maxdbspaces maxdbspaces,
sh_maxuserthreads
maxuserthreads,
sh_maxtrans
maxtrans,sh_maxlocks locks,
sh_nlrus buff_lrus,sh_longtx
longtxs,
dbinfo('UTC_TO_DATETIME',sh_pfclrtime)
onstat_z_running_time
from sysmaster:sysshmvals;
数据库实例基本运行情况的查询结果如下。
从如上 SQL 语句返回的结果可以得到 GBase 8s 实例的如下有用信息。上一次运行 onstat -z 清除统计信息的时间为:onstat_z_running_time,该时间可以帮助DBA 确认当前统计的信息的时间长度,而不需要重新启动数据库,可以通过 onstat
-z 来清除统计信息,从而确认时间间隔内的数据库运行情况。
数据库出现长事务的次数为:longtxs。
另外,我们可以得到实例所支持的最大 chunk 和 dbspace 数量,以及可以运行的线程
数量。还包含实例的配置参数值:锁的个数、LRU 队列数。
----未完待续----