ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 10-18 跟踪一个实例或一个数据库

10-18 跟踪一个实例或一个数据库

原创 Linux操作系统 作者:diggger 时间:2012-09-27 13:12:39 0 删除 编辑
问题:
    你想要跟踪整个实例或数据库中所有SQL语句的执行。

方法:
    使用dbms_monitor.database_trace_enable过程跟踪一个指定的实例或整个数据库。执行以下两个命令开启和停止跟踪一个独立的实例。
SQL> exec dbms_monitor.database_trace_enable(instance_name=>'instance1');
SQL> exec dbms_monitor.database_trace_disable(instance_name=>'instance1');

    你可以选择地指定waits和binds属性。以下命令使能和禁止数据库级的SQL跟踪:
SQL> execute dbms_monitor.database_trace_enable();
SQL> execute dbms_monitor.database_trace_disable();
    你也可以设置sql_trace初始化参数为true来打开和关闭sql跟踪,但是官方不推荐使用这个参数。官方推荐使用dbms_monitor(或dbms_session)包跟踪SQL。
   
工作原理:
    很明显,实例级和数据库级SQL跟踪会需要更多开销,也可能成为性能问题的另一个来源!你通常不必这么做,使用会话级跟踪识别性能问题就可以了。如果非要跟踪整个实例,因为你不知道一个查询在哪个会话中执行,要尽可能快地关闭跟踪,以减少开销。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/27795363/viewspace-745204/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-09-13

  • 博文量
    33
  • 访问量
    45476