查看oracle死锁进程并结束死锁_第1页
查看oracle死锁进程并结束死锁_第2页
查看oracle死锁进程并结束死锁_第3页
查看oracle死锁进程并结束死锁_第4页
查看oracle死锁进程并结束死锁_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、查看oracle死锁进程并结束死锁 博客分类: · oracle数据库 oracle死锁进程解锁查看锁表进程SQL语句1: select sess.sid,    sess.serial#,    lo.oracle_username,    lo.os_user_name,    ao.object_name,    lo.locked_mode    from v$locked_object lo,    dba_objects ao, &#

2、160;  v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.sid; 查看锁表进程SQL语句2: select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID; 杀掉锁表进程: 如有記錄則表示有lock,記錄下SID和serial# ,將記錄的ID替換下面的738,1429,即可解除LOCK alter system kill session '738,1429' 用这个可以查:&

3、#160; select s.sid,s.machine,o.object_name,l.oracle_username,l.locked_mode, 'ALTER  SYSTEM  KILL  SESSION  '''|s.sid|',  '|s.serial#|''''   Command  from  v$locked_object  l,v$session  s,all_objects 

4、o  where  l.session_id=s.sid  and  l.object_id=o.object_id  可以查看哪台机器哪个用户锁了记录, 其中command是用来杀掉锁住记录的session * SELECT        A.OBJECT_ID,        B.OBJECT_NAME,        A.SESSI

5、ON_ID,        A.ORACLE_USERNAME,        A.OS_USER_NAME,        A.PROCESS,        A.LOCKED_MODE FROM V$LOCKED_OBJECT A, DBA_OBJECTS B WHERE A.OBJECT_ID = B.OBJEC

6、T_ID; 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; ALTER SYSTEM KILL SESSION 'sid, serial#' * session 1: C:>sqlplus hxg/hxg SQL> select * from scott.t;      

7、0;   A B                    C - - -        111 aa                   bb

8、        222 hello                world SQL> update scott.t  set b='good' where a=222; 已更新 1 行。 session 2: C:>sqlplus scott/tiger SQL> select * from scott.t;   

9、;       A B                    C - - -        111 aa              

10、0;    bb        222 hello                world SQL> update t set b='asdfds' where a=222; 挂起。 session 3: C:>sqlplus "system/* as sysdba" SQL> select

11、sid,serial#,username,status from v$session; SID    SERIAL# USERNAME                       STATUS - - - -  146         25 SYS 

12、                           ACTIVE  147         11 SYS            

13、                INACTIVE  148          2 HXG                      

14、;      INACTIVE  150          5 SCOTT                          ACTIVE  151   

15、60;      1                                ACTIVE  154          1 

16、                               ACTIVE  159          6        

17、;                        ACTIVE  160          1              

18、0;                 ACTIVE  161          1                     

19、60;          ACTIVE  162          1                            &#

20、160;   ACTIVE  163          1                                ACTIVE SID  &#

21、160; SERIAL# USERNAME                       STATUS - - - -  164          1           

22、                     ACTIVE  165          1                  

23、;              ACTIVE  166          1                        

24、0;       ACTIVE  167          1                                AC

25、TIVE  168          1                                ACTIVE  169    

26、60;     1                                ACTIVE  170          1  

27、                              ACTIVE 已选择18行。 SQL> alter system kill session '148,2' 系统已更改。 SQL> select sid,serial#,username,status from v$ses

28、sion; SID    SERIAL# USERNAME                       STATUS - - - -  146         25 SYS       &#

29、160;                    ACTIVE  147         11 SYS                  &#

30、160;         INACTIVE  148          2 HXG                            KILLED

31、  150          5 SCOTT                          INACTIVE  151          1

32、60;                               ACTIVE  154          1       &#

33、160;                        ACTIVE  159          6              &

34、#160;                 ACTIVE  160          1                     

35、           ACTIVE  161          1                            

36、;    ACTIVE  162          1                                ACTIVE  163 

37、;         1                                ACTIVE SID    SERIAL# USERNAME   

38、;                    STATUS - - - -  164          1                 &#

39、160;              ACTIVE  165          1                        &

40、#160;       ACTIVE  166          1                               

41、 ACTIVE  167          1                                ACTIVE  168    

42、      1                                ACTIVE  169          1 

43、60;                              ACTIVE  170          1        &#

44、160;                       ACTIVE 已选择18行。 SQL> select   V$SESSION.sid,v$session.SERIAL#,v$process.spid,     rtrim(object_type)   object_type,rtrim(owner

45、)   |   '.'   |   object_name   object_name,     decode(lmode,       0,   'None',     1,   'Null',     2,   'Row-S

46、9;,     3,   'Row-X',     4,   'Share',     5,   'S/Row-X',     6,   'Exclusive', 'Unknown')   LockMode,     decode(request,  

47、; 0,   'None',     1,   'Null',     2,   'Row-S',     3,   'Row-X',     4,   'Share',     5,   'S/Row-X',  

48、   6,   'Exclusive',   'Unknown')   RequestMode     ,ctime,   block   b,     v$session.username,MACHINE,MODULE,ACTION,     decode(A.type,     'MR',   &

49、#39;Media   Recovery',     'RT','Redo   Thread',     'UN','User   Name',     'TX',   'Transaction',     'TM',   'DML',

50、0;    'UL',   'PL/SQL   User   Lock',     'DX',   'Distributed   Xaction',     'CF',   'Control   File',     'IS', 

51、;  'Instance   State',     'FS',   'File   Set',     'IR',   'Instance   Recovery',     'ST',   'Disk   Space   Transa

52、ction',     'TS',   'Temp   Segment',     'IV',   'Library   Cache   Invalida-tion',     'LS',   'Log   Start   or  

53、Switch',     'RW',   'Row   Wait',     'SQ',   'Sequence   Number',     'TE',   'Extend   Table',     'TT',  

54、'Temp   Table',     'Unknown')   LockType     from   (SELECT   *   FROM   V$LOCK)   A,   all_objects,V$SESSION,v$process     where   A.sid  

55、; >   6     and   object_name<>'OBJ$'     and   A.id1   =   all_objects.object_id     and   A.sid=v$session.sid     and   v$process.addr=v$session.paddr;

56、 同样也是通过写sql从数据字典里查出来。 / SELECT-SQL1 / 功能:检查被加锁的对象 /select obj.OWNER|'.'|obj.OBJECT_NAME as OBJ_NAME, / 对象名称(已经被锁住) /   obj.SUBOBJECT_NAME as SUBOBJ_NAME,     / 子对象名称(已经被锁住) /   obj.OBJECT_ID as OBJ_ID,        / 对象ID /

57、   obj.OBJECT_TYPE as OBJ_TYPE,       / 对象类型 /   lock_obj.SESSION_ID as SESSION_ID,     / 会话SESSION_ID /   lock_obj.ORACLE_USERNAME as ORA_USERNAME,  / ORACLE系统用户名称 /   lock_obj.OS_USER_NAME as OS_USERNAME

58、,    / 操作系统用户名称 /   lock_obj.PROCESS as PROCESS       / 进程编号 /from /  ( select * from all_objects where object_id in (select object_id from v$locked_object) obj, /  v$locked_object lock_obj /where obj.object_id=lock_obj.object_id; / SE

59、LECT-SQL2 / 功能:检查被加锁的对象以及加锁的会话信息 /  如果需要手工解除锁,请对照要解锁的对象,记下SESSION_ID,SERIAL# / 项,然后运行下面的ALTER-SQL1 /select LOCK_INFO.OWNER|'.'|LOCK_INFO.OBJ_NAME as OBJ_NAME, / 对象名称(已经被锁住) /   LOCK_INFO.SUBOBJ_NAME as SUBOBJ_NAME,       / 子对象名称(已经被锁住) / 

60、0; SESS_INFO.MACHINE as MACHINE,         / 机器名称 /   LOCK_INFO.SESSION_ID as SESSION_ID,       / 会话SESSION_ID /   SESS_INFO.SERIAL# as SERIAL#,         / 会话SERIAL# / 

61、  LOCK_INFO.ORA_USERNAME as ORA_USERNAME,      / ORACLE系统用户名称 /   LOCK_INFO.OS_USERNAME as OS_USERNAME,       / 操作系统用户名称 /   LOCK_INFO.PROCESS as PROCESS,         / 进程编号 / 

62、60; LOCK_INFO.OBJ_ID as OBJ_ID,          / 对象ID /   LOCK_INFO.OBJ_TYPE as OBJ_TYPE,         / 对象类型 /   SESS_INFO.LOGON_TIME as LOGON_TIME,       / 登录时间 /   SESS_INFO.PROGRAM  as PROGRAM,         / 程序名称 /   SESS_INFO.STATU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论