ORACLE锁的管理

2003-03 余枫

ORACLE里锁有以下几种模式:

0:none
1:null 空
2:Row-S 行共享(RS):共享表锁
3:Row-X 行专用(RX):用于行的修改
4:Share 共享锁(S):阻止其他DML操作
5:S/Row-X 共享行专用(SRX):阻止其他事务操作
6:exclusive 专用(X):独立访问使用

数字越大锁级别越高, 影响的操作越多。

一般的查询语句如select ... from ... ;是小于2的锁, 有时会在v$locked_object出现。

select ... from ... for update; 是2的锁。

[@more@]
当对话使用for update子串打开一个游标时,
所有返回集中的数据行都将处于行级(Row-X)独占式锁定,
其他对象只能查询这些数据行,不能进行update、delete或select...for update操作。

insert / update / delete ... ; 是3的锁。

没有commit之前插入同样的一条记录会没有反应,
因为后一个3的锁会一直等待上一个3的锁, 我们必须释放掉上一个才能继续工作。

创建索引的时候也会产生3,4级别的锁。

locked_mode为2,3,4不影响DML(insert,delete,update,select)操作,
但DDL(alter,drop等)操作会提示ora-00054错误。

有主外键约束时 update / delete ... ; 可能会产生4,5的锁。

DDL语句时是6的锁。

以DBA角色, 查看当前数据库里锁的情况可以用如下SQL语句:

select object_id,session_id,locked_mode from v$locked_object;

select t2.username,t2.sid,t2.serial#,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time;

如果有长期出现的一列,可能是没有释放的锁。

我们可以用下面SQL语句杀掉长期没有释放非正常的锁:

alter system kill session 'sid,serial#';

如果出现了锁的问题, 某个DML操作可能等待很久没有反应。

当你采用的是直接连接数据库的方式,
也不要用OS系统命令 $kill process_num 或者 $kill -9 process_num来终止用户连接,
因为一个用户进程可能产生一个以上的锁, 杀OS进程并不能彻底清除锁的问题。

记得在数据库级别用alter system kill session 'sid,serial#';杀掉不正常的锁。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9896745/viewspace-918712/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9896745/viewspace-918712/

避坑指南:LAMMPS做GCMC模拟时,化学势mu和压力p到底怎么设? 本文详细解析了LAMMPS中巨正则蒙特卡洛(GCMC)模拟的关键参数设置,特别是化学势(mu)与压力(p)的正确计算方法。通过理论分析、实用公式和黄金法则,帮助用户避免常见误区,提升模拟精度和效率,适用于各类复杂体系的分子模拟研究。 阅读详情

相关推荐

Homebrew高效升级与国内镜像源配置全攻略

本文详细介绍了如何通过配置国内镜像源(如清华、中科大、阿里云)来高效升级Homebrew,解决国内开发者访问GitHub仓库速度慢的问题。文章提供了从基础配置到永久生效的完整教程,包括常见问题解决和进阶技巧,帮助开发者大幅提升软件包管理效率。

weixin_28835551的博客 416

Oracle中的锁

简介Oracle的锁

在路上 4448

从LLaMA到LLaMA-MoE:轻量级混合专家模型构建与实战指南

混合专家(Mixture-of-Experts, MoE)是一种先进的神经网络架构,其核心原理是通过门控网络动态地为不同输入选择不同的专家子网络进行计算,从而实现模型容量的指数级扩展,同时保持推理时的计算量基本不变。这种稀疏激活的特性赋予了MoE极高的技术价值,使其成为解决大模型训练与推理成本矛盾的关键技术之一,在自然语言处理、多模态学习等场景中展现出巨大潜力。本文聚焦于**LLaMA-MoE**这一具体实践,深入探讨了如何基于成熟的稠密模型(如LLaMA),通过**专家构建**与**持续预训练**两大关键

weixin_28730549的博客 565

Oracle - 锁

Oracle中分为两种模式的锁,一种是排他锁(X锁),另一种是共享锁(S锁)。

喝醉酒的小白 5106

Apifox CLI + Claude Skills:将接口自动化测试融入ai

基于 Apifox CLI、Claude Code以及Claude Skills组合,实现自然语言触发接口自动化测试。

wwz_0012的博客 598

echarts 生成中国陕西省份(或其他省份)的地图,大屏使用

效果图: 一、首先第一步需要下载echarts和获取到陕西身份的地图信息。 1.下载echarts链接(官网): Apache ECharts 2.生成指定省份的地图数据信息,数据可以在阿里云获取。 DataV.GeoAtlas地理小工具系列 如图,点击左圈需要的省份,这里我选择的是陕西省,然后点击右圈复制下载链接,得到一个json格式的数据,可以在json转换网站转成js格式。 Json在线解析格式化-Json在线校验Json格式化压缩-Jsons在线工具 转成js格.

PrimaryColor 3890

Oracle 锁(lock)详解

1 概述 1.1 加锁的目的:实现对 ‘共享资源’ 的 ‘并发控制’ 例如,‘同时’ 更新 ‘同一条记录’ 若不加锁,则更新无先后顺序,得到的结果集可能并非想要的 若加了锁,则更新有先后顺序,能得到想要的结果集 1.2 锁的分类:从不同的角度,有不同的分类方法 1.3 相关视图 select * from v$locked_object; – 查询 dml 锁信息 select * from dba_ddl_locks; – 查询 ddl 锁信息 (3) select * from v$lock; .

Ruishine的博客 3785

cesium 综合教程200+【目录】(已包含186篇文章)

cesium示例教程100+旨在为开发者提供简单快捷的,。在每一个示例中,解释相应的API知识点,做到。目录中有链接的为已有文章,没链接的为目标文章,不断更新中…

大剑师兰特的GIS世界 8893

一文搞懂Oracle 0 至 6 级锁(附案例详解)

把整个店的珠宝包下来,让别人参观,预定,但是不能买卖(这在ORACLE中叫只读锁,只允许别人读,也就是只允许第0,1,2类人来珠宝店,让别人只读方式的参观,不允许买卖,再来个第4类人,还是允许的,因为大家虽然都想包,但是大家的目的都是分享,而不是独占,所以是可以兼容的);比如用户A在表T上执行了UPDATE第1行,那么表t上有个表级的共享锁,那用户B在表T上执行了UPDATE第2行,那么也会在表t上有个表级的共享锁,虽然行上都是排它锁,但不是同一行,所以他们在行上没有冲突,在表上也没有冲突。

Ruishine的博客 6376

Python 爬虫实战:豆瓣 / IMDB 电影数据抓取(评分 + 剧情 + 演员阵容结构化处理)

在数据为王的时代,电影数据是进行市场分析、推荐系统构建和学术研究的重要资源。豆瓣和 IMDB 作为国内外最具影响力的电影评分和资讯网站,包含了海量高质量的电影数据。本文将带领你从零开始,构建一个健壮的 Python 爬虫,用于抓取豆瓣和 IMDB 的电影信息,并将其中的非结构化数据(如剧情简介、演员列表)进行清洗和结构化处理,最终存储到便于分析的结构化文件(如 CSV)中。

yansideyucsdn的博客 956

IMX335摄像头原理图设计,已量产

从工程组织上看,IMX335 模组和 IMX415 模组属于同一类产品:核心矛盾不是外设多,而是高速图像链路、电源域和调试接口要同时兼顾。ATK-MCIMX335 这张图的结构也很直接,三路 LDO、本地 24MHz 可选时钟、4-lane MIPI 数据对和一组主板侧标准接口,构成了一张非常典型的量产摄像头子板。

不脱发的程序猿 440

Oracle 锁的概念以及分类

Oracle中的锁信息整理

Keep learing, and stay fast 2083

腾讯微搭低代码开发实战电子书:医疗挂号小程序

本书通过一个完整的“医疗挂号小程序”项目,深度讲解腾讯微搭(WeDa)低代码平台在复杂业务场景下的实战应用。从登录体系搭建、用户注册,到就诊人管理、科室排班与预约下单,全程遵循“配置+逻辑+实战”的思路,带领读者从零实现具备商业级可用性的医疗挂号小程序,掌握低代码开发的核心技巧与业务落地能力。

低代码布道师的博客 954

oracle 锁管理

oracle 锁管理即刻杀死了数据库锁。方法如下:1、查看数据库锁,诊断锁的来源及类型:  select object_id,session_id,locked_mode from v$locked_object;2、找出数据库的serial#,以备杀死:   select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_ob

风往哪吹~ 723

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

oracle锁管理详解,oracle锁的管理(转)

oracle锁的管理。[@more@]锁的种类:数据锁DML,字典锁DDL,表锁TM,事务锁TX,人工锁定DML锁的模式1:空2:行共享(RS):行共享是一个共享表锁,它用于专用锁。3:行专用(RX):用于行的修改4:共享锁(S):阻止其他DML操作5:共享行专用(SRX):阻止其他事务操作6:专用(X):独立访问使用V$LOCK字段内容:SID,TYPE,ID1,ID2,LMODE,REQUES...

weixin_33900596的博客 281

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Oracle数据库增加锁争用,Oracle数据库锁管理

Oracle数据库锁管理1.锁的概念数据库是一个多用户使用的共享资源,当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术,当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其它的事务不...

weixin_33378701的博客 430

[转载][转载]ORACLE锁的管理

原文地址:[转载]ORACLE锁的管理作者:minnieORACLE里锁有以下几种模式: 0:none 1:null空 2:Row-S行共享(RS):共享表锁,subshare 3:Row-X行独占(RX):用于行的修改,subexclusive 4:Share共享锁(S):阻止其他DML操作,share 5:S/Row-X共享行独占(SRX):阻止其他事务操作,sh...

weixin_30556959的博客 96

【ORACLE】 事务 | 锁 | 约束 | 权限、角色与用户管理

事务:事务是指作为单个逻辑工作单元执行的一组相关操作。这些操作要求全部完成或者全部不完成。使用事务的原因:保证数据的安全有效。事务的四个特点:(ACID)1、原子性(Atomic):事务中所有数据的修改,要么全部执行,要么全部不执行。2、一致性(Consistence):事务完成时,要使所有所有的数据都保持一致的状态,换言之:通过事务进行的所有数据修改,必须在所有相关的表中得到反映。3、隔离性(Isolation):事务应该在另一个事务对数据的修改前或者修改后进行访问。

进一步有一步的欢喜 1952
上一篇: ORA-04098错误解决方法
下一篇: 为什么总是富不起来 百姓和富人五大差异
cuiting6752
博客等级 码龄11年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值