当oracle有多个实例时,用pl/sql查看session


 

oracle中一个数据库有两个实例时,使用pl/sql工具中的session工具,有时看不到自己正在执行的语句。因为,pl/sql工具中的session工具无法判断,需要查询的是哪个实例下的session




打开session工具,点击设置



我们可以看到,pl/sqlsession工具其实是执行sql语句来查询,从这个查询语句中我们可以看出问题,这个查询语句查询的是v$session表,从这里oracle无法判断我们要查的是哪个实例。我们把它改成gv$session就可以查询所有实例中的session了。记着改的时候几个过滤器中的sql语句都要改


当然,从这里我们也可以看到使用sql来查看session的方法


关于v$session中的各个字段,以下为摘录oracleAPI中的说明


V$SESSION

This view lists session information for each current session.

ColumnDatatypeDescription
SADDRRAW(4 | 8)Session address
SIDNUMBERSession identifier
SERIAL#NUMBERSession serial number. Used to uniquely identify a session's objects. Guarantees that session-level commands are applied to the correct session objects if the session ends and another session begins with the same session ID.
AUDSIDNUMBERAuditing session ID
PADDRRAW(4 | 8)Address of the process that owns the session
USER#NUMBEROracle user identifier
USERNAMEVARCHAR2(30)Oracle username
COMMANDNUMBERCommand in progress (last statement parsed); for a list of values, see Table 7-5. These values also appear in the AUDIT_ACTIONS table.
OWNERIDNUMBERThe column contents are invalid if the value is 2147483644. Otherwise, this column contains the identifier of the user who owns the migratable session.

For operations using Parallel Slaves, interpret this value as a 4-byte value. The low-order 2 bytes of which represent the session number, and the high-order bytes the instance ID of the query coordinator.

TADDRVARCHAR2(8)Address of transaction state object
LOCKWAITVARCHAR2(8)Address of lock waiting for; null if none
STATUSVARCHAR2(8)Status of the session:
  • ACTIVE - Session currently executing SQL

  • INACTIVE

  • KILLED - Session marked to be killed

  • CACHED - Session temporarily cached for use by Oracle*XA

  • SNIPED - Session inactive, waiting on the client

SERVERVARCHAR2(9)Server type (DEDICATEDSHAREDPSEUDONONE)
SCHEMA#NUMBERSchema user identifier
SCHEMANAMEVARCHAR2(30)Schema user name
OSUSERVARCHAR2(30)Operating system client user name
PROCESSVARCHAR2(12)Operating system client process ID
MACHINEVARCHAR2(64)Operating system machine name
TERMINALVARCHAR2(30)Operating system terminal name
PROGRAMVARCHAR2(48)Operating system program name
TYPEVARCHAR2(10)Session type
SQL_ADDRESSRAW(4 | 8)Used with SQL_HASH_VALUE to identify the SQL statement that is currently being executed
SQL_HASH_VALUENUMBERUsed with SQL_ADDRESS to identify the SQL statement that is currently being executed
SQL_IDVARCHAR2(13)SQL identifier of the SQL statement that is currently being executed
SQL_CHILD_NUMBERNUMBERChild number of the SQL statement that is currently being executed
PREV_SQL_ADDRRAW(4 | 8)Used with PREV_HASH_VALUE to identify the last SQL statement executed
PREV_HASH_VALUENUMBERUsed with SQL_HASH_VALUE to identify the last SQL statement executed
PREV_SQL_IDVARCHAR2(13)SQL identifier of the last SQL statement executed
PREV_CHILD_NUMBERNUMBERChild number of the last SQL statement executed
MODULEVARCHAR2(48)Name of the currently executing module as set by calling theDBMS_APPLICATION_INFO.SET_MODULE procedure
MODULE_HASHNUMBERHash value of the above MODULE
ACTIONVARCHAR2(32)Name of the currently executing action as set by calling theDBMS_APPLICATION_INFO.SET_ACTION procedure
ACTION_HASHNUMBERHash value of the above action name
CLIENT_INFOVARCHAR2(64)Information set by the DBMS_APPLICATION_INFO.SET_CLIENT_INFO procedure
FIXED_TABLE_SEQUENCENUMBERThis 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 idle since the last time the performance monitor looked at the database.
ROW_WAIT_OBJ#NUMBERObject ID for the table containing the row specified in ROW_WAIT_ROW#
ROW_WAIT_FILE#NUMBERIdentifier for the datafile containing the row specified in ROW_WAIT_ROW#. This column is valid only if the session is currently waiting for another transaction to commit and the value ofROW_WAIT_OBJ# is not -1.
ROW_WAIT_BLOCK#NUMBERIdentifier for the block containing the row specified in ROW_WAIT_ROW#. This column is valid only if the session is currently waiting for another transaction to commit and the value ofROW_WAIT_OBJ# is not -1.
ROW_WAIT_ROW#NUMBERCurrent row 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_TIMEDATETime of logon
LAST_CALL_ETNUMBERIf the session STATUS is currently ACTIVE, then the value represents the elapsed time in seconds since the session has become active.

If the session STATUS is currently INACTIVE, then the value represents the elapsed time in seconds since the session has become inactive.

PDML_ENABLEDVARCHAR2(3)This column has been replaced by column PDML_STATUS
FAILOVER_TYPEVARCHAR2(13)Indicates whether and to what extent transparent application failover (TAF) is enabled for the session:
  • NONE - Failover is disabled for this session

  • SESSION - Client is able to fail over its session following a disconnect

  • SELECT - Client is able to fail over queries in progress as well

See Also:

FAILOVER_METHODVARCHAR2(10)Indicates the transparent application failover method for the session:
  • NONE - Failover is disabled for this session

  • BASIC - Client itself reconnects following a disconnect

  • PRECONNECT - Backup instance can support all connections from every instance for which it is backed up

FAILED_OVERVARCHAR2(3)Indicates whether the session is running in failover mode and failover has occurred (YES) or not (NO)
RESOURCE_CONSUMER_GROUPVARCHAR2(32)Name of the session's current resource consumer group
PDML_STATUSVARCHAR2(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 altered to force PARALLEL DML.
PDDL_STATUSVARCHAR2(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 altered to force PARALLEL DDL.
PQ_STATUSVARCHAR2(8)If ENABLED, the session is in a PARALLEL QUERY enabled mode. If DISABLED, PARALLEL QUERY enabled mode is not supported for the session. If FORCED, the session has been altered to force PARALLEL QUERY.
CURRENT_QUEUE_DURATIONNUMBERIf queued (1), the current amount of time the session has been queued. If not currently queued, the value is 0.
CLIENT_IDENTIFIERVARCHAR2(64)Client identifier of the session
BLOCKING_SESSION_STATUSVARCHAR2(11)Blocking session status:
  • VALID

  • NO HOLDER

  • GLOBAL

  • NOT IN WAIT

  • UNKNOWN

BLOCKING_INSTANCENUMBERInstance identifier of blocking session
BLOCKING_SESSIONNUMBERSession identifier of blocking session
SEQ#NUMBERSequence number that uniquely identifies the wait. Incremented for each wait.
EVENT#NUMBEREvent number
EVENTVARCHAR2(64)Resource or event for which the session is waiting

See Also: Appendix C, "Oracle Wait Events"

P1TEXTVARCHAR2(64)Description of the first additional parameter
P1NUMBERFirst additional parameter
P1RAWRAW(4)First additional parameter
P2TEXTVARCHAR2(64)Description of the second additional parameter
P2NUMBERSecond additional parameter
P2RAWRAW(4)Second additional parameter
P3TEXTVARCHAR2(64)Description of the third additional parameter
P3NUMBERThird additional parameter
P3RAWRAW(4)Third additional parameter
WAIT_CLASS_IDNUMBERIdentifier of the wait class
WAIT_CLASS#NUMBERNumber of the wait class
WAIT_CLASSVARCHAR2(64)Name of the wait class
WAIT_TIMENUMBERA nonzero value is the session's last wait time. A zero value means the session is currently waiting.
SECONDS_IN_WAITNUMBERIf WAIT_TIME = 0, then SECONDS_IN_WAIT is the seconds spent in the current wait condition. IfWAIT_TIME > 0, then SECONDS_IN_WAIT is the seconds since the start of the last wait, andSECONDS_IN_WAIT - WAIT_TIME / 100 is the active seconds since the last wait ended.
STATEVARCHAR2(19)Wait state:
  • 0 - WAITING (the session is currently waiting)

  • -2 - WAITED UNKNOWN TIME (duration of last wait is unknown)

  • -1 - WAITED SHORT TIME (last wait <1/100th of a second)

  • >0 - WAITED KNOWN TIME (WAIT_TIME = duration of last wait)

SERVICE_NAMEVARCHAR2(64)Service name of the session
SQL_TRACEVARCHAR2(8)Indicates whether SQL tracing is enabled (ENABLED) or disabled (DISABLED)
SQL_TRACE_WAITSVARCHAR2(5)Indicates whether wait tracing is enabled (TRUE) or not (FALSE)
SQL_TRACE_BINDSVARCHAR2(5)Indicates whether bind tracing is enabled (TRUE) or not (FALSE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值