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

16.未公开的Oracle数据库秘密笔记——X$BH表与闩锁争用

2015-12-22 23:35 459 查看
16.未公开的Oracle数据库秘密笔记——X$BH表与闩锁争用
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50383227

官方文档Performance Tuning Guide对X$固定表X$BH做出了部分说明。X$表并不是优化性能的捷径。

         闩锁是ORACLE数据库管理系统用来保护内存结构的一种低层次锁机制。

查看标识了丢失计数最高的子闩锁:

SQL>select name,addr,latch#,child#,misses,sleepsfrom v$latch_children where misses > 10000 order by misses;

通过连接X$BH和DBA_OBJECTS,可以找出子闩锁保护的数据块属于哪些数据库对象

SELECT bh.file#, bh.dbablk, bh.class,decode(bh.state,0,'free',1,'xcur',2,'scur',3,'cr',4,'read',5,'mrec',6,'irec',7,'write',8,'pi',9,'memory',10,'mwrite',11,'donated') AS status, decode(bitand(bh.flag,1),
0, 'N','Y') AS dirty, bh.tch,

       o.owner, o.object_name, o.object_type

FROM x$bh bh, dba_objects o

WHERE bh.obj=o.data_object_id

AND bh.hladdr='&child_latch_address'

ORDER BY tch DESC;

找到对象,然后进行分析。

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: