Oracle队列锁enq:US,Undo Segment
有多少Undo enqueue resource?
每一个rollback segment对应一个 US enqueue 资源
有多少US enqueue lock?
当进程要求访问一个rollback segment RBS时对应一个US enqueue lock
谁使用该enqueue lock?
所有的前台进程,SMON和PMON
何时使用该US enqueue ?
US,Undo Segment enqueue的存在是为了对给定undo segment(rollback segment)的串行化DDL,该US enqueue 串行化以下操作:
- CREATE ROLLBACK SEGMENT
- DROP ROLLBACK SEGMENT
- ALTER ROLLBACK SEGMENT ONLINE
- ALTER ROLLBACK OFFLINE
- ALTER ROLLBACK SEGMENT SHRINK
- ALTER ROLLBACK SEGMENT STORAGE
- Offlining PENDING OFFLINE RBS by SMON
- SMON - abortive offline cleanup.
- STARTUP.
注意在UNDO_MANAGEMENT=AUTO的 AMU模式下当Undo Tablespace可用空间紧张时也可能引起剧烈的enq: US队列锁争用等待事件。
Id1, Id2 组合:
Undo Segment#, Always 0.
Lock Value Block:
No.
Init.ora Parameters:
gc_rollback_locks, rollback_segments.
Scope:
Local and Global Enqueue.
Deadlock Sensitive:
Yes.
Operations:
Synchronous.
posted on 2013-03-19 00:48 Oracle和MySQL 阅读(345) 评论(0) 编辑 收藏 举报