spell 发表于 2018-9-15 07:36:18

Oracle八大性能视图之v$session

  1、V$SESSION表结构
  SQL> desc v$session;
  名称                                    是否为空? 类型
  ----------------------------------------- -------- ----------------------------
  SADDR                                              RAW(8)
  SID                                                NUMBER
  SERIAL#                                          NUMBER
  AUDSID                                             NUMBER
  PADDR                                              RAW(8)
  USER#                                              NUMBER
  USERNAME                                           VARCHAR2(30)
  COMMAND                                          NUMBER
  OWNERID                                          NUMBER
  TADDR                                              VARCHAR2(16)
  LOCKWAIT                                           VARCHAR2(16)
  STATUS                                             VARCHAR2(8)
  SERVER                                             VARCHAR2(9)
  SCHEMA#                                          NUMBER
  SCHEMANAME                                       VARCHAR2(30)
  OSUSER                                             VARCHAR2(30)
  PROCESS                                          VARCHAR2(12)
  MACHINE                                          VARCHAR2(64)
  TERMINAL                                           VARCHAR2(16)
  PROGRAM                                          VARCHAR2(64)
  TYPE                                             VARCHAR2(10)
  SQL_ADDRESS                                        RAW(8)
  SQL_HASH_VALUE                                     NUMBER
  SQL_ID                                             VARCHAR2(13)
  SQL_CHILD_NUMBER                                 NUMBER
  PREV_SQL_ADDR                                    RAW(8)
  PREV_HASH_VALUE                                    NUMBER
  PREV_SQL_ID                                        VARCHAR2(13)
  PREV_CHILD_NUMBER                                  NUMBER
  PLSQL_ENTRY_OBJECT_ID                              NUMBER
  PLSQL_ENTRY_SUBPROGRAM_ID                        NUMBER
  PLSQL_OBJECT_ID                                    NUMBER
  PLSQL_SUBPROGRAM_ID                              NUMBER
  MODULE                                             VARCHAR2(48)
  MODULE_HASH                                        NUMBER
  ACTION                                             VARCHAR2(32)
  ACTION_HASH                                        NUMBER
  CLIENT_INFO                                        VARCHAR2(64)
  FIXED_TABLE_SEQUENCE                               NUMBER
  ROW_WAIT_OBJ#                                    NUMBER
  ROW_WAIT_FILE#                                     NUMBER
  ROW_WAIT_BLOCK#                                    NUMBER
  ROW_WAIT_ROW#                                    NUMBER
  LOGON_TIME                                       DATE
  LAST_CALL_ET                                       NUMBER
  PDML_ENABLED                                       VARCHAR2(3)
  FAILOVER_TYPE                                    VARCHAR2(13)
  FAILOVER_METHOD                                    VARCHAR2(10)
  FAILED_OVER                                        VARCHAR2(3)
  RESOURCE_CONSUMER_GROUP                            VARCHAR2(32)
  PDML_STATUS                                        VARCHAR2(8)
  PDDL_STATUS                                        VARCHAR2(8)
  PQ_STATUS                                          VARCHAR2(8)
  CURRENT_QUEUE_DURATION                           NUMBER
  CLIENT_IDENTIFIER                                  VARCHAR2(64)
  BLOCKING_SESSION_STATUS                            VARCHAR2(11)
  BLOCKING_INSTANCE                                  NUMBER
  BLOCKING_SESSION                                 NUMBER
  SEQ#                                             NUMBER
  EVENT#                                             NUMBER
  EVENT                                              VARCHAR2(64)
  P1TEXT                                             VARCHAR2(64)
  P1                                                 NUMBER
  P1RAW                                              RAW(8)
  P2TEXT                                             VARCHAR2(64)
  P2                                                 NUMBER
  P2RAW                                              RAW(8)
  P3TEXT                                             VARCHAR2(64)
  P3                                                 NUMBER
  P3RAW                                              RAW(8)
  WAIT_CLASS_ID                                    NUMBER
  WAIT_CLASS#                                        NUMBER
  WAIT_CLASS                                       VARCHAR2(64)
  WAIT_TIME                                          NUMBER
  SECONDS_IN_WAIT                                    NUMBER
  STATE                                              VARCHAR2(19)
  SERVICE_NAME                                       VARCHAR2(64)
  SQL_TRACE                                          VARCHAR2(8)
  SQL_TRACE_WAITS                                    VARCHAR2(5)
  SQL_TRACE_BINDS                                    VARCHAR2(5)
  2、相关SQL
  根据lockwait字段可以查询当前正在等待的锁的相关信息:
  select * from v$lock where kaddr in (select lockwait from v$session where sid=&sid);
  (sql_address,sql_hash_value),(prev_sql_addr,prev_hash_value) 根据这两组字段, 可以查询到当前session正在执行的或最近一次执行的sql语句的详细信息:
  select * from v$sqltext where address = &sql_address and hash_value = &sql_hash_value;
  根据PID查SQL相关信息

  select>  根据PID查SQL语句
  SELECT a.username,a.machine,a.program,a.sid,a.serial#,a.status,c.piece,c.sql_text FROM v$session a,v$process b,v$sqltext c WHERE b.spid='&spid' AND b.addr=a.paddr AND a.sql_address=c.address(+) ORDER BY c.piece;
  得到进程的sid号:

  select>  得到session的sqltext语句:
  select sql_text from v$sqltext_with_newlines where hash_value in (select SQL_HASH_VALUE from v$session where paddr in (select addr from v$process where spid= '&pid')) order by piece;
  根据SID查得SQL
  select sql_text
  from v$sqltext a
  where a.hash_value=(select sql_hash_value
  from v$session b
  where b.SID='&sid')
  order by piece ASC
  oracle视频教程请关注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html

页: [1]
查看完整版本: Oracle八大性能视图之v$session