1 / 3
文档名称:

ORACLE锁等待的处理方法.docx

格式:docx   大小:104KB   页数:3页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ORACLE锁等待的处理方法.docx

上传人:科技星球 2022/3/9 文件大小:104 KB

下载得到文件列表

ORACLE锁等待的处理方法.docx

相关文档

文档介绍

文档介绍:ORACLE锁等待的处理方法
       
 
 
 
 
 
 
 
     
     
     
 
 
 
 
 
前言:锁等待的管理是数据库管理员在日常工作中会碰到较多的一个问题,一般来 
       
     
ORACLE锁等待的处理方法
       
 
 
 
 
 
 
 
     
     
     
 
 
 
 
 
前言:锁等待的管理是数据库管理员在日常工作中会碰到较多的一个问题,一般来说大型的ERP锁等待的处理会相对较少,小型的应用系统锁等待会相对比较多。常规的锁等待的处理方法如下:
1) 先查找持有锁的对象:
脚本:select , from (select , from v$session s,v$lock l WHERE = and =1) a, v$process b where =;
2)kill相应的session:
脚本:alter system kill session 'sid,serial#';
以上的操作可以处理大约80%的锁等待的问题,还有20%的锁等待问题通过以上的语句是解决不了的,最近在就碰到了一个,当进行kill session的时候出现了提示"ORA-00031: session marked for kill",这个问题可以有两个处理方法:
方法一、重启数据库:这个方法肯定是不推荐的,每个公司对系统的可用性都是有很高的要求的,一旦重启了系统就表示这个重启的过程中系统属于不可用的状态,IT的系统可用性就降低了。(该方法适合不同oracle且连sqlplus都不知道怎么用的朋友)方法二、从操作系统进行杀线程的操作,因为unix和windows操作系统的不一样,所以处理的方法也有些不一样;1)unix和linux下面的操作步骤如下:
a)根据sid的信息找出操作系统的进程信息
脚本:select , osuser, from v$session s,v$process p where = and =&SID;
SQL> select , osuser, from v$session s,v$process p where = and =&SID;
Enter value for sid: 23
old 1: select , osuser, from v$session s,v$process p where = and =&SID
new 1: select , osuser, from v$session s,v$process p where = and =23
SPID                          OSUSER                   PROGRAM