关闭
侧边栏

新增v$session_wait_history视图

Posted by dbtan on 四月 9th, 2010

Oracle 10g的增强:

虽然v$session_wait记录的信息如此重要,但是这些重要的信息是随session而消逝的,如果我们希望获得数据库的历史状态及session的历史状态及session的历史等待信息等数据,是不可得的。

所以很多时候很难回答这样的问题:
·这个系统昨天是什么样子的?
·今天和昨天相比有什么不同?
·1个小时前的那次性能下滑是哪个用户引起的?
·是哪些事件使我们今天用了更多的时间来等待?
你也可能一次又一次地听到Oracle Support这样问:
·问题出现时系统是怎样的状况?
·问题出现时系统有哪些等待?
·你能否重现(Reproduce)问题以使我们判断?

很多这样
... ...
<阅读全文>

捕获相关SQL

Posted by dbtan on 四月 9th, 2010

捕获相关SQL:

确定这些进程因为数据访问产生了等待,可以考虑捕获这些SQL以发现问题。这里用到了以下脚本getsqlbysid.sql,该脚本通过已经session的sid,联合v$session、v$sqltext视图,获得相关session正在执行的完整SQL语句。

select sql_text
from v$sqltext a
where a.hash_value = (select sql_hash_value
                      from v$session b
                  &nb
... ...
<阅读全文>

从v$sqltext中追踪

Posted by dbtan on 四月 9th, 2010

从v$sqltext中追踪:

在数据库出现瓶颈时,通常可以从v$session_wait找到那些正在等待资源的Session,通过Session的sid,联合v$session和v$sqltext视图可以捕获这些Session正在执行的SQL语句。

数据库运行缓慢,转换为数据库语言就是数据库可能经历了等待,那么可以通过v$session_wait(从Oracle 10g,v$session视图可以取代v$session_wait的这一诊断功能)视图来入手。查询v$session_wait获取各进程等待事件:

winks@CCDB> select sid,event,p1,p1text from v$session_wait ;
       SID EVENT          &n
... ...
<阅读全文>

Oracle 11g实时SQL监控

Posted by dbtan on 四月 9th, 2010

Oracle 11g实时SQL监控:

前面提到,在Oracle Database 11g中,v$session视图增加了一些新的字段,这其中包括SQL_EXEC_STARTSQL_EXEC_ID,这两个字段实际上代表了Oracle 11g的一个新特性:实时的SQL监控(Real Time SQL Monitoring)

在Oracle 11g之前的版本,长时间运行的SQL可以通过监控v$session_longops来观察,当某个操作执行时间超过6秒,就会被记录在v$session_longops中,通常可以监控到全表扫描、全索引扫描、哈希联接、并行查询等操作;而在Oracle 11g中,当SQL并行执行时,会立即被实时监控到,或者当SQL单进程运行时,如果消
... ...
<阅读全文>

v$session_event 和v$system_event

Posted by dbtan on 四月 9th, 2010

v$session_event 和v$system_event:

前面提到过v$session及v$session_wait视图记录了活动会话当前正在发生的等待,但是要知道一个活动会话在其生命周期可能经历很多等待,这些等待通过v$session_event视图记录。但是需要注意的是,这个视图记录的是累积信息,同一会话对于同一事件发生的多次等待会被累计。以下是一个会话的等待事件输出:

sys@TQGZS> select sid,event,time_waited,time_waited_micro
  2  from v$session_event
  3  where sid=165
  4  order by 3;
       SID EVENT     &nb
... ...
<阅读全文>


Copyright © 2009 - 2018 https://www.dbtan.com. All rights reserved.    京ICP备13006977号-1