timed_statistics参数:用于决定是否收集相关的时间参数,true为收集。如果该参数设为false,则等待事件相关视图也就无法收集到数据。

SQL> SHOW PARAMETER timed_statistics;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
timed_statistics boolean TRUE
如果statistics_level设置为TYPICAL或ALL,那么timed_statistics该参数为true;如果statistics_level设置为BASIC,那么timed_statistics该参数为false。
SQL> SHOW PARAMETER statistics_level
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
statistics_level string TYPICAL

一、v$system_event视图介绍
1.字段说明

DESC v$system_event
Name Type
----------------- ------------
EVENT VARCHAR2(64) --等待的事件
TOTAL_WAITS NUMBER --总等待次数
TOTAL_TIMEOUTS NUMBER --等待超时次数
TIME_WAITED NUMBER --总等待时间(时间毫秒,1/100秒)
AVERAGE_WAIT NUMBER --平均等待时间(总等待时间/总等待次数)
TIME_WAITED_MICRO NUMBER --总等待时间(时间微秒,1/1000000秒)
EVENT_ID NUMBER --标识等待事件id
WAIT_CLASS_ID NUMBER --标识等待事件类型id
WAIT_CLASS# NUMBER --该等待类型的数量
WAIT_CLASS VARCHAR2(64) --等待类型名称    

2.等待事件类型(WAIT_CLASS)

SELECT DISTINCT wait_class FROM v$system_event;--或直接查看v$system_wait_class视图
WAIT_CLASS
-------------
Concurrency --等待用于锁定的数据库资源,如闩
System I/O --后台进程I/O的等待,包括db file parallel write事件的数据库写程序后台进程(DBWR)等待。还包括与归档有关的等待和重做日志读和写等待
User I/O --包括db file sequential read和db file scattered read事件
Configuration --如checkpoint completed等待事件
Other --杂项等待
Application --由应用代码导致的等待
Idle --空闲等待事件表示在会话不活动时发生的等待,如 “SQL*Net message from client”等待事件
Commit --由单个等待事件log file sync组成,它是一个由数据库中的提交导致的等待
Network --网络传递消息过程中的发生等待
log file sync(日志文件同步): log file sync 等待时间和事务中指(提交或回滚)相关;当进程在log file sync事件上花费大量时间时,这通常表明过多的提交或短事务。SELECT event, time_waited, average_wait,total_waits,f.WAIT_CLASS_ID,f.WAIT_CLASS#,f.WAIT_CLASSFROM v$system_event f
WHERE wait_class NOT IN ('Idle')ORDER BY time_waited DESC;

二、v$system_wait_class视图
1.视图字段说明

SQL> DESC v$system_wait_class --10g新增
Name Type
------------- ------------
WAIT_CLASS_ID NUMBER --等待类型id
WAIT_CLASS# NUMBER --该等待类型的数量
WAIT_CLASS VARCHAR2(64) --等待类型名称
TOTAL_WAITS NUMBER --该等待类型事件发生时所等待的时间
TIME_WAITED NUMBER --所有会话用于等待的时间
2.v$system_wait_class视图和v$system_event视图比较
v$system_wait_class视图是10g新增的,该视图是对类型等待时间的统计。v$system_event视图可以与v$system_wait_class视图结合查看。
v$system_wait_class视图和v$system_event视图的来源不同,可用v$fixed_view_definition视图查看视图的具体定义,如下所示:
SELECT * FROM v$fixed_view_definition WHERE view_name='V$SYSTEM_EVENT';
SELECT * FROM v$fixed_view_definition WHERE view_name='GV$SYSTEM_EVENT';
SELECT * FROM v$fixed_view_definition WHERE view_name='V$SYSTEM_WAIT_CLASS';
SELECT * FROM v$fixed_view_definition WHERE view_name='GV$SYSTEM_WAIT_CLASS';

三、v$session_event视图
1.字段说明

SQL> DESC v$session_event
Name Type
----------------- ------------
SID NUMBER --会话id
EVENT VARCHAR2(64) --等待事件
TOTAL_WAITS NUMBER --该会话等待次数
TOTAL_TIMEOUTS NUMBER --该会话等待超时次数
TIME_WAITED NUMBER --该会话总等待时间(时间毫秒,1/100秒)
AVERAGE_WAIT NUMBER --该会话平均等待时间(总等待时间/总等待次数)
MAX_WAIT NUMBER --该会话等待时间最大值
TIME_WAITED_MICRO NUMBER --该会话总等待时间(时间微秒,1/1000000秒)
EVENT_ID NUMBER --事件ID
WAIT_CLASS_ID NUMBER --等待类型ID
WAIT_CLASS# NUMBER --该等待类型的数量
WAIT_CLASS VARCHAR2(64) --等待类型名称  

2.v$session_event视图与v$system_event视图比较
v$session_event视图:会话级的统计
v$system_event视图:系统级的统计
四、v$session_wait_class视图
与v$system_wait_class相比多了sid和serial#字段,v$session_wait_class视图表示某一会话的等待时间。
五、v$session_wait视图
1.字段说明

SQL> DESC v$session_wait;
Name Type
--------------- ------------
SID NUMBER --会话id
SEQ# NUMBER --标识当前或最新的等待序列号
EVENT VARCHAR2(64) --当前等待事件或最后一次等待事件
P1TEXT VARCHAR2(64) --第一个等待参数的描述
P1 NUMBER --第一个等待参数(十进制)
P1RAW RAW(4) --第一个等待参数(十六进制)
P2TEXT VARCHAR2(64) --第二个等待参数的描述
P2 NUMBER --第二个等待参数(十进制)
P2RAW RAW(4) --第二个等待参数(十六进制)
P3TEXT VARCHAR2(64) --第三个等待参数的描述
P3 NUMBER --第三个等待参数(十进制)
P3RAW RAW(4) --第三个等待参数(十六进制)
WAIT_CLASS_ID NUMBER --等待事件类型ID
WAIT_CLASS# NUMBER --该等待事件数量
WAIT_CLASS VARCHAR2(64) --等待事件名称
WAIT_TIME NUMBER 该字段已废弃,可通过SECONDS_IN_WAIT和STATE字段替代 (具体含义,0代表正在等待;>0表示最后一次等待的时间,单位为百分之一秒;-1表示等待时间小于百分之一秒;-2表示参数TIMED_STATISTICS被设置为false)
SECONDS_IN_WAIT NUMBER --如果该会话处于等待状态,则表示当前等待的总时间;如果非等待状态,则表示自最后一次等待以来的总时间
STATE VARCHAR2(19) --其值可为 WAITING,WAITED UNKNOWN TIME,WAITED SHORT TIME ,WAITED KNOWN TIME

state值的具体含义:WAITING表示会话正在等待;
                  WAITED UNKNOWN TIME表示最后一次等待时间不知,即TIMED_STATISTICS被设置为false;
                  WAITED SHORT TIME表示最后一次等待时间少于百分之一秒;
                  WAITED KNOWN TIME表示最新一次等待时间,可通过wait_time列查看。即该等待时间正好由等待状态得到资源转为执行状态。
2.注意事项
1)oracle11g,在该视图中新增了WAIT_TIME_MICRO,TIME_REMAINING_MICRO,TIME_SINCE_LAST_WAIT_MICRO字段。而SECONDS_IN_WAIT已废弃,用
WAIT_TIME_MICRO and TIME_SINCE_LAST_WAIT_MICRO替代。
TIME_REMAINING_MICRO字段含义:为0表示当前等待超时;>0表示当前等待还需等待的时间;-1表示当前等待将无限制地等待;null表示该会话当前无等待
2)p1,p2,p3参数代表的含义可以通过v$event_name视图的PARAMETER1,PARAMETER2,PARAMETER3查找。不过v$session_wait视图本身中的P1TEXT,
P2TEXT,P3TEXT已经对p1,p2,p3进行了说明,及P1TEXT,P2TEXT,P3TEXT字段值与PARAMETER1,PARAMETER2,PARAMETER3一样。
六、v$session视图
该视图包含了v$session_wait视图的所有字段。该视图记录了每个会话的具体信息。
获取不同用户会话所面临的等待类型及他们所执行的sql语句文本,如下脚本:

SELECT s.username, t.sql_text, s.eventFROM v$session s, v$sqltext tWHERE s.sql_hash_value = t.hash_valueAND s.sql_address = t.addressAND s.type <> 'BACKGROUND'ORDER BY s.sid, t.hash_value, t.piece;

七、v$sysmetric视图
这是一个显示最近时间间隔的系统度量值,时间间隔为60秒。通过这个视图也可以查看在一个短期间隔内的
Buffer Cache Hit Ratio,Memory Sorts Ratio,Redo Allocation Hit Ratio。
v$waitclassmetric:显示最近60秒时间间隔中等待类的度量值。此视图最多保存一个小时的信息。

SELECT * FROM v$waitstat

v$session_wait_history
该视图保存每个活动会话的最后10个等待事件的有关信息。如v$session和v$session_wait视图只显示最近一次等待的信息。

SELECT seq#, event, wait_time, p1, p2, p3FROM v$session_wait_history WHERE sid = 140ORDER BY seq#;

v$active_session_history:当前的活动会话历史

--查询导致最多等待的对象及这些对象在最后15分钟内等待的事件类型
SELECT o.object_name,o.object_type,a.event,SUM(a.wait_time + a.time_waited) total_wait_timeFROM v$active_session_history a, dba_objects oWHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDATEAND a.current_obj# = o.object_idGROUP BY o.object_name, o.object_type, a.eventORDER BY total_wait_time;
--列出数据库中最后15分钟内最重要的等待事件
SELECT a.event,SUM(a.wait_time + a.time_waited) total_wait_timeFROM v$active_session_history aWHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDATEGROUP BY a.eventORDER BY total_wait_time DESC;
--等待最多的用户
SELECT s.sid,s.username,SUM(a.wait_time + a.time_waited) total_wait_timeFROM v$active_session_history a,v$session sWHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDATEAND a.session_id = s.sidGROUP BY s.sid,s.usernameORDER BY total_wait_time DESC;
--确定等待最多的sql
SELECT a.user_id,s.sql_text,d.username,SUM(a.wait_time + a.time_waited) total_wait_timeFROM v$active_session_history a, v$sqlarea s, dba_users dWHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDATEAND a.sql_id = s.sql_idAND a.user_id = d.user_idGROUP BY a.user_id, s.sql_text, d.username;

dba_hist_active_sess_history:每60分钟,MMON后台进程都要刷新过滤了得ASH数据到磁盘,使其成为按小时的AWR快照的一部分。若ASH缓冲区已满,
则MMML后台进程进行数据的刷新。ASH数据被刷新到磁盘后,就不能在v$active_session_history视图中看到它了。此时要查看历史数据,就必须通过
dba_hist_active_sess_history视图。
段级动态性能视图:使用它们可以找出哪些表和索引正在使用大量资源或具有大量的等待。
v$segstat_name
v$segstat
v$segment_statistics

转载于:https://www.cnblogs.com/priestess-zhao/p/8267839.html

oracle-一些查看性能相关的视图相关推荐

  1. oracle中与归档相关的视图,Oracle OWI 等待事件历史视图及相关视图 - 一沙弥的世界...

    Oracle提供的等待事件视图使得我们可以获取指定session以及实例级别等待事件的详细信息,这些视图分别是v$session_wait,v$session_event,以及v$system_eve ...

  2. oracle index include,oracle中与索引相关的视图—all_indexes | 学步园

    ALL_INDEXES描述了与索引有关的信息,为了使部分字段的内容更准确,我们需要通过analyze或者dbms_stats包来收集与索引有关的统计信息(这部分字段标记为带*). 首先看一下官网给出的 ...

  3. oracle查看分区表的数据,ORACLE数据库查看分区表相关信息的方法

    ORACLE数据库如何查看分区表的相关信息呢?不知道你有没有总结过这方面的知识.下面我们先创建两个表TEST. GPRS_CELLTOPVOL_WK来做实验,脚本如下: CREATE TABLE GP ...

  4. oracle怎么看数据库表分区,ORACLE数据库查看分区表 相关信息的方法

    ORACLE数据库如何查看分区表的相关信息呢?不知道你有没有总结过这方面的知识.下面我们先创建两个表TEST. GPRS_CELLTOPVOL_WK来做实验,脚本如下: CREATE TABLE GP ...

  5. oracle数据库查看用户相关语句

    1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户或角色系统权限( ...

  6. Oracle ADG状态查看与相关视图

    Oracle ADG状态查看与相关视图 ADG状态相关视图 `v$parameter` `gv$database` `gv$instance` `gv$archived_log` `v$managed ...

  7. oracle view使用次數,oracle sql资源消耗相关视图

    一.常用视图说明 Oracle sql语句资源消耗监控,最常用的系统视图有: v$sql v$sqlarea v$sqltext v$session v$sql和v$sqlarea基本相同,记录了共享 ...

  8. oracle 根据spid查sql,探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句...

    Oracle数据库查看一个进程是如何执行相关的实际sql语句 代码如下: SELECT b.sql_text,sid,serial#,osuser,machine FROM v$session a,v ...

  9. oracle维护常用SQL语句(查看系统表和视图)

    转:http://www.360doc.com/content/11/1230/15/7489308_176090474.shtml oracle维护常用SQL语句(查看系统表和视图) 1.查看表空间 ...

最新文章

  1. 数据蒋堂 | 存储和计算技术的选择
  2. 网页中英文语言切换解决方案
  3. 自己实现JSON、XML的解析 没那么难
  4. FireFox与IE的兼容
  5. tableview直接滚动至最后一行
  6. linux 没有windows.h头文件_宋宝华: Linux内核编程广泛使用的前向声明(Forward Declaration)...
  7. 运算放大器节点电压方程_区分运算放大器和电压比较器
  8. linux mysql删除恢复,如果不小心把mysql的权限表删除了恢复方法
  9. 【力扣精选】3分钟拿下反转链表所有题型
  10. 简述java什么是继承_Java 继承简述
  11. 字符串算法——KMP匹配及Next数组
  12. python横线怎么打_python下划线怎么打出来
  13. 作为一个新人,怎样学习嵌入式Linux ?(韦东山)
  14. 实现输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
  15. 七夕节有病毒入侵 慎对QQ好友送玫瑰(转)
  16. 反三角函数之间的关系以及导数关系
  17. 【操作系统】-同步互斥-【2013真题】-某博物馆最多容纳500人...
  18. MacOS装机必备应用下载合集(2019年07月更新)
  19. 根据车辆品牌获取品牌所属公司,车标logo,创建年份等基本信息
  20. 行业资讯|BIM技术在未来的四大发展趋势是哪些?

热门文章

  1. [算法]最小生成树-普利姆算法
  2. 大型Java多用户商城系统设计开发的心得和困难
  3. Docker镜像的导入导出
  4. Java线程入门第三篇
  5. dynamic关键字
  6. Confluence 6 导入 SSL 证书和问题解决
  7. nginx安装-添加MP4播放模块
  8. poj 2109 Power of Cryptography
  9. (转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果
  10. [原]五分钟搭建gitserver