摘要: Oracle中的锁实际对应着三个队列,分别是持有者队列、convertor队列和请求者队列。如果一个会话持有一种模式的锁,这时它又请求另一种模式的锁并且请求的锁与其它持有者已经持有的锁不相容,则这个会话的锁请求进入convertor队列。在锁请求处理过程中convertor队列优先于请求者队列。 以下是测试实例: 1、打开session1: scott@ora10g: SQL> ... 阅读全文
posted @ 2012-06-16 23:23 生命的力量在于不顺从 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 在Oracle10g上在线创建索引时,会话在基表上的表级锁加锁过程如下: 1、会话在基表上加RS(2)锁。此时基表上已经在运行的DML操作不受影响,新的DML操作也可以开始。 2、会话在取得RS锁后,迅速请求将该锁转换成S(4)锁。由于S锁与RX锁不相容,如果此时基表上有DML操作(已有事务)在运行,创建索引的会话将不得不一直等待直到已有的DML操作完成(回滚或提交)才能取得S锁。在创建索引的... 阅读全文
posted @ 2012-06-16 16:46 生命的力量在于不顺从 阅读(1146) 评论(0) 推荐(0) 编辑