Oracle 的 enq: TT - contention 等待事件
在遇到 TT 锁等待时,你可能会被Oracle的文档所困扰。即便是在Oracle Database 12c的文档中,关于TT锁的描述也是:Temporary table enqueue。
这其实已经不准确了,从数据库中可以得到更详细和准确的描述,V$LOCK_TYPE中有着准确记录:
SQL> set serveroutput on
SQL> exec print_table('select * from v$lock_type where type=''TT''');
TYPE : TT
NAME : Tablespace
ID1_TAG : tablespace ID
ID2_TAG : operation
IS_USER : NO
DESCRIPTION : Serializes DDL operations on tablespaces
-----------------
PL/SQL procedure successfully completed.
在Oracle 8i之后,这个事件代表的是表空间事务,用于防范死锁,TT - Tablespace Transaction。其两个核心参数: ID1 代表表空间号,ID2 代表操作类型。
操作类型代码的主要解释