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

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

一、查看有哪些表被锁住

select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;

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

杀进程中的会话

alter system kill session 'sid,serial#';e.galter system kill session '29,5497';
如果有ora-00031错误,则在后面加immediate;
alter system kill session '29,5497' immediate;

二、如何杀死oracle死锁进程
1.查哪个过程被锁:
  查V$DB_OBJECT_CACHE视图:
  SELECT * FROM V$DB_OBJECT_CACHE A  WHERE A.OWNER='GSEOPROD' AND A.LOCKS != '0';

  2. 查是哪一个SID,通过SID可知道是哪个SESSION:

  查V$ACCESS视图:
  SELECT * FROM V$ACCESS WHERE OWNER='过程的所属用户' AND NAME='刚才查到的过程名';
  3. 查出SID和SERIAL#:
  查V$SESSION视图:
  SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='刚才查到的SID';
  查V$PROCESS视图:
  SELECT SPID FROM V$PROCESS WHERE ADDR='刚才查到的PADDR';
  4. 杀进程:
  (1)先杀ORACLE进程:
  ALTER SYSTEM KILL SESSION '查出的SID,查出的SERIAL#';
  (2)再杀操作系统进程:
  KILL -9 刚才查出的SPID或ORAKILL 刚才查出的SID 刚才查出的SPID。

转载于:https://www.cnblogs.com/CSharpStudy/archive/2012/04/20/2459849.html

你可能感兴趣的文章
GeneRally
查看>>
线程之间的通讯
查看>>
各种Adapter的用法
查看>>
安卓巴士移动开发者周刊第九期
查看>>
【数据结构】顺序线性表的几种常用方法
查看>>
从项目中生成dll文件的快速方法(a fast way to generate dll from the project)
查看>>
php 依据session与cookie用户登录状态操作类
查看>>
[转载]ios简单sqlite使用
查看>>
android搜索框实现
查看>>
java路线
查看>>
图解:图形下控制台中weblogic9.2多池配置为oracle集群RAC
查看>>
【转】MFC 之CEvent
查看>>
1.1.5-学习Opencv与MFC混合编程之---画图工具 输入文字和填充图像 修改光标
查看>>
设备文件的创建mknod
查看>>
Android 新浪微博代码
查看>>
C 语言中 typeof keyword简单介绍
查看>>
连载《一个程序猿的生命周期》-1.从大山走出的程序猿
查看>>
【leetcode】Surrounded Regions(middle)☆
查看>>
如何使电脑彻底崩溃!!!!(不要干坏事哦)
查看>>
Lintcode: Segment Tree Build
查看>>