解决 Oracle 表锁

ops/2024/9/24 18:30:18/

程序更新大量数据的时候, 由于时间太长, 页面刷新又重新提交了一次, 结果后续的任何变动都直接卡住, 一开始以为是代码问题, 使用 jstack 命令导出了当前堆栈, 结果发现有重复的语句卡在 update 上了, 看 sql 语句, 发现就是正常的 update, 那问题大概率就是出在表被锁身上了. 于是搜刮了一下 oracle 的方面的资料, 顺便也记录一下

步骤

  1. 查询锁记录
SELECT b.owner, -- 数据表的所有者用户b.object_name, -- 被锁住的表名a.session_id,a.locked_mode, -- 锁级别c.username,c.sid,c.serial#,c.logon_time
FROM v$locked_object aJOIN dba_objects b ON b.object_id = a.object_idJOIN v$session c ON a.session_id = c.sid
ORDER BY c.logon_time;

锁级别分为6级:
1 级锁有: select
2 级锁有: select for update, lock for update, lock row share
3 级锁有: insert, update, delete, lock row exclusive
4 级锁有: create index, lock share
5 级锁有: lock share row exclusive
6 级锁有: alter table, drop table, drop Index, truncate table, lock exclusive

  1. 终止会话
alter system kill session '${sid},${serial#}';
  • 出现 ORA-00031 错误解决办法: 后加 immediate
alter system kill session '41,29827' immediate;

Oracle 版本

本文使用的 Oracle 版本为 11g

  • 查看 Oracle 版本:
SELECT * FROM v$version;

(完)


http://www.ppmy.cn/ops/19385.html

相关文章

C++从入门到精通——string类

string类 前言一、为什么学习string类C语言中的字符串示例 二、标准库中的string类string类string类的常用接口说明string类对象的常见构造string类对象的容量操作string的接口测试及使用string类对象的访问及遍历操作下标和方括号遍历范围for遍历迭代器遍历相同的代码&#xf…

每天一个数据分析题(二百九十六)

订单详情表是以每一笔订单的每一件商品为最小业务记录单位进行记录的,那么可能成为订单详情表的主键字段的是? A. 订单编号 B. 产品编号 C. 订单ID D. 订单编号产品编号 题目来源于CDA模拟题库 点击此处获取答案 cda数据分析考试:点击…

圈子交友系统话题设置-免费圈子社区论坛交友系统-圈子交友系统功能介绍-APP小程序H5多端源码交付!

1. 圈子的独特创造与精心管理 源码赋予用户创造独特圈子的能力,为志同道合的人们打造一个分享兴趣、交流见解的平台。每个圈子都可以个性化定制主题、标签和规则,以确保圈子具备个性特点和强烈的社群感。作为圈子的创建者,您将享有自由编辑资…

图像处理的魔法师:Pillow 库探秘

文章目录 图像处理的魔法师:Pillow 库探秘第一部分:背景介绍第二部分:库是什么?第三部分:如何安装这个库?第四部分:库函数使用方法第五部分:场景应用第六部分:常见Bug及解…

关于uniapp编译小程序出现报错:Component “组件路径“ does not have a method “__e“ to handle event

首先不要怀疑官方的框架问题,如果框架有问题这么基础的早就修复了 解决方案: 检查自己的代码中,是否把methods放在了不正确的位置,正确的位置应该与data同位。检查父组件中的引用是否正确,components这个单词有没有写错,比如少写个s。检查小程序是否将项目编译设置…

leetCode60. 排列序列

leetCode60. 排列序列 方法一:语法版,面试官不认可的方法:next_permutation函数 // 方法一:使用next_permutation函数,将某容器设置为当前按照字典序 // 的下一个全排列的内容 class Solution { public:string getPermutation(in…

Docker常用操作记录

docker 常用命令 // 查看docker系统信息 docker info // 显示 Docker 版本信息 docker version docker ps // 查看正在运行的容器 docker ps -a // 查看所有已经创建的容器 docker images // 列出镜像列表 docker container ls // 效果同ps命令(加-a效果同)// 详细信息 docke…

视频质量评价 PSNR 算法详细介绍

PSNR PSNR(Peak Signal-to-Noise Ratio,峰值信噪比)是一种常用的评价图像质量的指标,尤其在图像压缩和图像处理领域。它基于最大可能的图像信号功率和图像的噪声功率之间的比率,通常用于衡量图像恢复或图像压缩算法的效果。 原理 PSNR是基于MSE(Mean Squared Error,均…