系统管理Lesson 10. Managing Data Concurrency

  • 1. 请对 Oracle 数据库锁机制做一个完整的说明。 10-4
  • 2. 事务在获取排他的行锁的同时,为什么要同时获取一个共享的表锁? 10-5
  • 3. 当锁冲突发生时,如何解决,请给出相应的 SQL 命令。 10-3
  • 4. 死锁是如何发生的,如何解决? 10-14
  • 5. Oracle 数据库的行锁,本质上是对数据块的锁定,这个说法对不对?
  • 6. 其他:

1. 请对 Oracle 数据库锁机制做一个完整的说明。 10-4

锁:
可以防止多个会话同时更改同一数据
是在指定语句的最低可能级别自动获取(行、块、表)(对象、数据库、方案)
锁机制:
(提供)高级数据并发处理(能力):
- 执行插入、更新和删除时用行级锁
- 查询不需要任何锁
自动队列管理
在事务处理结束(使用 COMMIT 或 ROLLBACK 操作)之前会一直保持锁定

2. 事务在获取排他的行锁的同时,为什么要同时获取一个共享的表锁? 10-5

row share、row exclusive、share、share row exclusive、exclusive

防止用户在修改表行数据的同时,其他管理员删除删除表
(修改数据库时,将数据从块中读取到内存,修改完后提交,由数据库写进程写入到数据文件中)

3. 当锁冲突发生时,如何解决,请给出相应的 SQL 命令。 10-3

第一步 找出 Session ID(会话 ID)

SELECT sid, serial#, username FROM v$sessionWHERE sid IN (SELECT blocking_session FROM v$session);

v$session 当前会话
blocking_session 凡是持有锁的会话

第二步 解决锁冲突

ALTER SYSTEM KILL SESSION 'SID,SERIAL#' IMMEDIATE;

A. 持有锁的会话提交或者回退(释放掉)
B. 终止持有锁的会话(紧急情况下)

4. 死锁是如何发生的,如何解决? 10-14

事务T1在等待T2,而T2又在等待T1,两个事务永远不能结束
两个或更多会话等待已被其中另一个会话锁定的数据

ORA-00060
Deadlock detectd while waiting for resource

解决:
完全自动、杀死其中一个事务

5. Oracle 数据库的行锁,本质上是对数据块的锁定,这个说法对不对?

不对
关系型表格数据在块内部一行一行存储的,行片段(Row piece)

6. 其他:

ABE

TM 锁(表级锁)
TX 锁(事务锁或行级锁)
封锁类型:
排他锁(exclusive lock,即X锁)(写锁) 只允许事务T读取和修改数据对象A,其他事务都不能在对数据对象A
共享锁(share lock,即S锁) (读锁) 事务T可以读数据对象A但不能修改A,其他事务只能再对A加S锁,而不能加S锁
数据库锁机制
oracle-数据库的各种-锁-详解

系统管理Lesson 10. Managing Data Concurrency相关推荐

  1. 系统管理Lesson 09: Managing Undo Data

    系统管理Lesson 09: Managing Undo Data 1. 什么是还原数据,还原数据有什么用途? 9-3 2. 还原数据是如何存储的? 9-6 3. 还原数据的状态有几种,请详细加以描述 ...

  2. 系统管理Lesson 04. Managing the Database Instance

    系统管理Lesson 04. Managing the Database Instance 1. 服务器参数文件和文本参数文件的区别在哪?参数文件保存在哪个目录? 4-3 2. 请说明 CONTROL ...

  3. 系统管理Lesson 07. Managing Database Storage Structures

    系统管理Lesson 07. Managing Database Storage Structures 1. 块内部是如何保存关系型表格数据的? 7-3 2. 表空间的类型有几种?分别说明各自的用途. ...

  4. 系统管理Lesson 18.Managing Performance

    系统管理Lesson 18.Managing Performance 1.Oracle数据库的性能优化过程一般包含哪几种活动? 18-5 2.性能规划阶段主要涉及到哪些选项? 18-6 3.实例优化过 ...

  5. 系统管理Lesson 14. Performing Database Backups

    系统管理Lesson 14. Performing Database Backups 1. 请对 RMAN 所能实现的功能做一个详细的说明? 14-3 2. Oracle 数据库支持服务器管理的备份和 ...

  6. 备份恢复Lesson 10. Restore and Recovery Concepts

    备份恢复Lesson 10. Restore and Recovery Concepts 1. 请解释 RESTORE 和 RECOVER 这两个 RMAN 命令的具体使用? 10-6 10-7 2. ...

  7. 新概念英语(第四册,新版)学习(原文及全文翻译)——Lesson 10 - Silicon Valley(硅谷)

    注:这里只列出旧版中未包含的文章. Lesson 10(New Version) - Silicon Valley Technology trends may push Silicon Valley ...

  8. Quartz_2.2.X学习系列十:Tutorials - Lesson 10: Configuration, Resource Usage and SchedulerFactory

    第10课小结: 在Quartz完成其工作之前需要配置的主要组件是: • ThreadPool • JobStore • DataSources (if necessary) • The Schedul ...

  9. 【Linux系统管理】10 Shell 编程进阶篇

    六 Shell 编程 6.1 正则表达式 6.1.1 概述 还记得我们在上一章说过正则表达式和通配符的区别(正则表达式用来在文件中匹配符合条件的字符串,通配符用来匹配符合条件的文件名)吗?其实这种区别 ...

最新文章

  1. 机房为什么要设计冷热通道,设计原则及如何施工?
  2. Javascript在页面加载时的执行顺序(转载)
  3. 选考技术考计算机二级,计算机二级选考什么最简单啊```
  4. jq使用教程09_ 教程集合帖-伙伴们贡献,不断更新(4.17)
  5. PC机中各类存储器的逻辑连接情况
  6. redhat6安装git出现的问题
  7. 图像渲染测试软件,3D渲染参数(测试图及光子图)
  8. 铺铜需要把agnd和dgnd分开_电路中的AGND 和DGND怎么处理
  9. 开源社区人们总说的LGTM是什么意思?
  10. ictclas分词系统 java_1-Ictclas50分词系统ForJava
  11. 超简单集成HMS Scan Kit扫码SDK,轻松实现扫码购
  12. 疫情过后,这8个专业最有前景,快看看有你的专业吗?
  13. 【深度探讨】数据存储进化论,区块链才是未来
  14. 支持复制粘贴word图片的KindEditor编辑器
  15. 中级计算机知识点,计算机操作员中级基础知识教程解析.doc
  16. 基于MATLAB图像处理的硬币个数识别系统
  17. 设计一款可视化记录摩尔斯电码解码器,可以通过音频识别不同速度的摩尔斯电码
  18. win7 64 位机器使用DOSBox出现illegal command:debug原因分析
  19. Jave-Date(DateUtil)
  20. MySQL连接配置文件密码加密以及解密

热门文章

  1. xposed安装,与android逆向工程之xposed的hook
  2. Hadoop生态系统基本介绍
  3. 【计算机毕业设计】81.音乐网站源码
  4. 损失函数——长尾分布 / Equalization Loss【论文笔记】
  5. muke网视频 - 超多视频
  6. 游戏建模‖那些你找工作时不明白的事
  7. 点成分享|器官芯片——小白鼠的拯救者?
  8. 京户---人事部与人事局的户口
  9. 网络编程(客户端和服务器的编写)
  10. MySql添加用户以及授予权限