• Lock(一)认识v$LOCK


    v$lock列出了数据库当前拥有的锁及未完成的锁请求。

    Column Description
    ADDR 被锁对象的地址
    KADDR 锁的地址
    SID session id(这里特指正在锁定对象或请求去锁定对象的session id)
    TYPE 使用的锁的类型,主要包含两大类,用户类型的锁及系统类型的锁
    (1)用户类型的锁由用户的应用程序获得,任何阻塞其他进程的进程都可能持有这些锁,用户类型的锁有:
        --TM:DML enqueue
        --TX:Transaction enqueue
        --UL:用户提供的锁
    (2)系统类型的锁见”table1. system type locks“,这里只介绍常用的系统锁,如何要查看所有的锁,可以查看v$lock_type。
    ID1/ID2 取值根据所的类型的不同也有所不同
    (1)对于TM锁,ID1表示被锁定的object_id,可以和dba_object连接获得锁定的对象,ID2为0;
    (2)对于TX锁,这两个字段构成了事物在回滚段中的位置。
    LMODE session保持的锁的模式
    --0:none
    --1:null(NULL)
    --2:row-S(SS,行级共享锁,其它session只能查询这些数据行。SQL操作有select for update、lock for update、lock row share)
    --3:row-X(SX,行级排它锁,在提交前不允许做DML操作。SQL操作有insert、update、delete、lock row share)
    --4:share(S,共享锁。SQL操作有create index,lock share)
    --5:S/Row-X(SSX,共享行级排它锁。SQL操作有lock share row exclusive)
    --6:exclusive(X,排它锁。SQL操作有alter table、drop table、drop index、truncate table、lock exclusive等DDL操作)
    REQUEST 进程请求的锁的模式
    --0:none
    --1:null(NULL)
    --2:row-S(SS)
    --3:row-X(SX)
    --4:share(S)
    --5:S/Row-X(SSX)
    --6:exclusive(X)
    CTIME

    自当前模式被授予的时间

    BLOCK 指定该所是否阻塞其它进程,可能的取值有
    --0:该锁未阻塞其他进程
    --1:该锁正在阻塞其它进程
    --2:该锁没有阻塞本地节点的任何进程,但是他可能会阻塞远程节点上的进程。此值仅用于Oracle RAC配置,不配置在但节点数据库中

     

    Table 8-1 Values for the TYPE Column: System Types

    System TypeDescriptionSystem TypeDescription

    AE

    Edition enqueue

    MR

    Media recovery

    AT

    Lock held for the ALTER TABLE statement

    NA..NZ

    Library cache pin instance (A..Z = namespace)

    BL

    Buffer hash table instance

    PF

    Password File

    CF

    Control file schema global enqueue

    PI, PS

    Parallel operation

    CI

    Cross-instance function invocation instance

    PR

    Process startup

    CU

    Cursor bind

    QA..QZ

    Row cache instance (A..Z = cache)

    DF

    datafile instance

    RT

    Redo thread global enqueue

    DL

    Direct loader parallel index create

    SC

    System change number instance

    DM

    Mount/startup db primary/secondary instance

    SM

    SMON

    DR

    Distributed recovery process

    SN

    Sequence number instance

    DX

    Distributed transaction entry

    SQ

    Sequence number enqueue

    FS

    File set

    SS

    Sort segment

    HW

    Space management operations on a specific segment

    ST

    Space transaction enqueue

    IN

    Instance number

    SV

    Sequence number value

    IR

    Instance recovery serialization global enqueue

    TA

    Generic enqueue

    IS

    Instance state

    TS

    Temporary segment enqueue (ID2=0)

    IV

    Library cache invalidation instance

    TS

    New block allocation enqueue (ID2=1)

    JQ

    Job queue

    TT

    Temporary table enqueue

    KK

    Thread kick

    UN

    User name

    LA .. LP

    Library cache lock instance lock (A..P = namespace)

    US

    Undo segment DDL

    MM

    Mount definition global enqueue

    WL

    Being-written redo log instance

  • 相关阅读:
    剑指offer 第十一天
    Java Arrays工具类的使用
    什么是指数加权平均、偏差修正?
    深度学习——优化器算法Optimizer详解(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)
    深度学习——卷积神经网络 的经典网络(LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet)
    深度学习论文汇总
    剑指offer 第十天
    Java String 类
    Java StringBuffer和StringBuilder类
    剑指offer 第九天
  • 原文地址:https://www.cnblogs.com/lijiaman/p/6886422.html
Copyright © 2020-2023  润新知