30.蛤蟆的Oracle杂记——Oracle常用动态视图v$session视图v$session:有关会话的信息这个视图包含了超级多的列,说明其包含巨大的信息,小伙伴千万要记得使用,不然浪费掉了ORACLE一片苦心啊。描述如下:sys@PDB1descv$sessionNameNull?Type-------------------------------------------------------------------------------------------------SADDRRAW(8)SIDNUMBERSERIAL#NUMBERAUDSIDNUMBERPADDRRAW(8)USER#NUMBERUSERNAMEVARCHAR2(30)COMMANDNUMBEROWNERIDNUMBERTADDRVARCHAR2(16)LOCKWAITVARCHAR2(16)STATUSVARCHAR2(8)SERVERVARCHAR2(9)SCHEMA#NUMBERSCHEMANAMEVARCHAR2(30)OSUSERVARCHAR2(30)PROCESSVARCHAR2(24)MACHINEVARCHAR2(64)PORTNUMBERTERMINALVARCHAR2(30)PROGRAMVARCHAR2(48)TYPEVARCHAR2(10)SQL_ADDRESSRAW(8)SQL_HASH_VALUENUMBERSQL_IDVARCHAR2(13)SQL_CHILD_NUMBERNUMBERSQL_EXEC_STARTDATESQL_EXEC_IDNUMBERPREV_SQL_ADDRRAW(8)PREV_HASH_VALUENUMBERPREV_SQL_IDVARCHAR2(13)PREV_CHILD_NUMBERNUMBERPREV_EXEC_STARTDATEPREV_EXEC_IDNUMBERPLSQL_ENTRY_OBJECT_IDNUMBERPLSQL_ENTRY_SUBPROGRAM_IDNUMBERPLSQL_OBJECT_IDNUMBERPLSQL_SUBPROGRAM_IDNUMBERMODULEVARCHAR2(64)MODULE_HASHNUMBERACTIONVARCHAR2(64)ACTION_HASHNUMBERCLIENT_INFOVARCHAR2(64)FIXED_TABLE_SEQUENCENUMBERROW_WAIT_OBJ#NUMBERROW_WAIT_FILE#NUMBERROW_WAIT_BLOCK#NUMBERROW_WAIT_ROW#NUMBERTOP_LEVEL_CALL#NUMBERLOGON_TIMEDATELAST_CALL_ETNUMBERPDML_ENABLEDVARCHAR2(3)FAILOVER_TYPEVARCHAR2(13)FAILOVER_METHODVARCHAR2(10)FAILED_OVERVARCHAR2(3)RESOURCE_CONSUMER_GROUPVARCHAR2(32)PDML_STATUSVARCHAR2(8)PDDL_STATUSVARCHAR2(8)PQ_STATUSVARCHAR2(8)CURRENT_QUEUE_DURATIONNUMBERCLIENT_IDENTIFIERVARCHAR2(64)BLOCKING_SESSION_STATUSVARCHAR2(11)BLOCKING_INSTANCENUMBERBLOCKING_SESSIONNUMBERFINAL_BLOCKING_SESSION_STATUSVARCHAR2(11)FINAL_BLOCKING_INSTANCENUMBERFINAL_BLOCKING_SESSIONNUMBERSEQ#NUMBEREVENT#NUMBEREVENTVARCHAR2(64)P1TEXTVARCHAR2(64)P1NUMBERP1RAWRAW(8)P2TEXTVARCHAR2(64)P2NUMBERP2RAWRAW(8)P3TEXTVARCHAR2(64)P3NUMBERP3RAWRAW(8)WAIT_CLASS_IDNUMBERWAIT_CLASS#NUMBERWAIT_CLASSVARCHAR2(64)WAIT_TIMENUMBERSECONDS_IN_WAITNUMBERSTATEVARCHAR2(19)WAIT_TIME_MICRONUMBERTIME_REMAINING_MICRONUMBERTIME_SINCE_LAST_WAIT_MICRONUMBERSERVICE_NAMEVARCHAR2(64)SQL_TRACEVARCHAR2(8)SQL_TRACE_WAITSVARCHAR2(5)SQL_TRACE_BINDSVARCHAR2(5)SQL_TRACE_PLAN_STATSVARCHAR2(10)SESSION_EDITION_IDNUMBERCREATOR_ADDRRAW(8)CREATOR_SERIAL#NUMBERECIDVARCHAR2(64)SQL_TRANSLATION_PROFILE_IDNUMBERPGA_TUNABLE_MEMNUMBERCON_IDNUMBEREXTERNAL_NAMEVARCHAR2(1024)然后来看看各个列描述的含义:SADDR:会话地址SID:会话IDSERIAL#:会话串口号。用于唯一确定会话对象。因为SID可能在关闭后被下一个会话使用AUDSID:审计会话IDPADDR:拥有会话的进程地址USER#:Oracle用户IDUSERNAME:Oracle用户名字COMMAND:进程的命令(最后分析的语句)OWNERID:拥有迁移会话的用户,当为2147483644时候,列无效。TADDR:交易对象的地址LOCKWAIT:会话等待的锁地址,NULL表示不等锁STATUS:会话状态(ACTIVE,KILLED,CACHED,SNIPED)SERVER:服务类型(DEDICATED,SHARED,PSEUD0,POOLED,NONE)SCHEMA#:Schemauser的IDSCHEMANAME:Schema用户名字OSUSER:操作系统客户用户名字PROCESS:曹邹系统客户进程IDMACHINE:操作系统机器名字PORT:客户端端口号TERMINAL:操作系统终名字PROGRAM:操作系统程序名字TYPE:会话类型SQL_ADDRESS:使用SQL_HASH_VALUE来定位当前正在执行的SQL语句SQL_HASH_VALUE:使用SQL_address来定位当前正在执行的SQL语句SQL_ID:当前正在执行的SQL语句IDSQL_CHILD_NUMBER:当前正在执行的SQL语句的子数量SQL_EXEC_START:当前会话执行SQL语句的时间SQL_EXEC_ID:SQL执行的ID,如果为SQL_ID为NULL则为NULL或者SQL还没开始执行PREV_SQL_ADDR:上一个SQL语句执行的语句PREV_HASH_VALUE:上一个语句执行的SQLHASH值PREV_SQL_ID:上一个语句执行的SQLIDPREV_CHILD_NUMBER:上一个SQL语句执行的子数量PREV_EXEC_START:上一个SQL语句执行的时间PREV_EXEC_ID:上一个SQL语句执行的执行IDPLSQL_ENTRY_OBJECT_ID:堆栈中PL/SQL子程序消耗最厉害的对象IDPLSQL_ENTRY_SUBPROGRAM_ID:堆栈中PL/SQL子程序消耗最厉害的子程序IDPLSQL_OBJECT_ID:当前执行PL/SQL子程序的对象IDPLSQL_SUBPROGRAM_ID:当前执行PL/SQL子程序的子程序IDMODULE:当前通过调用DBMS_APPLICATION_INFO.SET_MODULE过程来执行的module名字MODULE_HASH:modlue列的哈希值ACTION:通过调用DBMS_APPLICATION_INFO.SET_ACTION过程来设置的执行动作ACTION_HASH:ACTION列的哈希值CLIENT_INFO:通过DBMS_APPLICATION_INFO.SET_CLIENT_INFO过程设置的信息FIXED_TABLE_SEQUENCE:会话每次完成一个数据库调用都会增长,会被动态性能表查询干涉ROW_WAIT_OBJ#:包含ROW_WAIT_ROW#的表对象IDROW_WAIT_FILE#:包含ROW_WAIT_ROW#的文件IDROW_WAIT_BLOCK#:包含ROW_WAIT_ROW#的块IDROW_WAIT_ROW#:当前锁住的行TOP_LEVEL_CALL#:顶级调用号LOGON_TIME:登陆时间LAST_CALL_ET:如果状态为ACTIVE,表示活动的流逝时间PDML_ENABLED:已经被PDML_STATUS列代替FAILOVER_TYPE:透明应用FAILOVER(TAF)是否开启以及开启方式FAILOVER_METHOD:会话的TAF方法FAILED_OVER:是否允许在FAILOVER模式,以及是否触动RESOURCE_CONSUMER_GROUP:会话当前资源消耗组PDML_STATUS:如果ENABLED,会话使用PARALLELDMLPDDL_STATUS:如果DENABLED,会话使用PARALLELDDLPQ_STATUS:如果ENABLED,会话使用PRAALLELQUERY模式CURRENT_QUEUE_DURATION:如果queued(1),当前会话排队总的时间CLIENT_IDENTIFIER:会话的客户端IDBLOCKING_SESSION_STATUS:这个列提供了消息的关于阻塞会话BLOCKING_INSTANCE:阻塞会话的实例IDBLOCKING_SESSION:阻塞会话的会话IDFINAL_BLOCKING_SESSION_STATUS:finalblockingsession是等待chain中最后通过被阻塞会话构建的FINAL_BLOCKING_INSTANCE:最终阻塞会话的实例IDFINAL_BLOCKING_SESSION:最终阻塞会话的会话IDSEQ#:唯一确定当前或最后等待EVENT#:事件号EVENT:会话等待的资源或事件P1TEXT:第一个等待事件参数的描述P1:第一个等待时间参数(10进制)P1RAW:第一个等待时间参数(16进制P2TEXT:第2个等待事件参数的描述P2:第2个等待时间参数(10进制)P2RAW:第2个等待时间参数(16进制P3TEXT:第3个等待事件参数的描述P3:第3个等待时间参数(10进制)P3RAW:第3个等待时间参数(16进制WAIT_CLASS_ID:等待时间的类IDWAIT_CLASS#:等待事件的类号WAIT_CLASS:等待时间的类名字WAIT_TIME:如果会话当前正在等待,则值为0,如果0,上一次等待时间持续时间,-1上一次等待少于百分之一秒;-2表示TIMED_STATISTICS设置为FALSESECONDS_IN_WAIT:如果会话当前正在等待,当前等待的总值STATE:等待状态WAIT_TIME_MICRO:等待时间的总计(毫秒)TIME_REMAINING_MICRO:可以0,0,-1,NULL。0当前等待总计,0当前等待超时,-1无线等待,NULL会话没在等待TIME_SINCE_LAST_WAIT_MICRO:上一次等待结束流逝的时间,如果会话当前正在等待,该值为0SERVICE_NAME:会话服务名字SQL_TRACE:SQL跟踪是否开开启SQL_TRACE_WAITS:等待tracing是否使能SQL_TRACE_BINDS:绑定tracing是否使能SQL_TRACE_PLAN_STATS:每个游标DUMP到t