知识大全 oracle系统视图总结

Posted 事件

篇首语:知识虽宝贵,但更可贵的却在于运用。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 oracle系统视图总结相关的知识,希望对你有一定的参考价值。

   dba视图

  select * from dba_data_files   指定表空间的数据文件及所在的路径

  select * from dba_free_space   指定表空间的剩余空间

  select * from dba_users        找出当前数据库实例中的所有用户

  select * from dba_segments     找出当前数据库实例中的所有对象的物理信息 如 所占空间 pctincrease等

  select * from dba_tab_columns  指定所有表对应的列名

  select * from dba_col_ments 指定所有列的注释信息

  select * from dba_tablespaces  列出所有的表空间及相关信息

  select * from dba_tab_partitions 所有表分区的信息

  select * from dba_ind_columns  显示所有的被索引的列

  select * from dba_indexes      显示所有的索引信息

  select * from dba_jobs        显示所有的job信息

  select * from dba_jobs_running 显示正在运行的job信息

   v$视图

  select * from v$session        显示当前所有的session信息

  v$lock视图

  反映内容 该视图展示当前保持的锁信息

  名称                                                类型                                      说明部分

         ********************************

  ADDR                                               RAW( )                      //锁状态对象地址

  KADDR                                              RAW( )                    //锁地址

  SID                                                NUMBER                       //保持锁的会话的会话标识符

  TYPE                                               VARCHAR ( )           //锁类型 TM:dml排队TX:事务排队UL:用户提供

  ID                                                 NUMBER                      //锁标示

  ID                                                 NUMBER                      //锁标示

  LMODE                                              NUMBER                //会话保持的锁的模式

  REQUEST                                            NUMBER             //进程请求锁定时所处的模式

  CTIME                                              NUMBER               //当前的锁模式所消耗的时间

  BLOCK                                              NUMBER              //阻塞其他锁

   解释 代表无 代表空(null) 代表行(ss) 代表行(sx) 共享S S/行X(SSX) 独占

  通过这个视图你能初步了解锁的模式 从而判断锁会出现的地方

   v$PROCESS视图

  放映内容 包含有关当前活动进程的信息

  SQL> desc v$process

  名称                                               类型                                     说明部分

           ********************************

  ADDR                                               RAW( )                       //进程对象状态地址

  PID                                                NUMBER                       //oracle进程标识符 类似于序号

  SPID                                               VARCHAR ( )           //操作系统进程标识符 可以用来和操作系统进程联系

  USERNAME                                           VARCHAR ( )    //操作系统进程用户名

  SERIAL#                                            NUMBER                  //进程序列号

  TERMINAL                                           VARCHAR ( )      //操作系统终端标示符

  PROGRAM                                            VARCHAR ( )    //进程中的程序

  TRACEID                                            VARCHAR ( )     //跟踪文件标识符

  BACKGROUND                                         VARCHAR ( )   // 表示后台进程 null表示其它

  LATCHWAIT                                          VARCHAR ( )  //进程正在等待锁的地址 如果该值为n/a 则锁地址为null

  LATCHSPIN                                          VARCHAR ( )  //进程正在轮循的锁的地址 如果该职位n/a 则为地址nill

  PGA_USED_MEM                                       NUMBER   //当前正在使用的pga内存

  PGA_ALLOC_MEM                                      NUMBER  //当前已经分配的pga内存

  PGA_FREEABLE_MEM                                   NUMBER  //可以释放的已分配的pga内存

  PGA_MAX_MEM                                        NUMBER  //曾经需要的最大的最大pga内存

  这个视图分很有用 可以和操做系统联系 这样用来诊断跟踪顶级系统资源使用很有益处 这里就可以有个案例 经常用到的 通过消耗资源做大的系统进程号的到执行的sql语句 需要结合v$session视图一起来完成

   v$session

  反映内容 列出连接到实例的会话 这个视图有非常多的信息字段也比较多

  SQL> desc v$session

  名称                                               类型

  

  SADDR                                          RAW( )                    session地址

  SID                                                NUMBER                    session标识符

  SERIAL#                                        NUMBER                    session会话序列号

  AUDSID                                         NUMBER                     审计的会话id

  PADDR                                          RAW( )                      拥有该会话的oracle进程号和v$process联系

  USER#                                          NUMBER                      oracle用户

  USERNAME                                   VARCHAR ( )          oracle用户名

  MAND                                       NUMBER                   执行的命令

  OWNERID                                         NUMBER                   会话的所有者

  TADDR                                            VARCHAR ( )            事务地址

  LOCKWAIT                                      VARCHAR ( )           锁等待地址 null if none

  STATUS                                        VARCHAR ( )               会话的状态 active inactive killed cached sniped

  SERVER                                             VARCHAR ( )          服务的类型 共享还是专用服务器

  SCHEMA#                                            NUMBER                 用户标示模式

  SCHEMANAME                                VARCHAR ( )           用户模式名称

  OSUSER                                             VARCHAR ( )         客户端操作系统名称

  PROCESS                                       VARCHAR ( )             操作系统客户端进程号

  MACHINE                                            VARCHAR ( )          操作系统机器名称

  TERMINAL                                           VARCHAR ( )         操作系统终端名

  PROGRAM                                      VARCHAR ( )              操作系统程序名

  TYPE                                               VARCHAR ( )               session种类

  SQL_ADDRESS                                RAW( )                             当前回话识别目前执行的sql语句的表示地址

  SQL_HASH_VALUE                  NUMBER                           和sql_address一起唯一标示一条执行的sql语句

  SQL_ID                                             VARCHAR ( )         目前被执行的sql语句的标识符

  SQL_CHILD_NUMBER                      NUMBER                     目前被执行的sql语句的子句数量

  PREV_SQL_ADDR                              RAW( )                 与sql_hash_value一起标示上一条被执行的sql语句

  PREV_HASH_VALUE                      NUMBER                      与PREV_SQL_ADDR 一起表示上一条被执行的sql语句

  PREV_SQL_ID                              VARCHAR ( )                前一条被执行的sql语句

  PREV_CHILD_NUMBER                    NUMBER                      上一条被执行的sql的子句数量

  MODULE                                             VARCHAR ( )           这个没太懂 oracle文档上面的解释比较清楚

  MODULE_HASH                            NUMBER                           这是针对上面一个字段的hash value

  ACTION         VARCHAR ( )    当前 正在执行被DBMS_APPLICATION_INFO SET_ACTION procedure调用名称

  ACTION_HASH                                 NUMBER           针对上一字段name的hash value

  CLIENT_INFO                      VARCHAR ( )       由APPLICATION_INFO SET_ACTION procedure设定的过程名

  FIXED_TABLE_SEQUENCE    NUMBER   oracle文档有着详细的解释session活动增长记录 最好再去看oracle文档

  ROW_WAIT_OBJ#          NUMBER      对象id 对象是table包含行源数据在OW_WAIT_ROW#中的id标识符

  ROW_WAIT_FILE#  NUMBER    标示数据文件 等待在OW_WAIT_ROW#中的row 这些行包含在这些数据文件中

  ROW_WAIT_BLOCK#               NUMBER     表示数据块 这些数据块中行源等待在OW_WAIT_ROW#中

  ROW_WAIT_ROW#                NUMBER       目前被锁定的行

  LOGON_TIME                        DATE              time of logon

  LAST_CALL_ET  NUMBER  当前session为active时 记录的是session是session编程active状态来的运行时间 相反则为inactive的时间

  PDML_ENABLED                     VARCHAR ( )            已经被PDML_STATUS字段所取代

  FAILOVER_TYPE                      VARCHAR ( )

  这是oracle文档对以上这个字段的解释

  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:

  ■ Oracle Database Concepts for more information on TAF

  ■ Oracle Database Net Services Administrator s Guide for information on

  configuring TAF

  FAILOVER_METHOD                 VARCHAR ( )

  oracle文档的解释

  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_OVER                          VARCHAR ( )         //判定是否session已经处于失败状态 yes或者no

  RESOURCE_CONSUMER_GROUP                   VARCHAR ( )          当前session用户的源数据组

  PDML_STATUS                        VARCHAR ( )

  oracle的文档解释

  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_STATUS                        VARCHAR ( )

  oracle文档解释

  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_STATUS                       VARCHAR ( )

  oracle文档解释

  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_DURATION              NUMBER         if 则session已经在队列中 if 则还未形成排队

  CLIENT_IDENTIFIER                  VARCHAR ( )       客户端session标识符

  BLOCKING_SESSION_STATUS               VARCHAR ( )

  oracle文档资料注解

  Blocking session status:

  ■ VALID

  ■ NO HOLDER

  ■ GLOBAL

  ■ NOT IN WAIT

  ■ UNKNOWN

  BLOCKING_INSTANCE                NUMBER    模块化的实例标识符

  BLOCKING_SESSION             NUMBER       模块化的session标识符

  SEQ#                   NUMBER         不唯一的标示每个等待的序列号

  EVENT#            NUMBER               事件数量

  EVENT                     VARCHAR ( )     oracle的session正在等待的数据或者事件

  P TEXT                       VARCHAR ( )       首个附加参数的描述

  P                                      NUMBER            首个附加参数

  P RAW                      RAW( )              首个附加参数和前一个区别我还不是很懂

  P TEXT                     VARCHAR ( )       第二个附加参数的描述

  P                               NUMBER            第二个附加参数

  P RAW                     RAW( )         第二个附加参数

  P TEXT               VARCHAR ( )   第三个附加参数的描述

  P                                   NUMBER    第三个附加参数

  P RAW                    RAW( )    第三个附加参数

  WAIT_CLASS_ID            NUMBER   标记等待事件种类

  WAIT_CLASS#                      NUMBER        等待事件的种类

  WAIT_CLASS                       VARCHAR ( )      等待事件的名称

  WAIT_TIME                           NUMBER           非 代表上一次session上次等待时间 代表session当前正在等待

  SECONDS_IN_WAIT                  NUMBER

  oracle文档的资料

  If WAIT_TIME = then SECONDS_IN_WAIT is the seconds spent in the

  current wait condition If WAIT_TIME > then SECONDS_IN_WAIT is the

  seconds since the start of the last wait and SECONDS_IN_WAIT WAIT_

  TIME / is the active seconds since the last wait ended

  STATE                VARCHAR ( )

  oracle资料文档

  Wait state:

  ■ WAITING (the session is currently waiting)

  ■ WAITED UNKNOWN TIME (duration of last wait is unknown)

  ■ WAITED SHORT TIME (last wait < / th of a second)

  ■ > WAITED KNOWN TIME (WAIT_TIME = duration of last wait)

  SERVICE_NAME                   VARCHAR ( )      session的服务名称

  SQL_TRACE                          VARCHAR ( )     标示sql是否能被跟踪

  SQL_TRACE_WAITS                VARCHAR ( )     标记是否等待事件被跟踪

  SQL_TRACE_BINDS                VARCHAR ( )         标记是否绑定跟踪可用与否

   v$SQL

  反映内容 包括查询游标等级的详细信息 可以用来找到负责解析游标的会话或者人 同样也有着繁多的信息字段 我下面只拿出一些常用的关键的列

  SQL> desc v$sql;

  名称                                                类型

    

  SQL_TEXT                            VARCHAR ( ) sql语句的前 千个字符

  SQL_FULLTEXT                         CLOB               sql语句的全部分 作为一个clob字段

  SQL_ID                                    VARCHAR ( )       sql与在liberary cache中的parent cursor的标识符

  SHARABLE_MEM                     NUMBER               被子cursor所使用的共享内存的和bytes

  PERSISTENT_MEM                   NUMBER              整个生命周期child cursor所使用的固定内存的大小bytes

  USERS_OPENING                   NUMBER

  FETCHES                                    NUMBER          这条sql语句返回的数据行数量

  EXECUTIONS                               NUMBER         library cache中这条sql语句被执行的次数

  USERS_EXECUTING                      NUMBER       执行这条sql语句的用户的数量

  LOADS                                       NUMBER           sql或者object被装载load或者被reloaded次数

  FIRST_LOAD_TIME             VARCHAR ( )        parent cursor创建的时间

  INVALIDATIONS                     NUMBER             this child cursor 曾经无效的数量

  PARSE_CALLS                    NUMBER               做语法分析调用child cursor的次数

  DISK_READS                       NUMBER               直接做磁盘读取的次数

  DIRECT_WRITES                     NUMBER            直接做磁盘写的次数

  BUFFER_GETS                        NUMBER           逻辑读次数

  APPLICATION_WAIT_TIME               NUMBER     应用等待时间 单位微秒

  CLUSTER_WAIT_TIME                   NUMBER       集群等待时间 单位微妙

  USER_IO_WAIT_TIME                NUMBER          用户由于I/O造成等待时间

  PLSQL_EXEC_TIME                      NUMBER          plsql程序执行时间 单位微秒

  ROWS_PROCESSED                 NUMBER            通过语法分析的sql返回的数据总行数

  OPTIMIZER_MODE               VARCHAR ( )        优化器选择方式

  OPTIMIZER_COST             NUMBER                     采用上面指定优化器所要花费的代价

  HASH_VALUE                       NUMBER         Hash value of the parent statement in the library cache

  SERVICE                    VARCHAR ( )       服务名 能够知道是oracle用户进程做得还是oracle后台进程

  CPU_TIME NUMBER   CPU time (in microseconds) used by this cursor for parsing executing and fetching

  ELAPSED_TIME      NUMBER   用在解析 分析 取回返回数据所使用的总的时间

  REMOTE                                             VARCHAR ( )    是否是远程调用

  LAST_LOAD_TIME                                     VARCHAR ( )       上次加载时间

  CHILD_LATCH                                        NUMBER        受保护的子闩锁数量

  LAST_ACTIVE_TIME                                   DATE       上次活动时间

  BIND_DATA                                          RAW( )     绑定数据

  这个视图 你能很容易的得到造成过多的解析 物理读 物理写 逻辑读等待sql语句 对于查找低效率sql语句很方便

   v$event_name

  反映内容 所有等待事件以及相关参数(p p 的定义) 没有全部写出来 只写了最重要的字段

  SQL> desc v$event_name

  名称                                                               类型

     

  EVENT#                                                         NUMBER           该事件的引用编号

  EVENT_ID                                                       NUMBER          该事件的标识符

  NAME                                                           VARCHAR ( )     oracle针对次事件的名称

  PARAMETER                                                 VARCHAR ( )    P 信息的描述

  PARAMETER                                               VARCHAR ( )       P 信息的描述

  PARAMETER                                               VARCHAR ( )       P 信息的描述

   V$session_event

  反映的内容 最近的所有等待事件的统计信息

  SQL> desc v$session_event

  名称                           类型

        

  SID                              NUMBER         标识符

  EVENT                            VARCHAR ( )      该事件的名称

  TOTAL_WAITS                      NUMBER         该会话总的等待次数

  TOTAL_TIMEOUTS                   NUMBER        该会话在等待事件期间遇到的超时次数

  TIME_WAITED                      NUMBER             该会话等待该事件所消耗的总时间单位 秒

  AVERAGE_WAIT                     NUMBER         该会话等待该事件所消耗平均等待时间 秒

  MAX_WAIT                         NUMBER         进程必须等待该事件的最大时间总值单位 秒

  EVENT_ID                         NUMBER        等待事件的唯一标识符对应V$event_name表

  通过这个动态性能视图 你应该很容易了解到最近常常发生的等待事件的大体情况

   v$session_wait

  反映的内容 提供了当前会话的当前等待事件的详细信息

  SQL> desc v$session_wait

  名称                    是否为空? 类型

  

  SID                              NUMBER               唯一表示符

  SEQ#    NUMBER           等待次序的计数器 进程每开始一次新的等待就就增加

  EVENT                            VARCHAR ( )   Resource or event for which the session is waiting

  P TEXT                           VARCHAR ( )    等待事件P 参数名称

  P                                NUMBER          p 的值

  P RAW                            RAW( )       p 参数 进制值

  P TEXT                           VARCHAR ( )   等待事件P 参数名称

  P                                NUMBER      p 的值

  P RAW                            RAW( )       p 参数 进制值

  P TEXT                           VARCHAR ( )    等待事件P 参数名称

  P                                NUMBER     p 的值

  P RAW                            RAW( )         p 参数 进制值

  WAIT_TIME                        NUMBER  上一次等待持续的时间单位 秒

  SECONDS_IN_WAIT                  NUMBER      等待时间单位秒

  STATE                            VARCHAR ( )  指出进程是已经完成了等待还是还在等待

  比如

  SQL> select event name p text p name p p value from v$session_wait;

  NAME                           P NAME               P VALUE

  

  jobq slave wait                                          

  SQL*Net message from client    driver id        

  Streams AQ: qmn slave idle wai                           

  t

  Streams AQ: qmn coordinator id                           

  le wait

  Streams AQ: waiting for time m                           

  anagement or cleanup tasks

  rdbms ipc message              timeout                 

  rdbms ipc message              timeout                 

  rdbms ipc message              timeout                 

  很容易看到当前等待事件的情况

   v$system_event

  反映的内容 列出自从实例启动以来的等待事件的统计信息

  SQL> desc v$system_event

  名称                       类型

  

  EVENT                            VARCHAR ( )   等待事件的名称

  TOTAL_WAITS                      NUMBER         次等待事件的总的等待次数

  TOTAL_TIMEOUTS                   NUMBER        总的超时等待事件的次数

  TIME_WAITED                      NUMBER             等待事件的总的等待时间

  AVERAGE_WAIT                     NUMBER           平均等待时间单位 s

  EVENT_ID                         NUMBER     等待事件的唯一标示符 和v$event_name中的对应

   dba_tables

  反映内容 记录数据库表所有信息 这里我也只是列出用于性能测试多的字段

  SQL> desc dba_tables;

  名称                        类型

    

  OWNER                   NOT NULL VARCHAR ( )    所有者

  TABLE_NAME              NOT NULL VARCHAR ( )   表名

  TABLESPACE_NAME                  VARCHAR ( )    表所在的表空间名

  CLUSTER_NAME                     VARCHAR ( )      所在集群的名称

  PCT_FREE                         NUMBER      数据块允许空闲的最小百分比

  PCT_USED                         NUMBER       数据块允许使用的最大百分比

  MAX_TRANS                        NUMBER        最大事务数

  FREELISTS                        NUMBER      被分配给段的空闲进程数量

  LOGGING                          VARCHAR ( )        是否记录日志生成重做日志记录

  NUM_ROWS                         NUMBER          总共有多少行数据记录

  BLOCKS                           NUMBER           此表使用的块数

  EMPTY_BLOCKS                     NUMBER        表中从来不没有被使用的空块

  AVG_SPACE                        NUMBER   表中平均可用空闲空间

  AVG_SPACE_FREELIST_BLOC          NUMBER  Average freespace of all blocks on a freelist

  NUM_FREELIST_BLOCKS              NUMBER  空闲列表的块数

  CACHE                            VARCHAR ( )         检查表是否被cache到buffer中

  TABLE_LOCK                       VARCHAR ( )       表名表是正在否被锁定

  SAMPLE_SIZE                      NUMBER            表被分析的比例或者数量

  LAST_ANALYZED                    DATE                表上一次被分析的时间点

  NESTED                           VARCHAR ( )        表是否嵌套

  BUFFER_POOL                      VARCHAR ( )      buffer_pool中被用于表块的default keep recycle

  MONITORING                       VARCHAR ( )     表名表是否正被监控

  这个视图非常的有用 一般可以用来作为健康检查 检查数据库表的分析情况等 对于oracle 以后的版本都推荐使用基于成本的优化器cbo 基于规则的优化器逐渐被放弃了 所以分析的了解很重要

  如下

  TABLE_NAME                     TABLESPACE_NAME                  PCT_FREE   PCT_USED   NUM_ROWS BUFFER_ SAMPLE_SIZE LAST_ANALYZED

  

  LT_LHT_COUNT     &nb

相关参考

知识大全 ORACLE主要的系统表和数据字典视图

ORACLE主要的系统表和数据字典视图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  系统表  

知识大全 Oracle动态视图

Oracle动态视图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在oracle运维的过程中经

知识大全 Oracle数据库-视图的概念

Oracle数据库-视图的概念  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一视图概念  视图

知识大全 如何杀死oracle死锁进程

  willpower  方法一Oracle的死锁非常令人头疼总结了一些点滴经验作为学习笔记     1查哪个过程被锁查V$DB_OBJECT_CACHE视图:  SELECT *

知识大全 Oracle数据库视图管理经验技巧

Oracle数据库视图管理经验技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  视图对于数据库

知识大全 oracle10g新特性—物化视图

  Advisor       在g将查询重写并且引进了新的强大的调优建议者使管理物化视图变得容易多了  物化视图(Materia

知识大全 ORACLE常用数据字典的查询视图

ORACLE常用数据字典的查询视图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  用户  查看用

知识大全 Oracle数据字典与动态性能视图

Oracle数据字典与动态性能视图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  常用的数据字典

知识大全 Oracle查询表、视图、序列等信息查询

Oracle查询表、视图、序列等信息查询  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这几天做

知识大全 Oracle多表创建的视图insert解决方法

Oracle多表创建的视图insert解决方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  单