热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

GaussDBTWSR简介

GaussDB有类似oracleAWR报告的WSR报告。帮助D


GaussDB有类似Oracle AWR报告的WSR(Workload Statistics Report)报告。以帮助DBA进行DB性能分析定位。

集群环境当前仅支持在DN主节点上生成分析报告,不支持CN节点。

    [omm@Gauss1 ~]$ zsql sys/'Changeme_123'@127.0.0.1:40000 -q
    connected.


    SQL> wsr
    The syntax of generating a WSR report is as follows:


    Format: WSR snap_id1 snap_id2 "FILENAME"
    snap_id1 and snap_id2 indicate the IDs of the start and end snapshots, respectively. FILENAME is optional.
    You can create a snapshot using the SYS.WSR$CREATE_SNAPSHOT stored procedure and obtain snapshot IDs from the adm_hist_snapshot system view.
    You can drop snapshots using the WSR$DROP_SNAPSHOT_RANGE stored procedure and obtain the latest 20 snapshot IDs by running the WSR list command.
    Example1: WSR 10 20
    Use snapshot 10 and snapshot 20 to generate a report, with a default report name.
    Example2: WSR 10 20 "e:\wsr.html"
    Use snapshot 10 and snapshot 20 to generate a report, with a specified report name.
    Example3: WSR list
    Obtain information about the latest 20 snapshots.
    Example4: CALL WSR$CREATE_SNAPSHOT;
    Create a snapshot.
    Example5: CALL WSR$DROP_SNAPSHOT_RANGE(10, 20);
    Drop snapshots from snapshot 10 to snapshot 20.
    Note: For WSR, the values of the SQL_STAT and TIMED_STATS system parameters are true.


    SQL>

    查看可用快照点:

      SQL> wsr list;
      Listing the lastest Completed Snapshots
      Snap Id Snap Started DB_startup_time
      --------------- ------------------- ------------------
      26 2019-12-17 04:30:21 2019-12-17 03:30:19
      25 2019-12-17 04:00:21 2019-12-17 03:30:19
      24 2019-12-17 03:30:21 2019-12-17 03:30:19
      23 2019-12-17 01:57:30 2019-12-17 00:27:29
      22 2019-12-17 01:27:30 2019-12-17 00:27:29
      21 2019-12-17 00:57:30 2019-12-17 00:27:29
      20 2019-12-17 00:27:30 2019-12-17 00:27:29
      19 2019-12-16 23:51:43 2019-12-16 22:04:44
      18 2019-12-16 23:21:43 2019-12-16 22:04:44
      17 2019-12-16 22:51:43 2019-12-16 21:49:30
      16 2019-12-16 22:21:43 2019-12-16 21:49:30
      15 2019-12-16 21:51:43 2019-12-16 21:49:30
      14 2019-12-16 03:47:00 2019-12-15 22:46:59
      13 2019-12-16 03:17:00 2019-12-15 22:46:59
      12 2019-12-16 02:47:00 2019-12-15 22:46:59
      11 2019-12-16 02:17:00 2019-12-15 22:46:59
      10 2019-12-16 01:47:00 2019-12-15 22:46:59
      9 2019-12-16 01:17:00 2019-12-15 22:46:59
      8 2019-12-16 00:47:00 2019-12-15 22:46:59
      7 2019-12-16 00:17:00 2019-12-15 22:46:59
      SQL>

      手动收集快照点

        SQL> CALL WSR$CREATE_SNAPSHOT;
        PL/SQL procedure successfully completed.
        SQL>

        查看WSR配置信息

          SQL> select snap_interval,retention,topnsql,session_status,session_interval,log_days from adm_hist_wr_control;


          SNAP_INTERVAL RETENTION TOPNSQL SESSION_STATUS SESSION_INTERVAL LOG_DAYS
          ------------------------ ------------------------ ------------ -------------- ---------------- ------------
          +00000 00:30:00.0 +00002 00:00:00.0 200 Y 30 30


          1 rows fetched.


          SQL>

            SNAP_INTERVAL : 自动生成快照的间隔。取值范围【5,1440】 单位:分钟 默认值:30分 钟 参数为整数 call WSR $MODIFY_SETTING(I_ IN_INTERVAL_MINUT ES => 30);
            RETENTION         :  快照保留的天数。        取值范围【1,3000】 单位:天 默认值:2天 参数为整数        call WSR $MODIFY_SETTING(I_ IN_RETENTION_DAYS => 30);
            TOPNSQL           :  报告中Top SQL个 数。    取值范围【1,1000】 单位:个 默认值:200个 参数为整数     call WSR $MODIFY_SETTING(I_ IN_TOPSQL=> 100);
            SESSION_STATUS    :  是否开启准实时收 集任务。取值范围  Y:开启。N:不开启。默认值:Y         call WSR $MODIFY_SETTING(S TR_IN_SESSION_STAT US=> 'Y');
            SESSION_INTERVA   :  准实时收集任务的间隔。  取值范围【1,1000】 单位:秒 默认值:30秒 参数为整数   call WSR $MODIFY_SETTING(I_ IN_SESSION_INTERVA L => 30);
            LOG_DAYS          :  日志的保留天数。        取值范围【1,1000】 单位:天 默认值:30天 参数为整数   call WSR $MODIFY_SETTING(I_ IN_LOG_DAYS => 30);



            常用操作:

              SQL> wsr list;
              Listing the lastest Completed Snapshots


              Snap Id Snap Started DB_startup_time
              --------------- ------------------- ------------------
              27 2019-12-17 04:37:31 2019-12-17 03:30:19
              26 2019-12-17 04:30:21 2019-12-17 03:30:19
              25 2019-12-17 04:00:21 2019-12-17 03:30:19
              24 2019-12-17 03:30:21 2019-12-17 03:30:19
              23 2019-12-17 01:57:30 2019-12-17 00:27:29
              22 2019-12-17 01:27:30 2019-12-17 00:27:29
              21 2019-12-17 00:57:30 2019-12-17 00:27:29
              20 2019-12-17 00:27:30 2019-12-17 00:27:29
              19 2019-12-16 23:51:43 2019-12-16 22:04:44
              18 2019-12-16 23:21:43 2019-12-16 22:04:44
              17 2019-12-16 22:51:43 2019-12-16 21:49:30
              16 2019-12-16 22:21:43 2019-12-16 21:49:30
              15 2019-12-16 21:51:43 2019-12-16 21:49:30
              14 2019-12-16 03:47:00 2019-12-15 22:46:59
              13 2019-12-16 03:17:00 2019-12-15 22:46:59
              12 2019-12-16 02:47:00 2019-12-15 22:46:59
              11 2019-12-16 02:17:00 2019-12-15 22:46:59
              10 2019-12-16 01:47:00 2019-12-15 22:46:59
              9 2019-12-16 01:17:00 2019-12-15 22:46:59
              8 2019-12-16 00:47:00 2019-12-15 22:46:59


              SQL> call wsr$drop_snapshot_range(8,10); --删除指定范围snapshot
              PL/SQL procedure successfully completed.


              SQL> wsr list;
              Listing the lastest Completed Snapshots


              Snap Id Snap Started DB_startup_time
              --------------- ------------------- ------------------
              27 2019-12-17 04:37:31 2019-12-17 03:30:19
              26 2019-12-17 04:30:21 2019-12-17 03:30:19
              25 2019-12-17 04:00:21 2019-12-17 03:30:19
              24 2019-12-17 03:30:21 2019-12-17 03:30:19
              23 2019-12-17 01:57:30 2019-12-17 00:27:29
              22 2019-12-17 01:27:30 2019-12-17 00:27:29
              21 2019-12-17 00:57:30 2019-12-17 00:27:29
              20 2019-12-17 00:27:30 2019-12-17 00:27:29
              19 2019-12-16 23:51:43 2019-12-16 22:04:44
              18 2019-12-16 23:21:43 2019-12-16 22:04:44
              17 2019-12-16 22:51:43 2019-12-16 21:49:30
              16 2019-12-16 22:21:43 2019-12-16 21:49:30
              15 2019-12-16 21:51:43 2019-12-16 21:49:30
              14 2019-12-16 03:47:00 2019-12-15 22:46:59
              13 2019-12-16 03:17:00 2019-12-15 22:46:59
              12 2019-12-16 02:47:00 2019-12-15 22:46:59
              11 2019-12-16 02:17:00 2019-12-15 22:46:59
              7 2019-12-16 00:17:00 2019-12-15 22:46:59
              6 2019-12-15 23:47:00 2019-12-15 22:46:59
              5 2019-12-15 23:17:00 2019-12-15 22:46:59
              SQL> wsr 10 20 --收集指定范围snapshot报告
              GS-00601, [1:4]Sql syntax error: start_snap_id doesn't exist!
              WSR Report Build failed.


              SQL> wsr 11 20
              GS-00516, Err occur when generate WSR report, msg: Database restarts in the middle of two snapshots.
              WSR Report Build failed.


              SQL> wsr 24 26 ----收集指定范围snapshot报告


              WSR report file name : wsrrpt_24_26.html
              WSR report Generation Success.


              SQL> wsr 24 26 "/tmp/24-26.html" ----收集指定范围snapshot报告,并指定报告路径及名称


              WSR report file name : tmp/24-26.html
              WSR report Generation Success.


              SQL>


              WSR 相关视图 

                ADM_HIST_SNAPSHOT :历史快照信息
                ADM_HIST_WR_CONTROL :WSR相关配置
                ADM_HIST_SYSSTAT :DV_SYS_STATS快照信息
                ADM_HIST_SYSTEM :DV_SYSTEM快照信息
                ADM_HIST_SYSTEM_EVENT :DV_SYS_EVENTS快照信息
                ADM_HIST_SQLAREA :DV_SQLS快照信息
                ADM_HIST_PARAMETER :DV_PARAMETERS快照信息
                ADM_HIST_WAITSTAT :DV_WAIT_STATS快照信息
                ADM_HIST_LATCH :DV_LATCHS快照信息
                ADM_HIST_LIBRARYCACHE :DV_LIBRARY_CACHE快照信息
                ADM_HIST_SEGMENT :DV_SEGMENT_STATS快照信息
                ADM_HIST_DBASEGMENTS :ADM_SEGMENTS快照信息
                ADM_JOBS                   :快照相关job信息 


                扩展:gs_wsr 

                    数据库集群部署成功后,GaussDB提供了gs_wsr工具将DN上的WSR报告统一生成并打包返回,极大提升了集群环境快速收集报告的效率。

                  [omm@Gauss1 ~]$ gs_wsr -t listsnapshot    --查看快照点
                  SNAP_ID DBID INSTANCE_ID STARTUP_TIME SNAP_TIME FLUSH_ELAPSED SESSIONS CURSORS
                  ------------ ------------ ------------ -------------------------------- -------------------------------- ------------------------ ------------ ------------
                  28 1199615300 0 2019-12-17 03:30:19.241 2019-12-17 05:00:21.217 -00000 00:00:00.2 71 2
                  27 1199615300 0 2019-12-17 03:30:19.241 2019-12-17 04:37:31.699 -00000 00:00:00.7 69 1
                  26 1199615300 0 2019-12-17 03:30:19.241 2019-12-17 04:30:21.562 -00000 00:00:00.6 70 2
                  25 1199615300 0 2019-12-17 03:30:19.241 2019-12-17 04:00:21.958 +00000 00:00:00.0 70 2
                  24 1199615300 0 2019-12-17 03:30:19.241 2019-12-17 03:30:21.420 -00000 00:00:00.4 49 1
                  23 1199615300 0 2019-12-17 00:27:29.283 2019-12-17 01:57:30.247 -00000 00:00:00.2 79 1
                  22 1199615300 0 2019-12-17 00:27:29.283 2019-12-17 01:27:30.584 -00000 00:00:00.6 70 2
                  21 1199615300 0 2019-12-17 00:27:29.283 2019-12-17 00:57:30.947 +00000 00:00:00.1 59 1
                  20 1199615300 0 2019-12-17 00:27:29.283 2019-12-17 00:27:30.306 -00000 00:00:00.3 50 2
                  9 rows fetched.
                  [omm@Gauss1 ~]$ gs_wsr -t report --begin-time="20191217 03:30:21" --end-time="20191217 04:30:21" --收集指定时间段报告
                  Successful completion of report collection, results are stored in home/omm/20191217-03-30-21_20191217-04-30-21.tar.gz.
                  [omm@Gauss1 tmp]$ tar -zxvf home/omm/20191217-03-30-21_20191217-04-30-21.tar.gz
                  24_25_DB4_7.html
                  24_25_DB3_5.html
                  24_25_DB2_3.html
                  24_25_DB1_1.html
                  [omm@Gauss1 ~]$

                      GaussDB 不仅支持上边的单命令一键收集,还支持部署定时任务,定时自动收集:

                    [omm@Gauss1 ~]$ gs_wsr -t createtask --time=60 --创建任务,每60min执行一次
                    ========================================
                    Begin to create wsr cron task.
                    Create wsr cron task time interval is 60 minutes.
                    Successfully create wsr cron task.
                    ========================================
                    [omm@Gauss1 ~]$ gs_wsr -t updatetask --time=120 --更新任务
                    [GAUSS-50004] : The parameter '--time' value is incorrect. Value scope is 15 or 30 or 60.
                    [omm@Gauss1 ~]$ gs_wsr -t updatetask --time=30
                    ========================================
                    Begin to update wsr cron task.
                    Update wsr task time interval to 30 minutes.
                    Successfully update wsr cron task.
                    ========================================
                    [omm@Gauss1 ~]$ gs_wsr -t taskstatus --查看任务状态
                    ========================================
                    Check wsr cron task status.
                    The wsr cron task is running.
                    Task time interval: [ 30 minutes ].
                    Check wsr cron task status Finished.
                    ========================================
                    [omm@Gauss1 ~]$ gs_wsr -t deletetask --删除任务
                    ========================================
                    Begin to delete wsr cron task.
                    Successfully delete wsr cron task.
                    ========================================
                    [omm@Gauss1 ~]$

                     

                    gs_wsr常用命令:

                      创建WSR的定时任务
                      gs_wsr -t createtask --time=MINUTES


                      删除WSR的定时任务
                      gs_wsr -t deletetask


                      更新WSR定时任务时间
                      gs_wsr -t updatetask --time=MINUTES


                      查询定时任务状态
                      gs_wsr -t taskstatus


                      生成WSR报告
                      gs_wsr -t report --begin-time="BEGINTIME" --end-time="ENDTIME" [--outDir="dir"]


                      查看快照


                      gs_wsr -t listsnapshot [-I INSTANCENAME] [--date="DATE"]
                      显示帮助信息
                      gs_wsr -? | --help


                      显示版本号信息
                      gs_wsr -V | --version


                      一睹为快:

                      WSR报告样例 

                      https://pan.baidu.com/s/1CHBPMELRMBhRCLHYh574Mw



                      关注国产,关注未来 我是Kevin YAN!


                      参考:

                      1. 《Gauss100官方文档》

                      2. https://support.huawei.com


                      关注我,可查阅更多文章呦!




                      推荐阅读
                      • Oracle10g备份导入的方法及注意事项
                        本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
                      • VScode格式化文档换行或不换行的设置方法
                        本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
                      • Oracle Database 10g许可授予信息及高级功能详解
                        本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
                      • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
                      • Oracle分析函数first_value()和last_value()的用法及原理
                        本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
                      • sklearn数据集库中的常用数据集类型介绍
                        本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
                      • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
                      • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
                      • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
                        本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
                      • IOS开发之短信发送与拨打电话的方法详解
                        本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
                      • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
                        项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
                      • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
                      • Postgresql备份和恢复的方法及命令行操作步骤
                        本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
                      • MySQL数据库锁机制及其应用(数据库锁的概念)
                        本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
                      • OCI连接MySQL_PLSQL Developer连接远程数据库OCI客户端安装方法
                        本文介绍了使用OCI客户端连接MySQL和PLSQL Developer连接远程数据库的安装方法,避免了在本地安装Oracle数据库或类似的开发套件的麻烦,同时解决了PLSQL Dev连接远程Oracle时的配置问题。 ... [详细]
                      author-avatar
                      疾风灬浪
                      这个家伙很懒,什么也没留下!
                      PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
                      Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有