oracle锁机制(上)
来源:互联网 发布:淘宝装饰店铺教程 编辑:程序博客网 时间:2024/05/29 13:28
oracle锁机制(上)
目录:
锁机制
锁定冲突
解决锁定冲突
死锁
详述:
1.锁机制
• 锁(lock)
– 可防止多个会话同时更改同一数据
– 自动在指定语句尽可能低的级别获取
– 不会升级
• Locking机制
– 高级数据并发处理:
• 执行插入、更新和删除时使用行级锁定
• 查询不需要任何锁
– 自动队列管理
– 在事务处理结束(进行 COMMIT 或 ROLLBACK 操作)之前一直持有锁
• 数据并发处理
• DML锁
– 每个 DML 事务处理必须获取两类锁定:
• 针对正在更新的一行或者多行的 EXCLUSIVE 行锁定[TX]
• 针对包含这些行的表 【 Table lock (TM)】 的 【 ROW EXCLUSIVE (RX)】 表级锁定
• 入队机制
– 入队机制用于跟踪:
• 等待锁的会话
• 请求的锁定模式
• 请求锁的会话的顺序
2.锁定冲突
• 发生锁定冲突
• 锁定冲突的可能原因
– 未提交更改
– 长时间运行事务处理
– 不必要的高锁定级别
3.解决锁定冲突
• 检测锁定冲突的诊断工具
– T1:update employees set salary=salary x 1.1;
– T2: update employees set salary=salary x 1.1 where empno=1000;
– T3: update employees set salary=salary x 1.1 where empno=2000;
– 以下动态性能视图可以提供锁定冲突的相关信息
• V$LOCK
• V$LOCKED_OBJECT
• DBA_WAITERS
• DBA_BLOCKERS
• 检测锁定冲突
– 在“ Performance(性能)”页上选择"Blocking Sessions(阻塞会话)"。
– 单击"Session ID(会话ID)"链接,查看关于锁定会话的信息,包括实际SQL语句.
– 为了解决锁定冲突,您应该:
• 提交或者回退持有锁的会话
• 终止持有锁的会话(在紧急情况下)
• 使用SQL解决锁定冲突
– 可以使用 SQL 语句来确定阻塞会话并终止会话.
4.死锁
• 死锁的产生
0 0
- oracle锁机制(上)
- oracle中的锁机制
- ORACLE的锁机制
- ORACLE的锁机制
- Oracle 数据库锁机制
- Oracle 数据库锁机制
- oracle锁机制
- ORACLE的锁机制
- ORACLE锁机制研究
- ORACLE锁机制简介
- oracle 锁机制
- Oracle锁机制
- ORACLE的锁机制
- Oracle锁机制
- ORACLE锁机制
- ORACLE 锁机制
- oracle锁机制
- Oracle锁机制
- 人工智能行业机会分析
- Android-json解析(三):原生JSONObject+JSONArray的使用
- Linux自动切换用户脚本,自动输入用户名密码
- 3.OP-TEE+qemu的编译--工程编译target依赖关系
- 想要单击datagrid的上的某个单元格,就可以编辑,
- oracle锁机制(上)
- 浅析C语言之uint8_t / uint16_t / uint32_t /uint64_t
- sqlserver还原差异备份
- centos7搭建DHCP简要服务器
- Java实现八大排序算法
- java__for找出数组中最大,最小值
- leetcode 575. Distribute Candies
- [RK3288][Android6.0] AT24C02驱动分析及功能增加小结
- Mybatis源码分析之插件(plugins)源码详解