博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ORACLE TM锁
阅读量:7282 次
发布时间:2019-06-30

本文共 1470 字,大约阅读时间需要 4 分钟。

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

 

转载地址:http://cazjm.baihongyu.com/

你可能感兴趣的文章
一个自定义线程池的小Demo
查看>>
Report_SRW工具的基本用法(概念)
查看>>
dedecms设置文章分页后,标题会带有序号的解决方法
查看>>
MySQL复制
查看>>
模式识别之相似度计量---余弦计算相似度度量关于两句话的相似度
查看>>
Django之ORM相关操作
查看>>
SVN 安装后报不是内部或外部命令
查看>>
win10 + cuda(v9.0) 安装TensorFlow-gpu版
查看>>
上课笔记
查看>>
工具类(为控件设置圆角) - iOS
查看>>
自定义android的tab样式
查看>>
查询 哪张表 有某字段
查看>>
leetcode700
查看>>
IOS 多线程编程指南【中文完整翻译版】(转载)
查看>>
如何取消异步等待
查看>>
(转)C#_WinForm接收命令行参数
查看>>
Java Web系列:JDBC 基础
查看>>
Codeforces Beta Round #9 (Div. 2 Only) B. Running Student 水题
查看>>
Educational Codeforces Round 12 F. Four Divisors 求小于x的素数个数(待解决)
查看>>
PHPer书单
查看>>