- 最后登录
- 2023-8-16
- 在线时间
- 1686 小时
- 威望
- 2135
- 金钱
- 50532
- 注册时间
- 2011-10-12
- 阅读权限
- 200
- 帖子
- 5207
- 精华
- 39
- 积分
- 2135
- UID
- 2
|
2#
发表于 2012-4-25 15:24:02
10.2.0.5.0
failed probes on index block reclamation 113,196 31.60 0.87
branch node splits 15 0.00 0.00
leaf node 90-10 splits 94 0.03 0.00
leaf node splits 1,540 0.43 0.01
enq: TX - index contention 2,891 7,934 2,744 93.0 Concurrency
root node splits 1 0.00 0.00
可以看到在 bad awr中 发生过 1540次的 index leaf block split , 15次的branch block split , 和 1次的root block split
Top SQL
7,979 15 22,248 0.36 93.51 7z0xy3tqz4ch1 insert into DLog (seq, action_...
enq: TX - index contention常由 大量并发INSERT 造成的 index split 引起, 这里可以看到 引发enq: TX - index contention的是SQL :
insert into DLog (seq, action_code, cutoffday, bip_id, activity_id, activity_type, conv_id, odomain_id, osn_duns, hdomain_id, hsn_duns, icnt, dub_flag, status, rev_type, rev_desc) values (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16)
关于 index split的更多信息可以参考 http://www.oracledatabase12g.com ... 88%86%E6%9E%90.html
建议:
1. 定期对 DLog 相关的索引执行 coalesce 操作 而非 rebuild 操作。 rebuild 可能导致索引高度下降,当再有 大量插入后可能会导致索引root node split
2. 考虑使用global hash index ,global hash index可以很大程度上避免索引插入争用 |
|