我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。
上面文章Oracle DBA必备脚本:一秒就定位千行执行计划的SQL慢在哪一步中我们谈到如果快速的通过脚本定位到执行计划中哪一步耗时久,这样的场景常常用户性能分析时需要分析SQL执行计划,这样的场景比例其实不到50%,那还有50%的场景是哪些呢?其实就是典型的TP场景中,SQL执行计划突然的情况。基本上日常运维时,开发突然反馈系统突然变慢都属于这种情况。
这种情况下如果快速的定位SQL性能数据和准确的获取性能拐点就非常重要了,因为他是由于SQL优化的基础。sql_stat_by_sqlid.sql脚本会将SQL性能的数据暂时出来,可方便我们快速的查阅相关信息,找到SQL的资源消耗在什么环境、找到性能拐点的资源消耗。此脚本收集了内存、AWR中的SQL的性能数据,大概有如下这些:
plain_text
每次执行的平均逻辑读
每次执行的平均物理读
每次执行返回的平均行数
每次执行的每次FETCH的平均
每次执行平均IO消耗的时间
每次执行平均CPU的时间
每次执行平均消耗时间
每次执行集群等待平均消耗时间
每次执行PL/SQL代码消耗时间
SQL PROFILE的信息
SQL第一次加载和最后一些加载的时间
..........
上面这些信息是普通版本的SQL性能需要关注的信息,如果是一体机等环境中,需要使用另外的脚本,会将一体机的相信信息也展示出来。有了这些信息,就算是一个新手都可以快速的知道SQL语句的性能指标,下面我们看看在生产中执行的结果。
plain_text
SYS@HTZ.PW > @sql_stat_by_sqlid.sql
Enter value for sqlid: 6aunkt7qyhnh8
****************************************************************************************
SQL STATS
****************************************************************************************
+------------------------------------------------------------------------+
| infromation from v$sqlstats |
+------------------------------------------------------------------------+
CPU(MS) ELA(MS) DISK GET ROWS ROWS APPLI(MS) CONCUR(MS) CLUSTER(MS) USER_IO(MS) PLSQL JAVA
EXEC PRE EXEC PRE EXEC PRE EXEC PRE EXEC PRE EXEC PRE FETCH PER EXEC PER EXEC PER EXEC PER EXEC PER EXEC PER EXEC SQL_PROFILE
---------- -------- -------- -------- ------------ ----------- --------- --------- ---------- ----------- ----------- -------- -------- ---------------
54101 94 96 4 12,053 1 1 0 0 0 1 83 0
+------------------------------------------------------------------------+
| information from v$sql |
+------------------------------------------------------------------------+
PLAN CHI USER CPU(MS) ELA(MS) DISK GET ROWS ROWS APPLI(MS) CONCUR(MS) CLUSTER(MS) USER_IO(MS) FIRST_LOAD_TIME
EXEC HASH VALUE NUM NAME PRE EXEC PRE EXEC PRE EXEC PRE EXEC PRE EXEC PRE FETCH PER EXEC PER EXEC PER EXEC PER EXEC LAST_LOAD_TIME
---------- ------------- ---- ---------- -------- -------- -------- ------------ ----------- --------- --------- ---------- ----------- ----------- ----------------------
54101 3415216077 0 HTZHTZZ 94 96 4 12,053 1 1 0 0 0 1 10-31/16:3.10-16/22:3
+------------------------------------------------------------------------+
| information from awr sysdate-7 |
+------------------------------------------------------------------------+
PLAN GET DISK WRITE ROWS ROWS USER_IO(MS) ELA(MS) CPU(MS) CLUSTER(MS) PLSQL
END_TI I NAME HASH VALUE EXEC PRE EXEC PRE EXEC PER EXEC ROW_P PRE EXEC PRE FETCH PER EXEC PRE EXEC PRE EXEC PER EXEC PER EXEC
------ - --------------- ------------- ---------- ------------ -------- -------- ----- ----------- --------- ----------- -------- -------- ----------- --------
13 19 1 HTZHTZZ 3415216077 1.2K 12,215 0 0 1.2K 0 1 135 90,214 89,405 0 72
13 20 1 HTZHTZZ 3415216077 739 12,764 0 0 713 0 1 96 100,122 99,264 0 74
13 21 1 HTZHTZZ 3415216077 397 12,765 2 0 360 0 1 594 101,938 100,677 0 83
13 22 1 HTZHTZZ 3415216077 379 12,422 11 0 346 0 1 2,249 100,446 97,645 0 81
13 23 1 HTZHTZZ 3415216077 453 15,431 2 0 431 0 1 408 141,548 140,383 0 76
14 01 1 HTZHTZZ 3415216077 604 12,710 1 0 593 0 1 355 98,172 97,196 0 73
14 02 1 HTZHTZZ 3415216077 602 12,434 0 0 579 0 1 120 93,129 92,355 0 71
14 08 1 HTZHTZZ 3415216077 642 12,881 2 0 620 0 1 508 104,068 102,768 0 85
14 09 1 HTZHTZZ 3415216077 1.8K 12,377 3 0 1.7K 0 1 936 101,100 98,860 0 88
14 10 1 HTZHTZZ 3415216077 2.4K 11,885 6 0 2.1K 0 1 1,462 94,225 91,387 0 81
14 11 1 HTZHTZZ 3415216077 3.5K 11,910 4 0 3.0K 0 1 1,061 96,398 93,815 0 76
14 12 1 HTZHTZZ 3415216077 3.3K 11,773 4 0 2.9K 0 1 923 91,642 89,481 0 78
14 13 1 HTZHTZZ 3415216077 925 11,755 1 0 782 0 1 265 86,145 85,151 0 72
14 14 1 HTZHTZZ 3415216077 758 12,204 1 0 698 0 1 299 92,684 91,642 0 78
14 15 1 HTZHTZZ 3415216077 2.3K 11,616 2 0 2.1K 0 1 484 87,809 86,229 0 80
14 16 1 HTZHTZZ 3415216077 3.1K 11,671 4 0 2.8K 0 1 1,024 88,420 86,353 0 81
14 17 1 HTZHTZZ 3415216077 3.1K 11,882 5 0 2.8K 0 1 1,201 92,026 89,835 0 82
14 18 1 HTZHTZZ 3415216077 2.1K 12,074 4 0 2.0K 0 1 1,002 95,571 93,587 0 87
14 19 1 HTZHTZZ 3415216077 1.7K 11,889 1 0 1.6K 0 1 215 84,832 83,884 0 74
14 20 1 HTZHTZZ 3415216077 982 11,982 1 0 942 0 1 299 86,434 85,465 0 75
14 21 1 HTZHTZZ 3415216077 746 15,452 3 0 729 0 1 670 142,204 140,804 0 78
14 22 1 HTZHTZZ 3415216077 542 12,222 1 0 533 0 1 255 91,731 90,818 0 83
14 23 1 HTZHTZZ 3415216077 421 13,011 1 0 388 0 1 255 106,721 105,822 0 82
15 00 1 HTZHTZZ 3415216077 514 12,789 2 0 482 0 1 558 101,291 100,016 0 74
15 01 1 HTZHTZZ 3415216077 595 12,818 2 0 592 0 1 542 98,304 97,130 0 76
15 02 1 HTZHTZZ 3415216077 586 12,223 0 0 557 0 1 75 89,481 88,741 0 76
15 08 1 HTZHTZZ 3415216077 787 12,581 1 0 770 0 1 368 98,549 97,406 0 82
15 09 1 HTZHTZZ 3415216077 1.9K 12,090 2 0 1.8K 0 1 759 98,397 96,465 0 89
15 10 1 HTZHTZZ 3415216077 2.3K 12,712 5 0 2.0K 0 1 1,282 108,895 106,381 0 83
15 11 1 HTZHTZZ 3415216077 2.7K 11,992 5 0 2.5K 0 1 1,284 95,666 93,228 0 83
15 12 1 HTZHTZZ 3415216077 2.6K 11,830 3 0 2.3K 0 1 733 91,010 89,237 0 82
15 13 1 HTZHTZZ 3415216077 976 11,687 1 0 907 0 1 393 85,830 84,596 0 77
15 14 1 HTZHTZZ 3415216077 940 11,911 7 0 864 0 1 1,526 90,117 87,823 0 79
15 15 1 HTZHTZZ 3415216077 1.9K 11,651 4 0 1.8K 0 1 1,064 88,448 86,427 0 88
15 16 1 HTZHTZZ 3415216077 2.7K 11,934 6 0 2.6K 0 1 1,478 94,327 91,784 0 85
15 17 1 HTZHTZZ 3415216077 2.8K 11,845 8 0 2.7K 0 1 1,910 93,122 90,082 0 84
15 18 1 HTZHTZZ 3415216077 1.9K 11,677 4 0 1.8K 0 1 1,017 87,249 85,382 0 83
15 19 1 HTZHTZZ 3415216077 1.7K 12,021 1 0 1.7K 0 1 301 86,564 85,497 0 72
15 20 1 HTZHTZZ 3415216077 780 11,837 1 0 719 0 1 305 85,114 84,122 0 76
15 21 1 HTZHTZZ 3415216077 561 11,833 1 0 544 0 1 326 85,051 84,076 0 80
15 22 1 HTZHTZZ 3415216077 464 12,475 12 0 447 0 1 2,316 97,709 94,867 0 82
15 23 1 HTZHTZZ 3415216077 530 11,871 6 0 494 0 1 1,294 87,497 85,646 0 81
16 00 1 HTZHTZZ 3415216077 373 13,420 6 0 353 0 1 1,231 111,410 109,560 0 86
16 01 1 HTZHTZZ 3415216077 512 12,509 0 0 485 0 1 185 93,540 92,687 0 73
16 02 1 HTZHTZZ 3415216077 692 12,197 0 0 680 0 1 45 89,113 88,466 0 75
16 08 1 HTZHTZZ 3415216077 724 13,241 0 0 702 0 1 123 109,523 108,493 0 81
16 09 1 HTZHTZZ 3415216077 1.8K 12,268 7 0 1.7K 0 1 1,545 100,614 97,867 0 88
16 10 1 HTZHTZZ 3415216077 2.4K 12,811 3 0 2.1K 0 1 953 109,591 107,399 0 82
16 11 1 HTZHTZZ 3415216077 3.1K 11,762 3 0 2.7K 0 1 909 90,988 88,962 0 82
16 12 1 HTZHTZZ 3415216077 3.0K 12,666 5 0 2.8K 0 1 1,111 103,843 101,713 0 80
16 13 1 HTZHTZZ 3415216077 716 11,830 2 0 668 0 1 603 88,348 86,973 0 82
16 14 1 HTZHTZZ 3415216077 649 12,130 4 0 605 0 1 838 92,325 90,700 0 81
16 15 1 HTZHTZZ 3415216077 1.9K 12,035 3 0 1.8K 0 1 785 94,478 92,643 0 85
16 16 1 HTZHTZZ 3415216077 3.1K 11,871 3 0 2.9K 0 1 680 90,791 89,060 0 85
16 17 1 HTZHTZZ 3415216077 2.7K 11,852 4 0 2.4K 0 1 850 90,760 88,916 0 81
16 18 1 HTZHTZZ 3415216077 1.7K 11,706 6 0 1.7K 0 1 1,371 87,801 85,597 0 85
16 19 1 HTZHTZZ 3415216077 1.1K 11,845 7 0 1.1K 0 1 1,803 87,542 85,066 0 78
16 20 1 HTZHTZZ 3415216077 987 12,157 3 0 941 0 1 624 90,511 89,133 0 72
16 21 1 HTZHTZZ 3415216077 608 12,123 3 0 563 0 1 761 90,295 88,853 0 78
16 22 1 HTZHTZZ 3415216077 420 13,125 3 0 399 0 1 688 107,535 106,215 0 84
16 23 1 HTZHTZZ 3415216077 529 12,124 2 0 512 0 1 389 89,849 88,824 0 82
17 00 1 HTZHTZZ 3415216077 511 12,315 0 0 506 0 1 165 91,344 90,591 0 74
17 01 1 HTZHTZZ 3415216077 656 12,165 0 0 620 0 1 107 87,803 87,011 0 73
17 02 1 HTZHTZZ 3415216077 504 12,111 0 0 469 0 1 52 88,290 87,632 0 77
17 03 1 HTZHTZZ 3415216077 328 12,177 0 0 317 0 1 2 89,923 89,252 0 80
17 07 1 HTZHTZZ 3415216077 342 13,185 0 0 334 0 1 354 108,719 107,782 0 76
17 08 1 HTZHTZZ 3415216077 647 12,485 1 0 636 0 1 305 98,428 97,345 0 85
17 09 1 HTZHTZZ 3415216077 1.8K 12,147 3 0 1.7K 0 0 1,032 98,190 96,118 0 87
17 10 1 HTZHTZZ 3415216077 2.2K 11,799 3 0 2.0K 0 1 954 92,494 90,221 0 85
17 11 1 HTZHTZZ 3415216077 2.9K 12,087 3 0 2.7K 0 1 925 97,600 95,208 0 86
17 12 1 HTZHTZZ 3415216077 2.7K 11,970 4 0 2.5K 0 1 1,256 96,046 93,493 0 84
17 13 1 HTZHTZZ 3415216077 692 12,269 3 0 641 0 1 766 97,587 95,666 0 82
17 14 1 HTZHTZZ 3415216077 878 12,003 4 0 815 0 1 1,143 95,158 92,912 0 82
17 15 1 HTZHTZZ 3415216077 2.0K 12,139 4 0 1.9K 0 1 1,076 98,252 95,849 0 86
17 16 1 HTZHTZZ 3415216077 2.9K 12,006 6 0 2.7K 0 1 1,454 96,727 93,725 0 83
17 17 1 HTZHTZZ 3415216077 2.6K 11,880 4 0 2.4K 0 1 1,079 94,449 92,039 0 85
17 18 1 HTZHTZZ 3415216077 2.2K 12,020 4 0 2.1K 0 1 931 94,669 92,507 0 82
17 19 1 HTZHTZZ 3415216077 1.3K 11,748 2 0 1.2K 0 1 502 87,374 85,728 0 77
17 20 1 HTZHTZZ 3415216077 784 12,126 2 0 730 0 1 452 94,925 93,380 0 78
17 21 1 HTZHTZZ 3415216077 674 12,141 5 0 650 0 1 1,153 95,178 92,800 0 83
17 22 1 HTZHTZZ 3415216077 649 12,054 3 0 621 0 1 889 94,960 92,795 0 82
17 23 1 HTZHTZZ 3415216077 697 11,869 6 0 649 0 1 1,383 89,628 87,041 0 77
18 01 1 HTZHTZZ 3415216077 585 12,740 0 0 563 0 1 137 102,446 101,111 0 78
18 02 1 HTZHTZZ 3415216077 684 12,212 0 0 660 0 1 144 93,983 92,761 0 76
18 08 1 HTZHTZZ 3415216077 828 12,515 2 0 820 0 1 667 102,907 100,904 0 83
18 09 1 HTZHTZZ 3415216077 1.5K 11,917 7 0 1.4K 0 1 1,706 96,399 93,352 0 86
18 10 1 HTZHTZZ 3415216077 2.3K 11,922 6 0 2.2K 0 1 1,461 97,222 94,227 0 86
18 11 1 HTZHTZZ 3415216077 2.9K 11,977 4 0 2.7K 0 1 943 95,486 93,162 0 82
18 12 1 HTZHTZZ 3415216077 2.9K 11,718 3 0 2.7K 0 1 754 90,947 88,798 0 84
18 13 1 HTZHTZZ 3415216077 775 12,567 2 0 729 0 1 505 103,558 101,732 0 82
18 14 1 HTZHTZZ 3415216077 847 11,869 3 0 772 0 1 790 92,019 90,051 0 79
18 15 1 HTZHTZZ 3415216077 2.0K 12,168 5 0 1.8K 0 1 1,397 102,066 99,110 0 86
18 16 1 HTZHTZZ 3415216077 2.6K 12,041 7 0 2.4K 0 1 2,022 98,458 94,906 0 84
18 17 1 HTZHTZZ 3415216077 2.5K 12,036 6 0 2.4K 0 1 1,625 96,669 93,730 0 82
18 18 1 HTZHTZZ 3415216077 1.6K 12,007 2 0 1.5K 0 1 574 93,885 92,016 0 80
95 rows selected.
脚本的获取
脚本已经上传到群,请加群直接下载脚本。
更多与性能相关的脚本
Oracle DBA必备脚本:一秒就定位千行执行计划的SQL慢在哪一步
SQL优化必备脚本:Oracle获取绑定变量的字面SQL文本
SQL性能优化的案例
性能优化:两条SQL索引优化,CPU占用率从40%降至25%
性能调优:分页SQL语句的优化
------------------作者介绍-----------------------
姓名:黄廷忠
现就职:Oracle中国高级服务团队
曾就职:OceanBase、云和恩墨、东方龙马等
电话、微信、QQ:18081072613
个人博客: (http://www.htz.pw)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)