知识大全 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主要的系统表和数据字典视图 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 系统表
Oracle动态视图 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在oracle运维的过程中经
Oracle数据库-视图的概念 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一视图概念 视图
willpower 方法一Oracle的死锁非常令人头疼总结了一些点滴经验作为学习笔记 1查哪个过程被锁查V$DB_OBJECT_CACHE视图: SELECT *
Oracle数据库视图管理经验技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 视图对于数据库
Advisor 在g将查询重写并且引进了新的强大的调优建议者使管理物化视图变得容易多了 物化视图(Materia
ORACLE常用数据字典的查询视图 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用户 查看用
Oracle数据字典与动态性能视图 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 常用的数据字典
Oracle查询表、视图、序列等信息查询 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这几天做
Oracle多表创建的视图insert解决方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 单