ASH

我们可以用第三方工具监控数据库,如toad,spotlight(我用的是这个,还不错),但是oracl提供的监测数据的工具不可忽视,学会应用会给监控数据带来便捷。下面介绍ASH.
ASH:active session history
我们可以查v$active_session_history(记录了活动session的历史信息),v$session_wait_history(记录了session等待的信息),v$session_wait
对active session的理解:持有CPU资源;有事务等待
SQL> select * from v$version where rownum=1;


BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
下面简介如何使用ASH报告:
SQL> SELECT DISTINCT SID FROM V$MYSTAT;


       SID
----------
       143


SQL> update t set name='s' where id=1;


已更新 1 行。
SQL> select distinct sid from v$mystat;


       SID
----------
21


SQL> update t set name='d' where id=1;
此时出现了阻塞:
通过脚本生成ASH报告:
SQL> @/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/ashrpt.sql


Current Instance
~~~~~~~~~~~~~~~~


   DB Id    DB Name      Inst Num Instance
----------- ------------ -------- ------------
 3848072073 ORCL3939            1 orcl3939




Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
输入 report_type 的值:  (可以选择html,text格式)

..............
.............
.............
根据填写的时间段,我填写的是13:10    10(如果填写的-10,则时间段是13:00-13:10),可以生成ash报告:

上面只是报告一小部分截图,上面分析了这一段时间内的top events,top sql等事件,同时也出现了上面模拟的等待。
具体可以实验研究。
我们也可以通过OEM来生成ASH报告,同样在em里可以分析性能问题,比较直观。
对于em,还是ash,都是通过查找视图来收集这些信息的,如果我们熟悉的话,可以直接查视图发现问题。
例如上面的阻塞:
select * from  v$session_wait;

关于空的的等待(idle)我们不需要关注,很直观就发现等待的类型,依次诊断数据库。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29876893/viewspace-1592656/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29876893/viewspace-1592656/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值