使用 Enterprise Manager Database Console 实时监视 SQL 语句

本教程介绍如何使用 Enterprise Manager (EM) Database (DB) Console 监视 SQL 语句。

大约 30 分钟

本教程讨论以下主题:

概述
前提条件
总结

将光标置于此图标上可以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以网速较慢时,响应时间可能会比较长。)

注:此外,您还可以在下列步骤中将光标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。可以通过单击各个屏幕截图将其隐藏。

在 Oracle 数据库 11gR2 中,SQL 监视特性有一个新的图形界面。该图形界面不仅可用于 Grid Control,还可用于 EM DB Control。默认情况下,当某个 SQL 命令并行运行时,或者当单次执行已使用至少五秒 CPU 或 I/O 时间时,会自动启动 SQL 监视。

启动监视后,在 V$SQL_MONITOR 动态性能视图中会添加一个条目。该条目跟踪为该次执行收集到的关键性能指标,包括已用时间、CPU 时间、读写次数、I/O 等待时间及各种其他等待时间。随着命令的执行,这些统计信息以近似实时的方式进行刷新,一般每秒刷新一次。

执行完毕后,监视信息不会立即删除,而是在 V$SQL_MONITOR 视图中保存至少一分钟的时间。最终,当系统要监视新的命令时,会删除该条目以便可收回其占用的空间。

返回主题列表

开始学习本教程之前,您应该先完成以下步骤:

1.
2.

在本教程中,我们需要创建 MONI_TBS 表空间 (100 MB)、MONI DBA 用户和 MONI_TEST 表。

:在本练习中,为了专注于练习的目标而不会分神,我们使用简单易记的口令。在实际开发和生产环境中,请按照 Oracle 数据库安全指南 中的指示使用强口令。本练习中,SYS 用户的口令为 oracle,MONI 用户的口令为 moni

执行以下步骤:

1.

注:您的时间可能与这些屏幕截图的时间不同。

要通过 EM DB Control 界面查看长时间运行的 SQL 语句,执行以下步骤:

1.

启动 Web 浏览器,按以下格式输入 URL:
https://<您的主机名>:<端口>/em,例如:

将鼠标移到该图标上可以查看该图像

在 Oracle 的课堂环境中,您也许会收到一个有关网站证书的安全警告,发出该警告是由于为您提供了一个新安装的服务器。请接受该证书(如果可能,请永久接受),如果系统询问的话,将其添加到您的例外网站中。实际出现的消息(及窗口的数量)取决于您使用的浏览器。

2.

在 Database Login 页面上,在 User Name 域中输入 SYS,在 Password 域中输入自己的口令,从 Connect As 下拉列表中选择 SYSDBA,然后单击 Login

将鼠标移到该图标上可以查看该图像

3.

要查看长时间运行的 SQL 语句,执行以下步骤:

a. 单击 Performance 选项卡式页面。

将鼠标移到该图标上可以查看该图像

b. 您将看到系统活动。您的图形将略有不同。

将鼠标移到该图标上可以查看该图像

c. 滚动到该页面底部,单击 Additional Monitoring Links 部分中的 SQL Monitoring

将鼠标移到该图标上可以查看该图像

d. 显示 Monitored SQL Executions 页面。

将鼠标移到该图标上可以查看该图像

要查看有关 SQL 执行的详细信息,执行以下步骤:

1.

在 Monitored SQL Execution 页面上,单击 SQL ID 链接。

将鼠标移到该图标上可以查看该图像

2.

显示 Monitored SQL Execution Details 页面。

将鼠标移到该图标上可以查看该图像

在页面上部,您会看到 Overview 信息。在右上视图中,可看到 IO and Wait Statistics 信息。

将鼠标移到该图标上可以查看该图像

3.

Details 部分至少有两个选项卡式页面:Plan Statistics 和 Activity。如果并行执行多个查询,还会有一个 Parallel 选项卡式页面。

将鼠标移到该图标上可以查看该图像

在右侧,您会看到 Plan Statistics 页面的更多详情。

将鼠标移到该图标上可以查看该图像

4.

单击 Activity 选项卡式页面。

将鼠标移到该图标上可以查看该图像

在此图中,可以看到 SELECT 语句当前占用了全部的 CPU 资源。

将鼠标移到该图标上可以查看该图像

要查看其他监视信息,执行以下步骤:

1.

在 Monitored SQL Execution Details 页面中,单击右上方的 View Report

将鼠标移到该图标上可以查看该图像

2.

将显示 SQL Monitoring Report 页面,所包括信息与您在前面的图形页面上看到信息相同。向下滚动。

将鼠标移到该图标上可以查看该图像

3.

在页面底部可以看到 SQL Plan Monitoring Details。单击 OK

将鼠标移到该图标上可以查看该图像

4.

在 Monitored SQL Execution 页面,单击 Session 链接以显示当前用户的会话信息。

将鼠标移到该图标上可以查看该图像

5.

查看会话信息

将鼠标移到该图标上可以查看该图像

这里有几个选项卡页面。查看完会话信息后,单击右侧的 SQL Monitoring 选项卡页面。

将鼠标移到该图标上可以查看该图像

6.

单击 SQL ID 返回 Monitored SQL Execution Details 页面。

将鼠标移到该图标上可以查看该图像

7.

要查看 SQL 详情,在 Monitored SQL Execution Details 页面上单击 SQL ID

将鼠标移到该图标上可以查看该图像

8.

查看 SQL 详情。

将鼠标移到该图标上可以查看该图像

完成后,单击页面右上方的 Logout。

要清理您的环境,执行以下步骤:

1.

当您的长时间运行的查询执行完毕之后,返回到您的 SQL*Plus 会话。作为 SYSDBA 进行连接,然后执行 moni_cleanup.sql 脚本:

connect / as sydba

@moni_cleanup

将鼠标移到该图标上可以查看该图像

将鼠标移到该图标上可以查看该图像

在本教程中,您学习了如何使用 EM DB Control 实时查看 SQL 语句的执行情况。

返回主题列表

将鼠标移到该图标上可以隐藏所有屏幕截图