Oracle数据库数据锁定机制全面解析
来源:互联网 发布:淘宝女t恤 编辑:程序博客网 时间:2024/06/06 03:58
在数据库下面锁的种类有很多,从互斥级别上分,有共享锁、独占锁、修改锁等;从数据结构上分,有行级锁、表级锁等。并且不同锁之间优先级不同。
数据库锁机制的复杂实现就是为了尽量提高并发的同时保证事务的基本特征
1.锁的类型有:[oracle锁机制是自动管理]
dml 锁
ddl 锁
shared 锁
互斥锁 : 主要针对内存的的锁[share pool]
2.锁的模式有:
0:none
1:null
2:row share(RS) (lock a row in shared mode) ==> 行级锁
加锁语法:LOCK TABLE TableName IN ROW SHARE MODE;
仅能保护表不被删除
3:row exclusive(RX) (lock a row in exclusive mode) ==> 行级排它锁
加锁语法:LOCK TABLE TableName IN ROW EXCLUSIVE MODE;
不允许改变表的结构,可删除表内数据,但不可删除列
4:share(S) (lock the entire table in shared mode) ==> 共享锁
加锁语法:LOCK TABLE TableName IN SHARE ROW EXCLUSIVE MODE;
不允许两个人同时对一张表执行除select的dml语句或ddl语句
5:share row exclusive(SRX)(lock the table in shared mode but a row in exclusive) ==> 共享行级排它锁
加锁语法:Lock Table TableName In Share Row Exclusive Mode;
仅能查询(独占行,不得执行dml,除select外)
6:exclusive(X) (lock the entire table in exclusive mode) ==> 排他锁
加锁语法:Lock Table TableName In Exclusive Mode;
仅能查询
3.与锁相关的视图
DBMS_LOCK
V$DLM_ALL_LOCKS
V$DLM_LOCKS
V$ENQUEUE_LOCK
V$GLOBAL_BLOCKED_LOCKS
V$LOCK
V$LOCKED_OBJECT
V$LOCKS_WITH_COLLISIONS
V$LOCK_ACTIVITY
V$LOCK_ELEMENT
V$_LOCK
4.解锁及 Kill Session:
使用下面的语法查出锁并杀掉 Session。
SELECT A.SID,A.SERIAL#,A.USERNAME,B.TYPE FROM V$SESSION A,V$LOCK B WHERE A.SID=B.SID;
ALTER SYSTEM KILL SESSION 'SID,SERIAL#';
- Oracle数据库数据锁定机制全面解析
- Oracle数据库数据锁定机制全面解析
- Oracle数据库数据锁定机制全面解析
- Oracle数据库数据锁定机制全面解析
- Oracle中的数据锁定机制全面解析
- Oracle中的数据锁定机制全面解析
- Oracle中的数据锁定机制
- 全面解析oracle中的锁机制1
- 全面解析oracle中的锁机制2
- 全面解析oracle中的锁机制3
- 全面解析oracle中的锁机制4
- Oracle数据库的安全策略全面解析
- mysql数据库锁定机制
- mysql数据库锁定机制
- mysql数据库锁定机制
- mysql数据库锁定机制
- mysql数据库锁定机制
- mysql数据库锁定机制
- Cloudant的安装和基本用法
- 命令行创建简单Maven项目
- Hibernate的generator属性的意义
- Android:关于声明文件中android:process属性说明 新进程
- js实现动态获取时间和倒叙排列该字符并对其进行加密
- Oracle数据库数据锁定机制全面解析
- linux c库文件和头文件相关问题
- WIN7 64位操作系统下成功安装Oracle10g(32位)
- netstat ?
- 解决后台正在数据请求时候,用户对界面操作引起的错误-加遮罩
- 致2015的自己
- iOS疯狂详解之录制音频转换成Mp3
- apk安装及卸载测试要点
- block使用小结、在arc中使用block、如何防止循环引用(zz)