monitor cursor

客户提出了一个需求,他们改进了自己的程序,想证明程序现在open cursor变少了,也就是说程序运行过程中 open cursor的峰值变小了。 我写了一个脚本来进行这个监控。

oracle[aaa]@server:[/tmp/20140506]>more count.sql
select count(*) from v$open_cursor where sid=264;
oracle[aaa]@server:[/tmp/20140506]>more run.sh
while true
do
        a=`sqlplus -s / as sysdba <<F
        @count.sql
        EXIT
        F`
        b=`(echo $a | cut -d' ' -f3)`
        echo $b>>check.txt
        echo ''>>check.txt
        sleep 5
done

  

很直观的方法,每5秒运行一次sql select count(*) from v$open_cursor where sid=  。 这样把最后的结果进行排序找出峰值就可以了。

原文地址:https://www.cnblogs.com/kramer/p/3711757.html