ITPub博客

首页 > 数据库 > Oracle > 【ORACLE】Mystat脚本获得ORACLE统计结果

【ORACLE】Mystat脚本获得ORACLE统计结果

原创 Oracle 作者:enyaer 时间:2016-08-21 10:42:53 0 删除 编辑

mystat.sql和mystat2.sql可以根据v$mystat视图中的信息得出执行各个语句的各项统计结果

mystat.sql只是获得统计结果的开始值:

点击(此处)折叠或打开

  1. set echo off
  2. set verify off
  3. column value new_val V
  4. define S="&1"
  5.  
  6. set autotrace off
  7. select a.name,b.value from v$statname a,v$mystat b
  8. where a.statistic#=b.statistic#
  9. and lower(a.name) like '%'||lower('&S')||'%'
  10. /
  11. set echo on;

mystat2.sql用于报告差值:

点击(此处)折叠或打开

  1. set echo off
  2. set verify off
  3. select a.name,b.value V,to_char(b.value-&V,'999,999,999,999') diff
  4. from v$statname a,v$mystat b
  5. where a.statistic#=b.statistic#
  6. and lower(a.name) like '%'||lower('&S')||'%'
  7. /
  8. set echo on


例如要查看某个update产生的redo数,可以使用以下命令:

点击(此处)折叠或打开

  1. SQL> @mystat.sql "redo size"
  2. SQL> set echo off
  3.  
  4. NAME                                 VALUE
  5. ---------------------------------------------------------------- ----------
  6. redo size                             4272908
  7. redo size for lost write detection          0
  8. redo size for direct writes              8228
  9.  
  10. SQL> update tobj set created=sysdate;
  11.  
  12. 14921 rows updated.
  13.  
  14. SQL> commit;
  15.  
  16. Commit complete.
  17.  
  18. SQL> @mystat2
  19. SQL> set echo off
  20.  
  21. NAME                                     V              DIFF
  22. -------------------------------------- ---------- ----------------
  23. redo size                                 8548796        8,540,568
  24. redo size for lost write detection              0           -8,228
  25. redo size for direct writes                 16456            8,228

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/618091/viewspace-2123747/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    10
  • 访问量
    18691