Oracle队列锁enq:TS,Temporary Segment (also TableSpace)

有多少TS,Temporary Segment资源?

每个临时段(例如排序端)对应2个资源
正被drop掉的tablespace或CREATE ROLLBACK SEGMENT对应一个TS资源

有多少个TS lock锁资源?

1个锁资源/对应每一个进程正在执行的如下类操作

 

该资源有多少用户?

所有正在使用临时空间、DROP TABLESPACE 、或CREATE ROLLBACK SEGMENT的用户进程

 

谁使用该资源?

所有正在使用临时空间、DROP TABLESPACE 、或CREATE ROLLBACK SEGMENT的用户进程

 

何时被使用?

对于每一个临时段的2个临时段锁TS enqueue resource有2种不同的用途。 第一目的是为了串行化”High Water Mark”的上涨。第二目的是为了串行化创建、使用和删除一个临时段。当dropping tablespace或创建一个回滚段时将需要tablespace enqueue,目的是避免在row cache字典缓存层面出现的死锁。

 

ID1,ID2的组合:

ID1                                      ID2             含义

segment dba                    0                  串行控制高水位线
segment dba                    1                   创建、使用、删除临时段
tablespace number       2                  避免发生在create rollback segment和drop tablespace时的死锁

 

Lock Value Block:

Not Used.

Init.ora Parameters:

_bump_highwater_mark_count (7.3).

Scope:

Local, Global

Deadlock Sensitive:

No.

Operation:

Synchronous.

 

 


Posted

in

by

Tags:

Comments

One response to “Oracle队列锁enq:TS,Temporary Segment (also TableSpace)”

Leave a Reply

Your email address will not be published. Required fields are marked *