如何在PL / SQL开发人员中查看实时SQL Monitor?

时间:2018-01-28 08:43:45

标签: oracle plsqldeveloper

在Oracle SQL开发人员中,我们有用于实时SQL监控的监控会话。同样如何在PL / SQL开发人员中查看?

SCRENNSHOT

1 个答案:

答案 0 :(得分:7)

您可以将其添加到会话浏览器中,该浏览器位于工具>会话并有一个这样的图标:

plsqldev sessions icon

您可以从菜单启动它,或将其添加到工具栏中,以便将来更容易访问。从您的屏幕截图来看,它似乎不存在,所以添加它:

  1. 右键单击工具栏
  2. 选择“自定义”
  3. 在“工具栏”标签下,确保启用“工具”(您的工具似乎是)
  4. 在“命令”标签下,选择“工具”,找到“会话”图标并将其拖到工具栏中。
  5. “会话”屏幕包含一个主详细信息报告,其中主面板(默认情况下)为select * from v$session,其中有几个变体可用于过滤“我的会话”或“活动会话”。在我的设置中,我将其更改为包含一些更有用的信息,将我想要快速查看的内容放在顶部附近等。单击扳手图标以编辑查询。

    默认详细信息选项卡包含一个SQL监视器报告,该报告基于当前会话的v$sql_monitor查询并显示HTML格式。

    我更喜欢交互式版本,因此我将HTML更改为ACTIVE。我也希望能够一眼看出哪一行对应当前正在执行的SQL,所以我将其更改为:

    select m.status
         , m.sql_text
         , dbms_sqltune.report_sql_monitor
           ( sql_id => m.sql_id
           , sql_exec_id => m.sql_exec_id
           , type => 'ACTIVE'
           , report_level => 'ALL' ) as report
    from   v$sql_monitor m
    where  m.sid = :sid
    and    m.session_serial# = :serial#
    order by m.sql_exec_start desc
    

    对于RAC环境,您可能希望将其更改为gv$sql_monitor

    (请注意,“活动”报告在顶部包含“概述”部分,您可以折叠该部分以为SQL执行详细信息提供更多空间。)

    完整的演练here,尽管它是几年前编写的,所以提到了所有内容的早期版本,Windows XP等。 (这是系列中的第二个,所以也许你可以从plsqldeveloper-setup-1开始。)

    More details about DBMS_SQL_MONITOR.