加锁跟踪¶
可利用该功能可对数据库的加锁操作进行跟踪,方便查看数据库运行过程的加锁信息,当对数据对象加(释放)锁或者发生加锁等待时,收集相关信息并转储至对应的用户线程跟踪文件。
内部事件号为10852
转储级别1:加(放)锁信息,不同的锁类型可能只包含以下信息的一部分。
| Acquire /Release | 加锁/放锁 |
|---|---|
| Lock Set Handle | LockList |
| XID | 事务号 |
| SID | 加锁对象id |
| RowID | 行号 |
| Lock Mode | 锁类型 1 共享意向锁 2 共享锁 4 排它意向锁 8 更新锁 16 排它锁 255 不加锁 |
| LockType | 等待模式 0 无 1 NOWAIT 2 INSTANT |
| Conflict Mode | 冲突模式 |
转储级别2:锁等待信息,不同的等待锁可能只包含以下信息的一部分。
| Acquire /Release | 加锁/放锁 |
|---|---|
| Lock Set Handle | LockList |
| XID | 事务号 |
| SID | 加锁对象id |
| RowID | 行号 |
| Lock Mode | 锁模式 共享意向锁 2 共享锁 4 排它意向锁 8 更新锁 16 排它锁 255 不加锁 |
| Conflict Mode | 冲突模式 |
| Blocker Lock Set Handle | 阻塞LockList |
| Blocker XID | 阻塞事务号 |
示例:
alter system set events (10852 trace name context forever level 3);