`
qm4050
  • 浏览: 78450 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Oracle数据库的锁类型

 
阅读更多

Oracle中的锁:
锁是数据库用来控制共享资源并发访问的机制。
锁用于保护正在被修改的数据
直到提交或回滚了事务之后,其他用户才可以更新数据
锁的特性:
一致性
一次只允许一个用户修改数据
完整性
为所有用户提供正确的数据。如果一个用户进行了修改并保存,所做的修改将反映给所有用户
并行性
允许多个用户访问同一数据
当Oracle 执行DML语句时,系统自动在所要操作的表上申请TM类型的锁。当TM锁获得后,系统再自动申请TX类型的锁,并将实际锁定的数据行的锁标志位进行置位。这样在事务加锁前检查TX锁相容性时就不用再逐行检查锁标志,而只需检查TM锁模式的相容性即可,大大提高了系统的效率。TM锁包括了SS、SX、S、X 等多种模式,在数据库中用0-6来表示。不同的SQL操作产生不同类型的TM锁。
在数据行上只有X锁(排他锁)。在 Oracle数据库中,当一个事务首次发起一个DML语句时就获得一个TX锁,该锁保持到事务被提交或回滚。当两个或多个会话在表的同一条记录上执行 DML语句时,第一个会话在该条记录上加锁,其他的会话处于等待状态。当第一个会话提交后,TX锁被释放,其他会话才可以加锁。
行级锁
对正在被修改的行进行锁定,其他用户可以访问除被锁定的行以外的行
在使用insertdeleteupdateselect…for upadte语句时,Oracle会自动应用行级锁
Select…for update语句允许用户一次锁定多条记录进行更新,可以限制用户等待的时间及防止无限期等待
用户必须通过commitrollback语句释放锁
表级锁
将整个表锁定
Lock table 表名 in share mode;

分享到:
评论

相关推荐

    oracle数据库锁使用

    总之,Oracle数据库锁的使用是数据库管理中的重要一环,理解并合理运用这些锁可以帮助我们优化并发性能,防止数据冲突,并确保数据的正确性和一致性。在设计事务和处理并发操作时,应根据业务需求选择合适的锁类型,...

    浅谈ORACLE数据库锁的类型与机制.pdf

    浅谈 Oracle 数据库锁的类型与机制 Oracle 数据库锁是指 Oracle 数据库中用于保护数据的一致性和完整性的机制。 Oracle 数据库锁可以分为五大类:DML 锁、DDL 锁、内部锁、分布式锁和 PCM 锁。 1. DML 锁(Data ...

    Oracle数据库锁的研究.pdf

    根据不同的分类标准,Oracle数据库中的锁可以分为多种类型: 1. 按照操作分类,主要分为DML锁和DDL锁: - DML锁(Data Manipulation Language Locks):用于数据操作,包括行级锁(TX锁)和表级锁(TM锁)。行级锁...

    Oracle数据库性能分析

    ### Oracle数据库性能分析 #### 一、Oracle体系结构 Oracle数据库是一个复杂且功能强大的关系型数据库管理系统(RDBMS),其核心组件包括实例和数据库文件。理解Oracle的体系结构对于优化性能至关重要。 - **实例**...

    oracle数据库锁表处理

    ### Oracle数据库锁表处理 在Oracle数据库管理过程中,锁表是一种常见的现象,它通常发生在多用户并发访问同一数据对象时。锁表会导致其他用户无法访问该数据对象,从而影响系统的正常运行。本文将详细介绍如何处理...

    Oracle数据库学习指南

    Oracle2: 1. 《Oracle8 优化技术》摘录 (第一章 安装) 2. 《Oracle8 优化技术》摘录 (第二章 内存-CPU) 3. 《Oracle8 优化技术》摘录 (第三章 输入-输出) 4. EXP、IMP 命令详解 ...52. 自动备份Oracle数据库

    oracle数据库 详细课件

    Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,它由甲骨文公司(Oracle Corporation)开发和维护。本详细课件将引导你逐步了解Oracle数据库的基础知识,为你的入门之旅提供全面指导。 1. **Oracle...

    oracle数据库中的锁机制

    #### Oracle数据库锁的概念 锁是一种用于控制多个用户或进程对共享资源(如表、行或数据库结构)访问的机制。它主要分为两大类:共享锁(Share Locks)和排他锁(Exclusive Locks)。共享锁允许多个用户读取数据,...

    怎样快速查出Oracle 数据库中的锁等待

    Oracle 数据库锁等待问题解决方案 Oracle 数据库系统中,为了保证数据的一致性,在对数据库中的数据进行操作时,系统会进行对数据相应的锁定。这些锁定中有"只读锁"、"排它锁"、"共享排它锁"等多种类型,每种类型...

    oracle数据库实验报告

    【Oracle数据库实验报告】 在本实验报告中,我们将探讨Oracle数据库的配置、管理和维护过程,主要涉及以下几个关键知识点: 1. **监听程序配置**:Oracle数据库在运行前需要配置监听程序,通过...

    Oracle数据库日常维护

    Oracle数据库的日常维护是确保数据库高效、稳定运行的关键环节。本文将详细介绍Oracle数据库的一些主要维护任务,包括使用Oracle Enterprise Manager进行监控、表空间的扩充方法、解决死锁问题以及SPFILE与PFILE的...

    oracle 检测数据库是否有对象被锁的脚本

    在Oracle数据库管理中,了解如何检测对象被锁的情况至关重要,因为锁定可能会导致数据一致性问题,影响系统的正常运行。本文将详细介绍如何使用提供的脚本`ckobject_lock.sh`和`ckobject_lock.sql`来监控和检测...

    理解ORACLE数据库锁机制高效维护医院信息系统运行.pdf

    Oracle数据库锁机制是确保数据库并发访问安全的重要工具,尤其在医院信息系统这种高并发、数据敏感的环境中,理解并有效管理锁机制对于系统的高效运行至关重要。本文主要探讨Oracle数据库中的TM锁和TX锁机制,以及...

    Oracle数据库性能优化实务闩锁及闩锁优化.ppt

    Oracle数据库性能优化实务闩锁及闩锁优化 Oracle数据库性能优化实务闩锁及闩锁优化是指在Oracle数据库中对性能的优化,以提高数据库的执行效率和稳定性。闩锁是一种机制,用于保护Oracle数据库的核心内存结构,防止...

    《Oracle数据库系统》多媒体课件

    12. **Oracle并发控制**:理解事务的概念,锁的类型和粒度,以及死锁的预防和解决。 13. **数据库设计**:学习数据库设计原则,包括ER模型转换,范式理论的应用,以及数据库规范化的重要性。 14. **Oracle网络配置...

    Oracle数据库学习文档(详细)

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,由甲骨文公司开发。它具备高级的数据保护、可靠性和高性能,适用于处理大规模数据和复杂事务处理。本文档为初学者提供了Oracle数据库学习的详细知识点。...

    oracle数据库使用经验word

    1. **Oracle基础知识**:Oracle数据库的基础知识包括数据库架构、表空间管理、数据类型、索引、存储过程和函数、触发器、视图等。理解这些基础知识对于日常的数据库管理和开发至关重要。例如,表空间是存储数据的...

    Oracle数据库案例教程.pdf

    从给定的文件信息来看,这是一本关于Oracle数据库的案例教程,主要面向初学者,旨在通过实际案例和练习帮助读者掌握Oracle数据库的基础知识和操作技能。以下是对该教程涉及的关键知识点的详细解读: ### Oracle...

Global site tag (gtag.js) - Google Analytics