瞧蛀 发表于 2025-8-18 22:06:47

Oracle DBA必备脚本:一键获取SQL性能数据,快速定位性能拐点

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。
上面文章Oracle DBA必备脚本:一秒就定位千行执行计划的SQL慢在哪一步中我们谈到如果快速的通过脚本定位到执行计划中哪一步耗时久,这样的场景常常用户性能分析时需要分析SQL执行计划,这样的场景比例其实不到50%,那还有50%的场景是哪些呢?其实就是典型的TP场景中,SQL执行计划突然的情况。基本上日常运维时,开发突然反馈系统突然变慢都属于这种情况。
这种情况下如果快速的定位SQL性能数据和准确的获取性能拐点就非常重要了,因为他是由于SQL优化的基础。sql_stat_by_sqlid.sql脚本会将SQL性能的数据暂时出来,可方便我们快速的查阅相关信息,找到SQL的资源消耗在什么环境、找到性能拐点的资源消耗。此脚本收集了内存、AWR中的SQL的性能数据,大概有如下这些:
每次执行的平均逻辑读
每次执行的平均物理读
每次执行返回的平均行数
每次执行的每次FETCH的平均
每次执行平均IO消耗的时间
每次执行平均CPU的时间
每次执行平均消耗时间
每次执行集群等待平均消耗时间
每次执行PL/SQL代码消耗时间
SQL PROFILE的信息
SQL第一次加载和最后一些加载的时间
..........上面这些信息是普通版本的SQL性能需要关注的信息,如果是一体机等环境中,需要使用另外的脚本,会将一体机的相信信息也展示出来。有了这些信息,就算是一个新手都可以快速的知道SQL语句的性能指标,下面我们看看在生产中执行的结果。
SYS@HTZ.PW > @sql_stat_by_sqlid.sql
Enter value for sqlid: 6aunkt7qyhnh8
****************************************************************************************
SQL STATS
****************************************************************************************

+------------------------------------------------------------------------+
| infromationfrom 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 FETCHPER 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               |
+------------------------------------------------------------------------+


                  PLANCHI USER      CPU(MS)ELA(MS)   DISK          GET      ROWS      ROWS APPLI(MS) CONCUR(MS) CLUSTER(MS) USER_IO(MS) FIRST_LOAD_TIME
EXEC          HASH VALUENUM NAME       PRE EXEC PRE EXEC PRE EXEC   PRE EXEC    PRE EXEC PRE FETCHPER 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 191 HTZHTZZ            3415216077 1.2K             12,215      0      0 1.2K            0         1         135   90,214   89,405         0       72
13 201 HTZHTZZ            3415216077 739            12,764      0      0 713             0         1          96100,122   99,264         0       74
13 211 HTZHTZZ            3415216077 397            12,765      2      0 360             0         1         594101,938100,677         0       83
13 221 HTZHTZZ            3415216077 379            12,422       11      0 346             0         1       2,249100,446   97,645         0       81
13 231 HTZHTZZ            3415216077 453            15,431      2      0 431             0         1         408141,548140,383         0       76
14 011 HTZHTZZ            3415216077 604            12,710      1      0 593             0         1         355   98,172   97,196         0       73
14 021 HTZHTZZ            3415216077 602            12,434      0      0 579             0         1         120   93,129   92,355         0       71
14 081 HTZHTZZ            3415216077 642            12,881      2      0 620             0         1         508104,068102,768         0       85
14 091 HTZHTZZ            3415216077 1.8K             12,377      3      0 1.7K            0         1         936101,100   98,860         0       88
14 101 HTZHTZZ            3415216077 2.4K             11,885      6      0 2.1K            0         1       1,462   94,225   91,387         0       81
14 111 HTZHTZZ            3415216077 3.5K             11,910      4      0 3.0K            0         1       1,061   96,398   93,815         0       76
14 121 HTZHTZZ            3415216077 3.3K             11,773      4      0 2.9K            0         1         923   91,642   89,481         0       78
14 131 HTZHTZZ            3415216077 925            11,755      1      0 782             0         1         265   86,145   85,151         0       72
14 141 HTZHTZZ            3415216077 758            12,204      1      0 698             0         1         299   92,684   91,642         0       78
14 151 HTZHTZZ            3415216077 2.3K             11,616      2      0 2.1K            0         1         484   87,809   86,229         0       80
14 161 HTZHTZZ            3415216077 3.1K             11,671      4      0 2.8K            0         1       1,024   88,420   86,353         0       81
14 171 HTZHTZZ            3415216077 3.1K             11,882      5      0 2.8K            0         1       1,201   92,026   89,835         0       82
14 181 HTZHTZZ            3415216077 2.1K             12,074      4      0 2.0K            0         1       1,002   95,571   93,587         0       87
14 191 HTZHTZZ            3415216077 1.7K             11,889      1      0 1.6K            0         1         215   84,832   83,884         0       74
14 201 HTZHTZZ            3415216077 982            11,982      1      0 942             0         1         299   86,434   85,465         0       75
14 211 HTZHTZZ            3415216077 746            15,452      3      0 729             0         1         670142,204140,804         0       78
14 221 HTZHTZZ            3415216077 542            12,222      1      0 533             0         1         255   91,731   90,818         0       83
14 231 HTZHTZZ            3415216077 421            13,011      1      0 388             0         1         255106,721105,822         0       82
15 001 HTZHTZZ            3415216077 514            12,789      2      0 482             0         1         558101,291100,016         0       74
15 011 HTZHTZZ            3415216077 595            12,818      2      0 592             0         1         542   98,304   97,130         0       76
15 021 HTZHTZZ            3415216077 586            12,223      0      0 557             0         1          75   89,481   88,741         0       76
15 081 HTZHTZZ            3415216077 787            12,581      1      0 770             0         1         368   98,549   97,406         0       82
15 091 HTZHTZZ            3415216077 1.9K             12,090      2      0 1.8K            0         1         759   98,397   96,465         0       89
15 101 HTZHTZZ            3415216077 2.3K             12,712      5      0 2.0K            0         1       1,282108,895106,381         0       83
15 111 HTZHTZZ            3415216077 2.7K             11,992      5      0 2.5K            0         1       1,284   95,666   93,228         0       83
15 121 HTZHTZZ            3415216077 2.6K             11,830      3      0 2.3K            0         1         733   91,010   89,237         0       82
15 131 HTZHTZZ            3415216077 976            11,687      1      0 907             0         1         393   85,830   84,596         0       77
15 141 HTZHTZZ            3415216077 940            11,911      7      0 864             0         1       1,526   90,117   87,823         0       79
15 151 HTZHTZZ            3415216077 1.9K             11,651      4      0 1.8K            0         1       1,064   88,448   86,427         0       88
15 161 HTZHTZZ            3415216077 2.7K             11,934      6      0 2.6K            0         1       1,478   94,327   91,784         0       85
15 171 HTZHTZZ            3415216077 2.8K             11,845      8      0 2.7K            0         1       1,910   93,122   90,082         0       84
15 181 HTZHTZZ            3415216077 1.9K             11,677      4      0 1.8K            0         1       1,017   87,249   85,382         0       83
15 191 HTZHTZZ            3415216077 1.7K             12,021      1      0 1.7K            0         1         301   86,564   85,497         0       72
15 201 HTZHTZZ            3415216077 780            11,837      1      0 719             0         1         305   85,114   84,122         0       76
15 211 HTZHTZZ            3415216077 561            11,833      1      0 544             0         1         326   85,051   84,076         0       80
15 221 HTZHTZZ            3415216077 464            12,475       12      0 447             0         1       2,316   97,709   94,867         0       82
15 231 HTZHTZZ            3415216077 530            11,871      6      0 494             0         1       1,294   87,497   85,646         0       81
16 001 HTZHTZZ            3415216077 373            13,420      6      0 353             0         1       1,231111,410109,560         0       86
16 011 HTZHTZZ            3415216077 512            12,509      0      0 485             0         1         185   93,540   92,687         0       73
16 021 HTZHTZZ            3415216077 692            12,197      0      0 680             0         1          45   89,113   88,466         0       75
16 081 HTZHTZZ            3415216077 724            13,241      0      0 702             0         1         123109,523108,493         0       81
16 091 HTZHTZZ            3415216077 1.8K             12,268      7      0 1.7K            0         1       1,545100,614   97,867         0       88
16 101 HTZHTZZ            3415216077 2.4K             12,811      3      0 2.1K            0         1         953109,591107,399         0       82
16 111 HTZHTZZ            3415216077 3.1K             11,762      3      0 2.7K            0         1         909   90,988   88,962         0       82
16 121 HTZHTZZ            3415216077 3.0K             12,666      5      0 2.8K            0         1       1,111103,843101,713         0       80
16 131 HTZHTZZ            3415216077 716            11,830      2      0 668             0         1         603   88,348   86,973         0       82
16 141 HTZHTZZ            3415216077 649            12,130      4      0 605             0         1         838   92,325   90,700         0       81
16 151 HTZHTZZ            3415216077 1.9K             12,035      3      0 1.8K            0         1         785   94,478   92,643         0       85
16 161 HTZHTZZ            3415216077 3.1K             11,871      3      0 2.9K            0         1         680   90,791   89,060         0       85
16 171 HTZHTZZ            3415216077 2.7K             11,852      4      0 2.4K            0         1         850   90,760   88,916         0       81
16 181 HTZHTZZ            3415216077 1.7K             11,706      6      0 1.7K            0         1       1,371   87,801   85,597         0       85
16 191 HTZHTZZ            3415216077 1.1K             11,845      7      0 1.1K            0         1       1,803   87,542   85,066         0       78
16 201 HTZHTZZ            3415216077 987            12,157      3      0 941             0         1         624   90,511   89,133         0       72
16 211 HTZHTZZ            3415216077 608            12,123      3      0 563             0         1         761   90,295   88,853         0       78
16 221 HTZHTZZ            3415216077 420            13,125      3      0 399             0         1         688107,535106,215         0       84
16 231 HTZHTZZ            3415216077 529            12,124      2      0 512             0         1         389   89,849   88,824         0       82
17 001 HTZHTZZ            3415216077 511            12,315      0      0 506             0         1         165   91,344   90,591         0       74
17 011 HTZHTZZ            3415216077 656            12,165      0      0 620             0         1         107   87,803   87,011         0       73
17 021 HTZHTZZ            3415216077 504            12,111      0      0 469             0         1          52   88,290   87,632         0       77
17 031 HTZHTZZ            3415216077 328            12,177      0      0 317             0         1         2   89,923   89,252         0       80
17 071 HTZHTZZ            3415216077 342            13,185      0      0 334             0         1         354108,719107,782         0       76
17 081 HTZHTZZ            3415216077 647            12,485      1      0 636             0         1         305   98,428   97,345         0       85
17 091 HTZHTZZ            3415216077 1.8K             12,147      3      0 1.7K            0         0       1,032   98,190   96,118         0       87
17 101 HTZHTZZ            3415216077 2.2K             11,799      3      0 2.0K            0         1         954   92,494   90,221         0       85
17 111 HTZHTZZ            3415216077 2.9K             12,087      3      0 2.7K            0         1         925   97,600   95,208         0       86
17 121 HTZHTZZ            3415216077 2.7K             11,970      4      0 2.5K            0         1       1,256   96,046   93,493         0       84
17 131 HTZHTZZ            3415216077 692            12,269      3      0 641             0         1         766   97,587   95,666         0       82
17 141 HTZHTZZ            3415216077 878            12,003      4      0 815             0         1       1,143   95,158   92,912         0       82
17 151 HTZHTZZ            3415216077 2.0K             12,139      4      0 1.9K            0         1       1,076   98,252   95,849         0       86
17 161 HTZHTZZ            3415216077 2.9K             12,006      6      0 2.7K            0         1       1,454   96,727   93,725         0       83
17 171 HTZHTZZ            3415216077 2.6K             11,880      4      0 2.4K            0         1       1,079   94,449   92,039         0       85
17 181 HTZHTZZ            3415216077 2.2K             12,020      4      0 2.1K            0         1         931   94,669   92,507         0       82
17 191 HTZHTZZ            3415216077 1.3K             11,748      2      0 1.2K            0         1         502   87,374   85,728         0       77
17 201 HTZHTZZ            3415216077 784            12,126      2      0 730             0         1         452   94,925   93,380         0       78
17 211 HTZHTZZ            3415216077 674            12,141      5      0 650             0         1       1,153   95,178   92,800         0       83
17 221 HTZHTZZ            3415216077 649            12,054      3      0 621             0         1         889   94,960   92,795         0       82
17 231 HTZHTZZ            3415216077 697            11,869      6      0 649             0         1       1,383   89,628   87,041         0       77
18 011 HTZHTZZ            3415216077 585            12,740      0      0 563             0         1         137102,446101,111         0       78
18 021 HTZHTZZ            3415216077 684            12,212      0      0 660             0         1         144   93,983   92,761         0       76
18 081 HTZHTZZ            3415216077 828            12,515      2      0 820             0         1         667102,907100,904         0       83
18 091 HTZHTZZ            3415216077 1.5K             11,917      7      0 1.4K            0         1       1,706   96,399   93,352         0       86
18 101 HTZHTZZ            3415216077 2.3K             11,922      6      0 2.2K            0         1       1,461   97,222   94,227         0       86
18 111 HTZHTZZ            3415216077 2.9K             11,977      4      0 2.7K            0         1         943   95,486   93,162         0       82
18 121 HTZHTZZ            3415216077 2.9K             11,718      3      0 2.7K            0         1         754   90,947   88,798         0       84
18 131 HTZHTZZ            3415216077 775            12,567      2      0 729             0         1         505103,558101,732         0       82
18 141 HTZHTZZ            3415216077 847            11,869      3      0 772             0         1         790   92,019   90,051         0       79
18 151 HTZHTZZ            3415216077 2.0K             12,168      5      0 1.8K            0         1       1,397102,066   99,110         0       86
18 161 HTZHTZZ            3415216077 2.6K             12,041      7      0 2.4K            0         1       2,022   98,458   94,906         0       84
18 171 HTZHTZZ            3415216077 2.5K             12,036      6      0 2.4K            0         1       1,625   96,669   93,730         0       82
18 181 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)


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Oracle DBA必备脚本:一键获取SQL性能数据,快速定位性能拐点