【Teradata】DBQL使用

1.运行数据库初始化程序DIP(Database Initialization Program)脚本DIPACC,创建存储DBQL表和其他性能数据。

//查看是否dbc下有宏acclogrule,确定是否已经安装。
sel * from dbc.tablesv where tablename ='acclogrule'

2.必须对dbc.dbqlaccessmacro宏具有执行权限才能启用或关闭日志记录。默认dbc和systemFE有权限。

grant exec on DBC.DBQLAccessMacro to Sysdba with grant option;

3.使用begin query logging语句创建日志记录规则,使用replace query logging语句用新的日志规则替换现有的日志规则,使用end query logging语句关闭日志记录。

BEGIN QUERY LOGGING WITH NONE ON tacticaluser1, tacticaluser2;

replace query logging 会将规则中原有已经开启的监控关闭。end query logging 会将规则表中整条记录删除。

begin query logging with lock=10 on all; //记录日志锁
sel * from dbc.qrylocklogxmlv; //查询日志锁信息,xml格式保存
sel * from dbc.dbqlrulesv;  //查询已配置的规则

4.刷新DBQL或TDWM缓存到磁盘

DBQL根据指定的规则将查询信息收集到数据缓存中,定期刷新缓存将信息写入dbql字典表。DBSControl 中参数DBQLFlushRate,可以指定多长时间收集一次,默认10分钟。

使用如下语句可将缓存信息刷新到磁盘上,立即能在数据库中查询到刚刚发生的查询。

FLUSH QUERY LOGGING WITH ALL;      --刷DBQL和TDWM
FLUSH QUERY LOGGING WITH ALLDBQL;  --刷DBQL
FLUSH QUERY LOGGING WITH ALLTDWM;  --刷TDWM

DBQL:Database Query Log 

TDWM:Teradata Database Workload Management

 

 

DBQL使用技巧:

1.replace可以无缝收集。避免使用end+begin。replace view道理类似,使用drop+create可能会造成访问失败,中间毕竟有间隔。

2.如果某些用户提交sql质量较高或者sql比较简单,没有必要监控,则这些用户无需开启dbql。先on all后 使用with none on这些用户。

3.先设定通用规则使用on all,然后再单独为特殊用户设定特殊收集。

 

转载于:https://www.cnblogs.com/badboy200800/p/9849081.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值