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

关于oracle锁的分析-驴妈妈旅游网DBA

阅读更多

1.什么是ORACLE锁
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁就是实现数据库并发控制的一个非常重要的技术。


2.ORACLE锁的类型
在 数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对它修改。加了共享锁的数据对象可以被其他事务读取,但不能被删除和修改。数据库利用这 两种基本的锁类型来对数据库的事务进行并发控制。

?
根据保护的对象不同,Oracle数据库锁可以分为以下几大类:DML锁 (data locks,数据锁),用于保护数据的完整性;DDL锁(dictionary locks,字典锁),用于保护数据库对象的结构,如表、索引等的结构定义;内部锁和闩(internal locks and latches),保护 数据库的内部结构。

在Oracle数据库中,DML锁主要包括TM锁和TX锁,其中TM锁称为表级锁,TX锁称为事务锁或行级锁。?
当 Oracle执行DML语句时,系统自动在所要操作的表上申请TM类型的锁。当TM锁获得后,系统再自动申请TX类型的锁,并将实际锁定的数据行的锁标志 位进行置位。这样在事务加锁前检查TX锁相容性时就不用再逐行检查锁标志,而只需检查TM锁模式的相容性即可,大大提高了系统的效率。TM锁包括了SS、 SX、S、X 等多种模式,在数据库中用0-6来表示。不同的SQL操作产生不同类型的TM锁。

TM锁的类型0 none?1 NULL 空 Select?2 SS(Row-S) 行级共享锁,其他对象?只能查询这些数据行 Select for update、Lock for?update、
Lock row share?3 SX(Row-X) 行级排它锁,?在提交前不允许做DML操作 Insert、Update、?Delete、Lock row share?4 S(Share) 共享锁 Create index、Lock share?5 SSX(S/Row-X) 共享行级排它锁 Lock share row exclusive?6 X(Exclusive) 排它锁 Alter table、Drop able、Drop index、Truncate table 、Lock exclusive

Oracle举例

 

 

推荐交流博客
程序员百味    百味创富社区 

 

 

分享到:
评论

相关推荐

    《Oracle E-Business Suite:ERP DBA实践指南》.(朱龙春)

    《Oracle E-Business Suite:ERP DBA实践指南》.(朱龙春

    安装oracle11gR2数据库环境快速准备神器oracle-rdbms-server-11gR2-preinstall

    完成上述准备后,DBA可以运行`yum install oracle-rdbms-server-11gR2-preinstall`命令来安装预安装包。安装过程中,系统会自动解决依赖关系,安装所有必要的组件。通过这种方式,DBA可以专注于数据库的实际安装和...

    c3p0-oracle-thin-extras-0.9.2.1

    c3p0-oracle-thin-extras-0.9.2.1

    福建省电力公司oracle培训教材--Oracle9i_DBA_基础

    Oracle 9i DBA 基础教程涵盖了数据库管理员(DBA)在管理Oracle数据库时所需的基本知识。本文主要讨论了Oracle数据字典、控制文件和重做日志文件这三大核心概念。 首先,数据字典是Oracle数据库的核心组件,它存储...

    Toad-for-Oracle-DBA培训教程

    Toad for Oracle是一款功能强大的数据库管理工具,特别为Oracle数据库管理员(DBA)设计,以提高他们的工作效率和简化复杂任务。该工具提供了丰富的功能,以满足DBA在管理、诊断、导入导出、监控、优化、报告生成、...

    oracle11g-client-win-64客户端安装包

    oracle11g-client-win-64客户端安装包

    Oracle优化日记-一个金牌dba的故事

    《Oracle优化日记——一个金牌DBA的故事》这本书深入浅出地揭示了Oracle数据库优化的精髓。作为一名金牌DBA,作者以其丰富的实战经验,通过一系列的实际案例,讲述了在Oracle数据库管理与优化过程中的种种挑战和解决...

    oracle_10g-在em下以dba登录设置-008

    在以 DBA 角色登录 iSQL*Plus 之前,你需要配置 OC4J(Oracle Containers for J2EE),它是 Oracle 提供的一种轻量级应用服务器。OC4J 支持两种身份验证方式:基于 XML 配置文件(jazn-data.xml)和基于 LDAP...

    Oracle管理艺术-顾问级DBA的思维锻炼与经验传承

    《Oracle管理艺术-顾问级DBA的思维锻炼与经验传承》这本书是一本专注于Oracle数据库管理的高级指南,面向的是希望提升到顾问级别数据库管理员(DBA)的专业人士。本书不仅覆盖了Oracle数据库管理的核心技能,更着重...

    Oracle-dba.zip_Oracle-dba_dba_oracle_oracle dba_oracle 管理

    本压缩包“Oracle-dba.zip”提供了丰富的Oracle DBA相关资源,尤其对DBA新手而言,是一份极具价值的学习资料。 首先,"Oracle 管理员手册.pdf"很可能是一个详尽的Oracle数据库管理指南,它可能涵盖了以下关键知识点...

    oracle11g DBA-OCP认证

    ### Oracle 11g DBA-OCP 认证详解 #### 一、Oracle 11g DBA-OCP 认证概述 Oracle 11g DBA-OCP(Oracle Certified Professional)认证是Oracle公司推出的专业数据库管理员认证项目之一,主要面向希望深入掌握Oracle...

    McGraw-Hill - Oracle Database 11g DBA Handbook 英文版

    ### Oracle Database 11g DBA Handbook 知识点概览 #### 一、书籍基本信息与作者介绍 《Oracle Database 11g DBA Handbook》是一本由McGraw-Hill出版的专业指南书,旨在为Oracle数据库管理员(DBA)提供全面深入的11...

    oracle dba1-2培训资料

    Oracle DBA(数据库管理员)是IT领域中的关键角色,负责管理和维护Oracle数据库系统。"Oracle DBA1-2培训资料"涵盖了Oracle Database 10g的两个重要工作坊:Administration Workshop I和II,这两个工作坊旨在帮助...

    e10897-Oracle Database Oracle 11.2 - 2 Day DBA-280

    Oracle Database 11.2 - 2 Day DBA 是一个培训课程,旨在帮助初学者和有一定经验的数据库管理员(DBA)快速掌握Oracle数据库的基本管理和维护技能。这个课程覆盖了Oracle 11g Release 2的主要特性和功能,旨在在两天...

    英文原版-PeopleSoft for the Oracle DBA 2nd Edition

    PeopleSoft for the Oracle DBA, Second Edition stands on the boundary between the PeopleSoft application and the Oracle database. This new edition of David Kurtz‘s book is freshly revised, showing ...

    oracle 9i dba-ocp认证教程PPT

    Oracle 9i DBA OCP(Oracle Certified Professional)认证教程是针对Oracle数据库管理员的重要学习资料,旨在帮助专业人员深入理解并掌握Oracle 9i数据库的管理技能。本教程通过一系列PPT课件,覆盖了从基础到进阶的...

    Oracle 10g--为DBA提供的最佳前20位的特性(中文 chm)

    这个压缩包文件"Oracle 10g--为DBA提供的最佳前20位的特性(中文 chm)"显然包含了关于这些关键功能的详细解读,帮助DBA们更好地理解和利用Oracle 10g的优势。 1. **Real Application Clusters (RAC)**:Oracle 10g...

    根据B表更新A表-常用SQL分析-DBA初级知识

    根据B表更新A表-常用SQL分析-DBA初级知识

Global site tag (gtag.js) - Google Analytics