本教程介绍如何使用 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 视图中保存至少一分钟的时间。最终,当系统要监视新的命令时,会删除该条目以便可收回其占用的空间。
返回主题列表
开始学习本教程之前,您应该先完成以下步骤:
确保 EM DB Console 已启动并且可通过 Web 浏览器访问。您可在一个终端窗口中,以 oracle 操作系统用户身份输入以下命令: emctl status dbconsole
请记下主机名和端口。稍后会用到。
下载 sqlmonitor.zip 文件(其中包含了完成本教程所需文件)并将其解压缩到您的工作目录。
在本教程中,我们需要创建 MONI_TBS 表空间 (100 MB)、 MONI DBA 用户和 MONI_TEST 表。
注 :在本练习中,为了专注于练习的目标而不会分神,我们使用简单易记的口令。在实际开发和生产环境中,请按照 Oracle 数据库安全指南 中的指示使用强口令。本练习中,SYS 用户的口令为 oracle ,MONI 用户的口令为 moni 。
执行以下步骤:
转到您的工作目录。打开 SQL*Plus。以 sys 用户身份登录,然后执行 moni_setup.sql 脚本。
sqlplus / as sysdba @moni_setup
在此 SELECT 语句运行的 同时 继续进行本教程其余部分。
当您的长时间运行的查询执行完毕之后,返回到您的 SQL*Plus 会话。作为 SYSDBA 进行连接,然后执行 moni_cleanup.sql 脚本:
connect / as sydba
@moni_cleanup