我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle 解决锁表问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle 解决锁表问题

问题:更新一张表的数据,就几百条,然后特别慢,一直在执行,然后强制退掉,重新执行还是一样,考虑到可能是锁表的问题!

解决:
①首先查找是哪些session被锁:

select object_name,machine,s.sid,s.serial#
from v$locked_object l,dba_objects o ,v$session s
where l.object_id=o.object_id and l.session_id=s.sid;

查找出来之后,发现有三个对象!
②然后将这三个对象一一杀死:

alter system kill session '13,52136';
--这里的13是上边查出的sid,52136是查出的serial


然后又出现了一个问题,我再查的时候那个sid为13的session还是一直在,但是状态已经是killed,我再执行alter system kill session '13,52136';时就报错ORA-00031:session marked for kill(标记要终止的会话)

服务器数据库上锁定的资源还是没有释放,这时候我们可以去服务器将该进程杀死!
首先查出进程号spid:

select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=13;   --spid=5162


然后根据查询出的spid来杀死进程
1. Linux OS:kill -9 5162
2. Windows OS:orakill mars 5162 ,其中mars为要杀死进程的实例名!
在windows下打开cmd,输入命令tasklist /svc可以查看PID为5162的服务名,即实例名!

这里说下三个概念:

SPID一一system process id,
表示该server process在OS层面的Porcess ID ,即操作系统进程ID
PID一一Oracle process id
可以理解为Oracle自己用的,Oracle进程ID
SID一一SESSION标识,常用于连接其它列

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle 解决锁表问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Oracle锁表问题排查方法详解

Oracle锁表问题排查方法详解在使用Oracle数据库时,经常会遇到数据库表被锁住的情况,这会导致其他用户无法访问该表,从而影响系统的正常运行。本文将详细介绍Oracle锁表问题的排查方法,并提供具体的代码示例来帮助解决这一问题。一、
Oracle锁表问题排查方法详解
2024-03-10

解决Oracle账户被锁定的问题

目录为什么会被锁定呢?方法一oracle登录身份有三种方法二当用PLSQL登录Oracle时提示ORA-28000: the account is locked;这个提示就是当前用户被锁定;为什么会被锁定呢?用户登录十次没有成功的,当
2022-11-20

Oracle锁表如何解决

这篇文章主要介绍“Oracle锁表如何解决”,在日常操作中,相信很多人在Oracle锁表如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle锁表如何解决”的疑惑有所帮助!接下来,请跟着小编一起来
2023-06-30

Oracle中如何监控并解决死锁问题

在Oracle中,可以通过以下几种方式来监控和解决死锁问题:使用Oracle Enterprise Manager(OEM)或SQL语句查询v$lock和v$session视图来监控锁和会话信息,以及识别潜在的死锁情况。当检测到死锁时,可
Oracle中如何监控并解决死锁问题
2024-04-19

Oracle缩表空间问题如何解决

这篇文章主要介绍“Oracle缩表空间问题如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Oracle缩表空间问题如何解决”文章能帮助大家解决问题。备注:Oracle 11.2.0.4一. 需
2023-07-02

oracle中解决锁表的命令

oracle 锁表问题可以通过以下命令解决:查看已锁定的表:select * from v$locked_objects;释放表锁:alter system kill session '[session_id]';解除锁定或等待:commi
oracle中解决锁表的命令
2024-05-09

Java死锁问题怎么解决

今天小编给大家分享一下Java死锁问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言:死锁(Dead Lock)
2023-06-30

sqlserver死锁问题怎么解决

在SQL Server中解决死锁问题通常需要以下步骤:监控死锁:使用SQL Server Profiler或Extended Events来监控死锁发生的情况。分析死锁:查看死锁日志或使用系统视图来分析死锁的原因和参与者。优化查询:对于导致
sqlserver死锁问题怎么解决
2024-05-11

编程热搜

目录