zoukankan      html  css  js  c++  java
  • 对自己的应用程序对数据库的操作,建立监控(For Oracle)——转载

    原文地址:http://www.itpub.net/274842.html

    数据库是oracle的话,那么可以利用oracle本身的10046事件跟踪SQL语句。步骤如下:

    1、首先获得spid、sid、serial#,machine为你的机器名


    SQL> select b.spid,a.sid,a.serial#,a.machine from v$session a,v$process b where a.paddr = b.addr and a.machine='yz';

    SPID                SID    SERIAL#  MACHINE

    9497                 49       3406     yz


    2、利用10046事件开始跟踪


    SQL>execute sys.dbms_system.set_ev(49, 3406,10046,1,'');
    PL/SQL procedure successfully completed.


    3、这时候你可以运行应用程序,对于web 应用你就可以打开你认为性能比较差页面。


    4、如果你要查看这段时间执行了哪些sql语句,可以执行下面的语句结束跟踪


    SQL>execute sys.dbms_system.set_ev(49,3406,10046,0,'');  

    PL/SQL procedure successfully completed.


    5、SQL trace 工具会收集这个过程中执行的SQL的性能状态数据,记录到一个跟踪文件中.这个跟踪文件提供了许多有用的信息,例如解析次数.执行次数,CPU使用时间等。


    6、这时候你可以通过下面的语句获得产生的跟踪文件所在的目录

    SQL> select value from v$parameter where name = 'user_dump_dest';

    VALUE

    --------------------------------------------------------------------------------

    /opt/oracle/admin/ocn/udump


    7、在/opt/oracle/admin/ocn/udump下找到yzoracle_ora_9497.trc。9497是你当前应用的spid。


    8、注意yzoracle_ora_9497.trc是不可读的,我们需要执行oracle的tkprof命令,将yzoracle_ora_9497.trc转化为我们可读的文本文件。

    tkprof  yzoracle_ora_9497.trc  yzoracle_ora_9497.sql

    这样你就可以在yzoracle_ora_9497.sql文件中看到所有的sql语句执行次数,CPU使用时间等数据.

  • 相关阅读:
    2018 南京网络预赛Sum
    一个莫比乌斯等式的证明
    LOJ 2452 对称 Antisymmetry——用hash求回文串数
    LOJ 103子串查找——用hash代替kmp算法
    LOJ2823 三个朋友 ——查询字串的哈希值
    hash入门
    2019牛客暑期多校训练营(第十场)Coffee Chicken——递归
    2019牛客暑期多校训练营(第十场)Han Xin and His Troops——扩展中国剩余定理
    mutex 的 可重入
    Linux 编译安装Boost
  • 原文地址:https://www.cnblogs.com/bobzhangfw/p/1264346.html
Copyright © 2011-2022 走看看