设为首页 收藏本站
查看: 1363|回复: 0

[经验分享] Oracle常用视图----v$session

[复制链接]

尚未签到

发表于 2018-9-25 10:27:07 | 显示全部楼层 |阅读模式
  作用:每一个连接到Oracle数据库的会话都能在该视图中对应一条记录,根据该视图中的信息可以查询该会话使用的用户,正在执行或者刚刚执行的SQL语句,连接者的信息等。
  比较有用的字段:
  SID:会话的标识,具有唯一性,通常要对某个会话进行分析前,首先就需要获得该会话的SID。
  SERIAL#:会话的序号。
  SADDR:会话所属进程的地址,关联V$PROCESS视图即可查到该会话的所属进程,然后再通过V$PROCESS视图得到对应的操作系统进程号(Windows对应的是线程号)。
  USERNAME:创建该会话的用户名。

  CLIENT_INFO:还记得SET COMMAND>  OSUSER:客户端操作系统的用户名。
  MACHINE:客户端的机器名。
  TERMINAL:客户端运行的终端名。
  PROGRAM:客户端执行的程序名。
  SQL_ADDRESS:执行SQL的地址。
  SQL_HASH_VALUE:执行SQL的HASH值,与SQL_ADDRESS关联查询其他SQL相关视图后即可查询会话当前正在执行的SQL语句。
  EVENT:当前会话的等待事件。
  USER#  使用的oracle 用户名对应的id
  LOCKWAIT  锁的状态
  STATUS 会话状态 ACTIVE , INACTIVE, KILLED, CACHED , SNIPED
  结构:
  SQL> desc v$session;
  名称                                      是否为空? 类型
  ----------------------------------------- -------- ----------------------
  SADDR                                              RAW(4)
  SID                                                NUMBER
  SERIAL#                                            NUMBER
  AUDSID                                             NUMBER
  PADDR                                              RAW(4)
  USER#                                              NUMBER
  USERNAME                                           VARCHAR2(30)
  COMMAND                                            NUMBER
  OWNERID                                            NUMBER
  TADDR                                              VARCHAR2(8)
  LOCKWAIT                                           VARCHAR2(8)
  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(4)
  SQL_HASH_VALUE                                     NUMBER
  PREV_SQL_ADDR                                      RAW(4)
  PREV_HASH_VALUE                                    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)
  每个字段的含义:
  v$session表每个字段的意义:
  $SESSION
  This view lists session information for each current session.
  Column   Datatype   Description
  SADDR
  RAW(4)
  Session address
  SID
  NUMBER

  Session>  SERIAL#
  NUMBER

  Session  serial number. Used to>  AUDSID
  NUMBER

  Auditing session>  PADDR
  RAW(4)
  Address of the process that owns this session
  USER#
  NUMBER

  Oracle user>  USERNAME
  VARCHAR2(30)
  Oracle username
  COMMAND
  NUMBER
  Command in progress (last statement parsed); for a list of values, see Table 3-7
  OWNERID
  NUMBER

  The  column contents are invalid if the value is 2147483644. Otherwise, this  column contains the>
  For operations using Parallel Slaves, interpret this  value as a 4Byte value. The low-order 2Bytes of which represent the  session number, and the high-order bytes the instance>  TADDR
  VARCHAR2(8)
  Address of transaction state object
  LOCKWAIT
  VARCHAR2(8)
  Address of lock waiting for; NULL if none
  STATUS
  VARCHAR2(8)
  Status  of the session: ACTIVE (currently executing SQL), INACTIVE, KILLED  (marked to be killed), CACHED (temporarily cached for use by Oracle*XA),  SNIPED (session inactive, waiting on the client)
  SERVER
  VARCHAR2(9)
  Server type: DEDICATED, SHARED, PSEUDO, NONE
  SCHEMA#
  NUMBER

  Schema user>  SCHEMANAME
  VARCHAR2(30)
  Schema user name
  OSUSER
  VARCHAR2(15)
  Operating system client user name
  PROCESS
  VARCHAR2(9)

  Operating system client process>  MACHINE
  VARCHAR2(64)
  Operating system machine name
  TERMINAL
  VARCHAR2(10)
  Operating system terminal name
  PROGRAM
  VARCHAR2(48)
  Operating system program name
  TYPE
  VARCHAR2(10)
  Session type
  SQL_ADDRESS
  RAW(4)

  Used with SQL_HASH_VALUE to>  SQL_HASH
  _VALUE
  NUMBER

  Used with SQL_ADDRESS to>  MODULE
  VARCHAR2(48)
  Contains the name of the currently executing module as set by calling the DBMS_APPLICATION_INFO.SET_MODULE procedure
  MODULE_HASH
  NUMBER
  The hash value of the above MODULE
  ACTION
  VARCHAR2(32)
  Contains the name of the currently executing action as set by calling the
  DBMS_APPLICATION_INFO.SET_ACTION procedure
  ACTION_HASH
  NUMBER
  The hash value of the above action name
  CLIENT_INFO
  VARCHAR2(64)
  Information set by the DBMS_APPLICATION_INFO.SET_CLIENT_INFO procedure
  FIXED_TABLE
  _SEQUENCE
  NUMBER

  This  contains a number that increases every time the session completes a  call to the database and there has been an intervening select from a  dynamic performance table. This column can be used by performance  monitors to monitor statistics in the database. Each time the  performance monitor looks at the database, it only needs to look at  sessions that are currently active or have a higher value in this column  than the highest value that the performance monitor saw the last time.  All the other sessions have been>  ROW_WAIT_OBJ#
  NUMBER

  Object>  ROW_WAIT_FILE#
  NUMBER
  Identifier  for the datafile containing the ROWID specified in ROW_WAIT_ROW#. This  column is valid only if the session is currently waiting for another  transaction to commit and the value of ROW_WAIT_OBJ# is not -1
  ROW_WAIT
  _BLOCK#
  NUMBER
  Identifier  for the block containing the ROWID specified in ROW_WAIT_ROW#. This  column is valid only if the session is currently waiting for another  transaction to commit and the value of ROW_WAIT_OBJ# is not -1
  ROW_WAIT_ROW#
  NUMBER
  The  current ROWID being locked. This column is valid only if the session is  currently waiting for another transaction to commit and the value of  ROW_WAIT_OBJ# is not -1
  LOGON_TIME
  DATE
  Time of logon
  LAST_CALL_ET
  NUMBER
  The last call
  PDML_STATUS
  VARCHAR2(8)

  If  ENABLED, the session is in a PARALLEL DML enabled mode. If DISABLED,  PARALLEL DML enabled mode is not supported for the session. If FORCED,  the session has been>  PDDL_STATUS
  VARCHAR2(8)

  If  ENABLED, the session is in a PARALLEL DDL enabled mode. If DISABLED,  PARALLEL DDL enabled mode is not supported for the session. If FORCED,  the session has been>  PDML_ENABLED
  VARCHAR2(3)
  This column has been replaced by PDML_ENABLED and PDML_STATUS. See above.
  FAILOVER_TYPE
  VARCHAR2(10)
  NONE  if failover is disabled for this session, SESSION if client is able to  failover its session following a disconnect, and SELECT if client is  able to fail over selects in progress as well
  FAILOVER
  _METHOD
  VARCHAR2(3)
  NONE  if failover is disabled for this session, BASIC if client reconnects  following a disconnect, PRECONNECT if the backup instance is able to  support all connections from every instance that it is backup for
  FAILED_OVER
  VARCHAR2(13)
  TRUE if running in failover mode and have failed over, otherwise FALSE
  RESOURCE_CONSUMER_GROUP
  VARCHAR2(32)
  常用的命令:

    查询每台应用服务器占用oracle数据库会话情况
  select machine, count(*) c from v$session group by machine order by c desc;
  根据机器名查询该机器发出的所有会话
  select t.STATE,t.* from v$session  t where t.MACHINE like '%computername%'
  查询当前数据库连接会话中正在等待资源或者事件的信息
  select * from v$session_wait
  通过sid或者session对应的完整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
  #查看某个表的索引
  select index_name,index_type from user_indexes where table_name = '&tableName'
  中断回话
  ALTER SYSTEM KILL SESSION 'SID,SERIAL#';


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-601342-1-1.html 上篇帖子: 20 Problems Remains in Oracle Interview-Oracle数据库 下篇帖子: oracle 日期函数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表