Oracle table-lock的5种模式
2014-01-09 11:47
369 查看
Oracle中的锁定可以分为几类: 1、DML lock(data lock), 2、DDL lock(dictionary lock) 3、internal lock/latch。
DML lock又可以分为row lock和table lock。row lock在select.. for update/insert/update/delete时隐式自动产生,而table lock除了隐式产生,也可以调用lock table <table_name> in </table_name> name来显示锁定。
如果不希望别的session lock/insert/update/delete表中任意一行,只允许查询,可以用lock table table_name in exclusive mode。(X)这个锁定模式级别最高,并发度最小。
如果允许别的session查询或用select for update锁定记录,不允许insert/update/delete,可以用 lock table table_name in share row exclusive mode。(SRX)
如果允许别的session查询或select for update以及lock table table_name in share mode,只是不允许insert/update/delete,可以用 lock table table_name in share mode。(share mode和share row exclusive mode的区别在于一个是非抢占式的而另一个是抢占式的。进入share row exclusive mode后其他session不能阻止你insert/update/delete,而进入share mode后其他session也同样可以进入share mode,进而阻止你对表的修改。(S)
还有两种锁定模式,row share(RS)和row exclusive(RX)。他们允许的并发操作更多,一般直接用DML语句自动获得,而不用lock语句。 详细参考concepts文档中的"Type Of Locks": http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96524/c21cnsis.htm#2937
------------------------------------- 怎么unlock table 解锁
方法一、kill session:
SQL> select object_id,session_id from v$locked_object; //注意session_id 就是上锁的 session标志 SQL> select username,sid,SERIAL# from v$session where sid=。。; //这里的SID = session_id SQL> alter system kill session 'id,serial#'; //杀死该session
方法二、rollback/commit 终止事务处理
相关文章推荐
- oracle table-lock的5种模式
- oracle table-lock的5种模式
- Oracle的table lock
- Oracle CBO优化模式中的5种索引访问方法浅析
- Oracle CBO优化模式中的5种索引访问方法浅析
- oracle table-lock的5种模式
- oracle 9i r2 锁争用:DDL 和 DML 和 LOCK TABLE tablename IN exclusive mode
- ORACLE Lock Table
- oracle table-lock的5种模式
- oracle index的5种使用模式
- [Oracle]如何观察Table 的各种Lock 之间的冲突
- Oracle Blocking Issue with Lock Table in Exclusive Mode
- Oracle的table lock
- Oracle CBO优化模式中的5种索引访问方法浅析
- Oracle的锁表与解锁 Oracle的锁表与解锁 SELECT /*+ rule */ s.username, decode(l.type,'TM','TABLE LOCK', 'T
- oracle 表(table)上最后一次 DML时间、行(row)上最后DML时间
- oracle的system账户用normal模式登录失败,提示用户名或密码错误,但是如果用sysdba登录,即使不输入密码,或者密码错误也能登录成功。
- ORA-00265:修改oracle归档模式错误分析
- oracle 10.2 temporary tablespace
- oracle two—task模式