zoukankan      html  css  js  c++  java
  • ORACLE TM锁

    Oracle的TM锁类型

    锁模式

    锁描述

    解释

    SQL操作

    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

    锁定类型
    0:none 
    1:null 空 
    2:Row-S 行共享(RS):共享表锁 
    3:Row-X 行专用(RX):用于行的修改 
    4:Share 共享锁(S):阻止其他DML操作 
    5:S/Row-X 共享行专用(SRX):阻止其他事务操作 
    6:exclusive 专用(X):独立访问使用
    数字越大锁级别越高, 影响的操作越多。

    如果DML没有提交情况下,另一个session提交针对同一资源的DLL,系统报错。

    如果DML没有提交情况下,另一个session提交针对同一资源的DML,第二个session会hang住,等待第一个session。

    死锁:

    系统会系统自动处理,处理方式提出形成死锁的人,错误是ORA-00060

    命令行模式处理行级锁

    查看锁:

    select sid,lock_id from dba_locks where blocking_others='Blocking';

    sid列:占用资源sid

    select sid from v$lock where type='TX';

    block列>0:占用资源sid

    block列=0:等待资源sid

    SELECT * FROM V$SESSION WHERE BLOCKING_SESSION IS NOT NULL;

    sid列:等待资源sid

    blocking_session列:占用资源sid

    oracle级处理:

    杀掉占用资源的session

    1. 查询sid和serial#

    select sid, serial#
      from v$session
     where sid = (select blocking_session
                    from v$session
                   where blocking_session is not null)

    2. 杀进程

    alter system kill session 'sid, serial#' immediate;

     杀掉等待资源的session

    1. 查询sid和serial#

    select sid, serial# from v$session where blocking_session is not null;

    2. 杀进程

    alter system kill session 'sid, serial#' immediate;

    系统级处理:

    1. 查询系统pid

    select s.sid, p.spid
      from v$session s, v$process p
     where s.paddr = p.addr
       and s.sid = 146

    2. 杀进程

    kill -9 pid

  • 相关阅读:
    并发编程 进程
    计算机的发展史和操作系统简介
    subprocess和struct模块
    socket编程
    面向对象进阶 反射
    类的内置方法
    常用模块(hashlib,configparser,logging)

    面向对象封装 classmethod和staticmethod方法
    面向对象 继承补充和多态
  • 原文地址:https://www.cnblogs.com/future2012lg/p/3228783.html
Copyright © 2011-2022 走看看