您的位置:首页 > 数据库 > Oracle

关于Oracle中ASH功能的特别说明,oracle10个/11g的新特点

2010-01-13 21:39 525 查看
《Oracle大型数据库系统在AIXUNIX上的实战详解》集中讨论17, 还是继续大前天的话题――对Oracle性能数据的获得。
 
在Oracle10gR2以后版本中添加了经过完善的ASH功能。所谓ASH,就是自动的会话历史纪录,它纪录了每时每刻激活会话的活动信息,这些信息记录在SGA的一个循环使用的缓冲区中。任何用户的连接,只要该用户当前不处于闲置(idle类)状态,那么,该连接就会被记录。我们可以通过V$ACTIVE_SESSION_HISTORY 视图来查看这些会话的CPU使用方面的信息。
 
那么究竟V$ACTIVE_SESSION_HISTORY中记录了那些信息呢? 在该视图中,每个会话的历史纪录占若干行,每次取样占一行。由于这些信息被临时性循环存储在缓存中,这个缓存结构的大小是有限的,当系统处于繁忙状态时,这部分内存结构循环将使用的更快,因此,这导致缓存中记录的激活会话信息更少,从时间上看,则记载的时间更短,这取决于数据库活动程度。
 
不仅如此,会话历史纪录将定期存放到硬盘中,并作为自动工作量资料档案库(AWR)的一部分。由于该视图的内容可能很大,尤其在系统繁忙的状态下,因此可能仅有部分会话信息被保存。
 
由于ASH仅保存激活会话信息,因此被捕获的数据将简短但有用,避免大量的统计数据造成的视听的混淆。一般而言,如果查看较为当前的会话历史记录,可以通过V$ACTIVE_SESSION_HISTORY 视图获得。如果查看历史数据,则查看DBA_HIST_ACTIVE_SESS_HISTORY 视图。有了这些信息,我们就可以探寻到数据库“过去”的状态,包括下列常用的信息:
SQL语句的SQL标识符
对象标号、文件标号、块标号
等待事件和对应参数
会话标识符和会话序列号
模块名和动作名
会话的客户标识符
服务哈希标识符
 
未完,待续,
参见: http://www.usedb.cn/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: