zoukankan      html  css  js  c++  java
  • Oracle 锁机制

    本文参考自:ORACLE锁机制

    1、oracle是一个多用户使用的共享资源,当多个用户并发的操作同一数据行时,那么在oracle数据库中就会存在多个事务操作统一数据行的操作,如果不对并发操作进行控制,那么这些事务可能会操作不正确的数据,破坏数据库的一致性.

    2、加锁是是实现数据库并发控制的一个非常重要的技术,当事务对某个数据对象进行操作时,大致的过程如下:

    a、先向系统发出请求

    b、在对数据对象进行加锁

    c、最后进行数据操作,这个过程中当前数据对象只有当前事务(当前会话)可以使用,其他事务都不可以使用,直到当前事务释放锁,其他事务才可以操作当前数据对象

    3、Oracle基本的锁类型:

    a、排它锁(Exclusive locks)即X锁   

    当数据对象被加上排它锁之后,其他的事务不能对数据对象进行访问和修改。

    b、共享锁(Share Locks)即S锁

    当数据对象被加上共享锁之后,其他的事务可以对数据对象进行访问,但是不能修改。

    数据库通过这两种基本的锁类型对数据库的事务进行并发控制

    4、Oracle锁类型

    根据锁保护的对象不同,oralce锁可以分为以下几种:

    a、DML锁(data locks)数据锁

    b、DDL锁dictionary locks,字典锁 用于保护数据库对象的结构,如表的结构、索引等

    c、内部锁和闩(internal locks and latches),保护 数据库的内部结构。

    5、DML锁(data locks)数据锁   介绍

    在Oracle数据库中DML锁主要是保证并发情况下的数据完整性,DML锁主要包括TM锁(表级锁)和TX锁(行级锁或者事务锁),下面是在Oracle中执行DML语句的加锁过程

    a、系统自动在(DML要操作的表)上申请TM类型的锁,具体是什么锁根据操作语句确定

  • 相关阅读:
    unity, texture import settings
    unity, 最简单的additive shader
    unity, shader input and output
    unity, multi pass shader中的surface pass
    unity, 荧光效果(bloom)
    unity, 查看内置shader源码
    unity, Find References In Scene
    unity 主循环
    unity 显示帧率
    HttpUrlConnection的setDoOutput与setDoInput的区别
  • 原文地址:https://www.cnblogs.com/GreenLeaves/p/6574198.html
Copyright © 2011-2022 走看看