plsql停止正在执行的sql_PL/SQL与SQL分析利器Profiler

在日常的运维与优化工作中,经常需要分析某条语句或者某个存储过程执行是不是正常的,存储过程中哪些SQL语句或者循环开销较大。这个时候,一个ORACLE自带的工具-profiler就十分有用了。profiler是一个Oracle自带的存储过程性能分析工具,从很早的版本就存在了,不过可能很多DBA都不知道这个工具的存在,因为这个工具在Oracle官方的手册里并没有提及。老白在十多年前写的《oracle 优化日记》里提到了这个工具,并提供了一个利用这个工具解决《最长的一天》的案例。在那个故事里,用户的系统莫名其妙的很慢,数据库的负载并不高。最后老白怀疑到是不是应用有问题。而应用是一个套装软件,开发商在英国,所有的PL/SQL存储过程都是加密的,现场没法分析代码。于是老白就使用PROFILER把耗时最多的代码行找到,通过和英国那边的开发团队沟通,开发团队很快定位了问题,从而帮助客户解决了问题。Profiler的使用十分简单,在$ORACLE_HOME/rdbms/admin下面有几个Profiler相关的脚本:

dc4740c118cafdfb7c89972cadee58ba.png

要安装Profiler,首先在你的用户SCHEMA执行proftab创建相关的表,然后使用SYSDBA执行profload创建相关的存储过程。安装就结束了。十分简单。如果你要跟踪分析某个存储过程,也十分简单。首先编写一个PL/SQL BLOCK,把你的存储过程跟踪调试一下:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值