南大通用GBase 8s 数据库性能优化工具sqltrace用法解析

原文链接:

Ghttps://www.gbase.cn/community/post/3934

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

 

在数据库管理中,性能监控和优化是确保系统高效运行的关键。南大通用GBase 8s数据库的sqltrace工具,作为性能监控的得力助手,能够帮助我们深入理解数据库活动,快速定位并解决性能瓶颈。

一、sqltrace工具概述

sqltrace是GBase 8s数据库自带的跟踪工具,专门设计用于捕捉和分析数据库中的SQL执行活动。通过sqltrace,我们可以监控SQL语句的执行情况,评估性能,并据此进行优化。2、

二、sqltrace工具的用法

以下命令均在sysadmin数据库下执行

1、全局跟踪(set sql tracing):对任意用户对任意数据库的操作都跟踪,数据库重启失效

  • set sql tracing info:显示全局 SQL 跟踪的状态,返回sqltrace是否是开启的,如果是开启的,同时展示配置参数
Sqltrace开启:
> execute function task ("set sql tracing info");
(expression)  SQL Tracing ON: ntraces=15000, size=4056, level=High, mode=Global
Sqltrace关闭:
> execute function task ("set sql tracing info");
(expression)  SQL Tracing OFF.

  • set sql tracing on:开启全局 SQL 跟踪,可选择地指定跟踪级别和模式,或更改跟踪缓冲区的大小

execute function task("set sql tracing on","number_traces","trace_size","level","mode");

参数说明:

参数

说明

number_traces要跟踪的SQL语句的数目,缺省值为1000
trace_size跟踪缓冲区大小的KB数。如果超过这个缓冲区大小,则数据库服务器丢弃保存的数据,缺省大小为2KB
level

跟踪级别,支持low、med、high

  • low 参数捕获语句统计、语句文本和语句迭代器
  • med 参数捕获low跟踪的信息加上表名、数据库名和存储过程堆栈
  • high 参数捕获med跟踪的信息加上主机变量
mode

跟踪所有用户还是选中的用户,支持global、user

  • global 参数启用对所有用户的跟踪。
  • user 参数启用跟踪由 set sql tracing user 参数启用跟踪的用户

下列示例对1500条SQL语句启动高级别全局跟踪,跟踪缓冲区为4KB:

execute function task("set sql tracing on","1500","4","high","global");

  • set sql tracing off:关闭全局 SQL 跟踪
execute function task ("set sql tracing off");

2、支持以数据库为维度进行跟踪(set sql tracing database):只跟踪用户对指定数据库的操作

  • set sql tracing database add:指定跟踪特定的数据库,跟踪记录该数据库下执行成功的SQL,包括跨库查询的SQL。

每次只能指定一个数据库,可以跟踪的数据库数量上限为16个

下列示例对mydb数据库启动跟踪:

execute function task("set sql tracing database add","mydb");
  • set sql tracing database remove:只取消对某一个数据库的跟踪

下列示例取消对mydb数据库的跟踪:

execute function task("set sql tracing database remove","mydb");
  • set sql tracing database list:查询跟踪的数据库列表
execute function task("set sql tracing database list");
  • set sql tracing database clear:清空跟踪的数据库列表,回到跟踪全部数据库的状态
execute function task("set sql tracing database clear");

执行

execute function task("set sql tracing database list");

返回

(expression) SQLTrace is tracing all databases

三、跟踪结果查询

查询在sysmaster库下执行。

查看执行耗时较长sql:

unload to sql.unl
select sql_maxtime,sql_avgtime,sql_statement 
from syssqltrace order by sql_maxtime desc;

查看当前路径下生成的sql.unl文件。

查询跟踪信息,根据需要排序

select * from syssqltrace;

命令查看trace信息:

onstat -g his

总之sqltrace工具是数据库管理员进行性能监控和优化的利器。通过合理配置和使用sqltrace,我们能够提升数据库性能,确保业务的连续性和稳定性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值