Oracle中的v$process v$session字段详解

动态性能视图v$process

用来显示有关当前活动的进程信息,包含下面一些字段(Oracle版本为11g,新版本又新增了一些字段):

  • ADDR:进程地址,与v$session中PADDR对应
  • PID:Oracle进程标识符
  • SPID:操作系统的进程ID
  • PNAME:进程名称
  • USERNAME:操作系统进程的用户名,不是Oracle用户名
  • SERIAL#:进程序列号
  • TERMINAL:操作系统的终端标识符
  • PROGRAM:当前进程正在执行的程序
  • TRACEID:跟踪文件标识符
  • TRACEFILE:当前进程的跟踪文件路径名称
  • BACKGROUND:系统后台进程为1,前台进程或非系统后台进程为null
  • LATCHWAIT:进程等待的锁的地址,没有为空
  • LATCHSPIN:此列已弃用
  • PGA_USED_MEM:进程当前使用的PGA内存
  • PGA_ALLOC_MEM:进程当前分配的PGA内存(包括服务器进程尚未释放到操作系统的可用PGA内存),以字节为单位
  • PGA_FREEABLE_MEM:可释放的已分配PGA内存(字节)
  • PGA_MAX_MEM:进程分配的最大PGA内存(字节)

动态性能视图v$session

显示每个当前会话的会话信息,包含下面一些字段:

  • SADDR:会话地址

  • SID:会话标识符

  • SERIAL#:会话序列号。用于唯一标识会话的对象。如果会话结束,而另一个会话以相同的会话ID开始,则保证会话级命令应用于正确的会话对象。

  • AUDSID:审核会话ID,如果数据库配置为统一审核,则此列显示统一审核会话ID,如果数据库配置为混合模式审核,则此列显示传统审核会话ID

  • PADDR:拥有会话的进程的地址

  • USER#:Oracle用户标识符

  • USERNAME:Oracle用户名

  • COMMAND:正在执行命令(已分析最后一条语句)。通过运行此SQL查询,可以找到此command列中返回的任何值n的命令名:

    SELECT command_name
       FROM v$sqlcommand
       WHERE command_type = n;
    

    此COMMAND列中的值为0表示该命令未记录在V$SESSION中。

  • OWNERID:拥有可迁移会话的用户的标识符;如果值为2147483644,则列内容无效,对于使用并行从属的操作,将此值解释为4字节值。低位2字节表示会话号,高位字节表示查询协调器的实例ID。

  • TADDR:事务状态对象的地址

  • LOCKWAIT:会话等待的锁的地址;如果没有,则为NULL

  • STATUS:会话状态:

    ACTIVE-会话当前正在执行SQL

    INACTIVE-会话处于非活动状态,没有配置限制或尚未超过配置限制

    KILLED-会话标记为终止

    CACHED-暂时缓存会话以供Oracle*XA使用

    SNIPED-超出某些配置限制的非活动会话(例如,为资源管理器使用者组指定的资源限制或用户配置文件中指定的idle_time)。此类会话将不允许再次激活。

  • SERVER:服务器类型

  • SCHEMA#:架构用户标识符

  • SCHEMANAME:架构用户名

  • OSUSER:操作系统客户端用户名

  • PROCESS:操作系统客户端进程ID

  • MACHINE:操作系统机器名

  • PORT:客户端端口号

  • TERMINAL:操作系统终端名

  • PROGRAM:操作系统程序名

  • TYPE:会话类型

  • SQL_ADDRESS:与SQL_HASH_VALUE一起使用,以标识当前正在执行的SQL语句

  • SQL_HASH_VALUE:与SQL_ADDRESS一起使用,以标识当前正在执行的SQL语句

  • SQL_ID:当前正在执行的SQL语句的SQL标识符

  • SQL_CHILD_NUMBER:当前正在执行的SQL语句的子编号

  • SQL_EXEC_START:此会话的当前执行的SQL的执行开始时间;如果SQL_ID为NULL,则为NULL。

  • SQL_EXEC_ID:已执行SQL的标识符

  • PREV_SQL_ADDR:与PREV_HASH_VALUE一起使用,以标识最后执行的SQL语句

  • PREV_HASH_VALUE:与SQL_HASH_VALUE一起使用,以标识最后执行的SQL语句

  • PREV_SQL_ID:最后执行的SQL语句的SQL标识符

  • PREV_CHILD_NUMBER:最后执行的SQL语句的子编号

  • PREV_EXEC_START:最后执行的SQL语句的执行开始时间

  • PREV_EXEC_ID:最后执行的SQL语句的SQL执行标识符

  • PLSQL_ENTRY_OBJECT_ID:堆栈上最顶层PL/SQL子程序的对象ID

  • PLSQL_ENTRY_SUBPROGRAM_ID:堆栈上最顶层PL/SQL子程序的子程序ID

  • PLSQL_OBJECT_ID:当前执行的PL/SQL子程序的对象ID

  • PLSQL_SUBPROGRAM_ID:当前执行的PL/SQL对象的子程序ID

  • MODULE:通过调用DBMS_APPLICATION_INFO.SET_MODULE程序设置的当前执行模块的名称

  • MODULE_HASH:模块列的哈希值

  • ACTION:通过调用DBMS_APPLICATION_INFO.SET_ACTION程序设置的当前执行操作的名称

  • ACTION_HASH:执行操作的哈希值

  • CLIENT_INFO:由DBMS_APPLICATION_INFO.SET_CLIENT_INFO程序设置的信息。

  • FIXED_TABLE_SEQUENCE:它包含一个数字,每当会话完成对数据库的调用并且从动态性能表中进行了干预选择时,该数字就会增加。性能监视器可以使用此列监视数据库中的统计信息。性能监视器每次查看数据库时,只需查看当前处于活动状态的会话,或者此列中的值高于性能监视器上次看到的最高值的会话。自性能监视器上次查看数据库以来,所有其他会话都处于空闲状态。

  • ROW_WAIT_OBJ#:包含在ROW_WAIT_ROW#中指定的行的表的对象ID。

  • ROW_WAIT_FILE#:包含ROW_WAIT_ROW#中指定行的数据文件的标识符。仅当会话当前正在等待另一个事务提交且ROW_WAIT_OBJ#的值不是-1时,此列才有效。

  • ROW_WAIT_BLOCK#:包含ROW_WAIT_ROW#中指定行的块的标识符。仅当会话当前正在等待另一个事务提交且ROW_WAIT_OBJ#的值不是-1时,此列才有效。

  • ROW_WAIT_ROW#:当前行被锁定。仅当会话当前正在等待另一个事务提交且ROW_WAIT_OBJ#的值不是-1时,此列才有效。

  • TOP_LEVEL_CALL#:Oracle顶级呼叫码

  • LOGON_TIME:登录时间

  • LAST_CALL_ET:如果会话STATUS当前为ACTIVE,则该值表示自会话激活以来经过的时间(以秒为单位)。如果会话STATUS当前为INACTIVE,则该值表示自会话变为非活动状态以来经过的时间(以秒为单位)。

  • PDML_ENABLED:该列已被PDML_STATUS列代替

  • FAILOVER_TYPE:指示是否以及在多大程度上为会话启用了透明应用程序故障切换(TAF):NONE—已对此会话禁用故障转移;SESSION-客户端可以在断开连接后故障转移其会话;SELECT-客户端也可以对正在进行的查询进行故障转移

  • FAILOVER_METHOD:说明会话的透明应用程序故障转移方法。

  • FAILED_OVER:说明会话是否运行在故障转移模式和故障转移是否已经发生或没有发生。

  • RESOURCE_CONSUMER_GROUP:会话当前的资源使用组的名称。

  • PDML_STATUS:如果是ENABLE,该会话处于PARALLEL DML可用模式,如果是DISABLED,PARALLEL DML不可用。如果是FORCE,该会话已经变成强制PARALLEL DML。

  • PDDL_STATUS:如果是ENABLE,该会话处于PARALLEL DDL可用模式,如果是DISABLED,PARALLEL DDL不可用。如果是FORCE,该会话已经变成强制PARALLEL DDL。

  • PQ_STATUS:如果是ENABLE,该会话处于PARALLEL DDL可用模式,如果是DISABLED,PARALLEL DDL不可用。如果是FORCE,该会话已经变成强制PARALLEL DDL。

  • CURRENT_QUEUE_DURATION:如果queued(1),则表示会话已排队。如果当前未排队,则值为0。

  • CLIENT_IDENTIFIER:会话的客户端标识符

  • BLOCKING_SESSION_STATUS:此列提供有关是否存在阻塞会话的详细信息:

    VALID-存在阻塞会话,它在blocking_INSTANCE和blocking _session列中标识

    NO HOLDER-没有会话阻止此会话

    NOT IN WAIT-此会话未处于等待状态

    UNKNOWN-阻塞会话未知

  • BLOCKING_INSTANCE:阻塞会话的实例标识符。仅当BLOCKING_SESSION_STATUS的值为valid时,此列才有效。

  • FINAL_BLOCKING_SESSION_STATUS:最后一个阻塞会话是等待链中的最后一个元素,它是通过跟踪从这个会话开始被另一个阻塞的会话来构造的。在循环等待链的情况下,等待链中的一个会话将被选择为最终阻止程序。

    该列提供了有关是否存在最终阻塞会话的详细信息:

    VALID-有一个最终阻塞会话,它在final_blocking_INSTANCE和final_LOCKING_session列中标识

    NO HOLDER-没有会话阻止此会话

    NOT IN WAIT-此会话未处于等待状态

    UNKNOWN-最终阻塞会话未知

  • FINAL_BLOCKING_INSTANCE:最终阻塞会话的实例标识符。仅当FINAL_BLOCKING_SESSION_STATUS的值为valid时,此列才有效。

  • FINAL_BLOCKING_SESSION:阻塞会话的会话标识符。仅当FINAL_BLOCKING_SESSION_STATUS的值为valid时,此列才有效。

  • SEQ#:唯一标识当前或上次等待的数字(每次等待递增)。

  • EVENT#:如果会话当前正在等待,则为会话正在等待的资源或事件的编号。如果会话未处于等待状态,则为会话最近等待的资源或事件的编号。

  • EVENT:如果会话当前正在等待,则会话正在等待的资源或事件。如果会话未处于等待状态,则为会话最近等待的资源或事件。

  • P1TEXT:第一个等待事件参数的描述。

  • P1:第一个等待事件参数(十进制)。

  • P1RAW:第一个等待事件参数(十六进制)。

  • P2TEXT:第二个等待事件参数的描述。

  • P2:第二个等待事件参数(十进制)。

  • P2RAW:第二个等待事件参数(十六进制)。

  • P3TEXT:第三个等待事件参数的描述。

  • P3:第三个等待事件参数(十进制)。

  • P3RAW:第三个等待事件参数(十六进制)。

  • WAIT_CLASS_ID:等待事件类的标识符。

  • WAIT_CLASS#:等待事件类的编码。

  • WAIT_CLASS:等待事件类的名称。

  • WAIT_TIME:此列已被弃用,取而代之的是WAIT_TIME_MICRO和STATE列。

  • SECONDS_IN_WAIT:此列已被弃用,取而代之的是WAIT_TIME_MICRO列和TIME_SINCE_LAST_WAIT_MICRO列。

  • STATE:等待状态:

    WAITING-会话当前正在等待

    WAITED UNKNOWN TIME-上次等待的持续时间未知;这是参数TIMED_STATISTICS设置为false时的值

    WAITED SHORT TIME-上次等待时间不到百分之一秒

    WAITED KNOWN TIME-上次等待的持续时间在WAIT_TIME列中指定

  • WAIT_TIME_MICRO:等待的时间量(以微秒为单位)。如果会话当前正在等待,则值为当前等待所花费的时间。如果会话当前未处于等待状态,则该值为上次等待中等待的时间量。

  • TIME_REMAINING_MICRO:值的解释如下:

    大于0-当前等待的剩余时间(以微秒为单位)

    0-当前等待已超时

    -1-会话可以在当前等待中无限期等待

    NULL-会话当前未等待

  • SERVICE_NAME:会话的服务名称。

  • SQL_TRACE:说明SQL跟踪是否开启。

  • SQL_TRACE_WAITS:说明等待跟踪是否开启。

  • SQL_TRACE_BINDS:说明绑定跟踪是否开启。

  • SQL_TRACE_PLAN_STATS:在跟踪文件中为每个游标转储行源统计信息的频率:never、first_execution、all_executions

  • SESSION_EDITION_ID:显示会话中sys_context(‘USERENV’, ‘SESSION_EDITION_ID’)报告的值。

  • CREATOR_ADDR:创建进程或回路的地址。

  • CREATOR_SERIAL#:创建进程或回路的序列号。

  • ECID:执行上下文标识符(由Application Server发送)。

  • SQL_TRANSLATION_PROFILE_ID:SQL转换配置文件的对象号。

  • PGA_TUNABLE_MEM:可调PGA内存量。可调内存是V p r o c e s s 中的 P G A A L L O C M E M 减去 V process中的PGA_ALLOC_MEM减去V process中的PGAALLOCMEM减去VSESSION中的PGA_TUNABLE_MEM。

  • SHARD_DDL_STATUS:说明共享DDL在当前进程中是否可用。

  • CON_ID:数据所属的容器的ID。可能的值包括:

    0:此值用于包含属于整个CDB的数据的行。此值也用于非CDB中的行。

    1: 此值用于包含仅属于根目录的数据的行

    n: 其中n是包含数据的行的适用容器ID

  • EXTERNAL_NAME:数据库用户的外部名称。对于企业用户,返回Oracle Internet Directory DN。

  • PLSQL_DEBUGGER_CONNECTED:说明会话是否连接到PL/SQL的debugger。

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值