oracle 11g v$sql,Oracle 11g实时SQL监控 v$sql_monitor

  • Post author:
  • Post category:其他


Oracle 11g实时SQL监控:

前面提到,在OracleDatabase11g中,v$session视图增加了一些新的字段,这其中包括SQL_EXEC_START和SQL_EXEC_ID,

这两个字段实际上代表了Oracle 11g的一个新特性:实时的SQL监控(RealTime SQL Monitoring)。

在Oracle 11g之前的版本,长时间运行的SQL可以通过监控v$session_longops来观察,当某个操作执行时间超过6秒,

就会被记录在v$session_longops 中,通常可以监控到全表扫描、全索引扫描、哈希联接、并行查询等操作;

而在Oracle 11g中,当SQL并行执行时,会立即被实时监控到,或者当SQL单进程运行时,如果消耗超过5秒的CPU或I/O时间,它也会被监控到。

监控数据被记录在v$sql_monitor视图中,当然也可以通过Oracle 11g新增的 package DBMS_MONITOR 来主动对SQL执行监控部署。

来看一下主要视图v$sql_monitor的结构:

Name Type NullableDefaultComments————————- ————– ——– ——- ——–

KEY NUMBERY

STATUSVARCHAR2(19) YUSER# NUMBERY

USERNAMEVARCHAR2(30) Y

MODULEVARCHAR2(64) Y

ACTIONVARCHAR2(64) Y

SERVICE_NAMEVARCHAR2(64) Y

CLIENT_IDENTIFIERVARCHAR2(64) Y

CLIENT_INFOVARCHAR2(64) Y

PROGRAMVARCHAR2(48) Y

PLSQL_ENTRY_OBJECT_IDNUMBERY

PLSQL_ENTRY_SUBPROGRAM_IDNUMBERY

PLSQL_OBJECT_IDNUMBERY

PLSQL_SUBPROGRAM_IDNUMBERY

FIRST_REFRESH_TIME DATE Y

LAST_REFRESH_TIME DATE Y

REFRESH_COUNTNUMBERY

SIDNUMBERY

PROCESS_NAMEVARCHAR2(5) Y

SQL_IDVARCHAR2(13) Y

SQL_TEXTVARCHAR2(2000) Y

IS_FULL_SQLTEXTVARCHAR2(1) Y

SQL_EXEC_START DATE Y

SQL_EXEC_IDNUMBERY

SQL_PLAN_HASH_VALUENUMBERY

EXACT_MATCHING_SIGNATURENUMBERY

FORCE_MATCHING_SIGNATURENUMBERY

SQL_CHILD_ADDRESSRAW(8) Y

SESSION_SERIAL#NUMBERY

<