zoukankan      html  css  js  c++  java
  • 【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,然后再单独为特殊用户设定特殊收集。

  • 相关阅读:
    SuperMap-iServer-单点登录功能验证(CAS)
    Oracle数据库的链接数目超标
    转载---javascript 定时器总结
    JMeter使用文档
    转载--改变ubuntu默认编码为GBK
    遥感数据下载
    Supermap iCloudManager -负载均衡
    XCode: 如何添加自定义代码片段
    imageNamed和dataWithContentsOfFile的区别(1)
    imageNamed 与 imageWithContentsOfFile的区别
  • 原文地址:https://www.cnblogs.com/badboy200800/p/9849081.html
Copyright © 2011-2022 走看看