博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle查锁表
阅读量:5023 次
发布时间:2019-06-12

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

   查锁表

select LOCK_INFO.OWNER || '.' || LOCK_INFO.OBJ_NAME as OBJ_NAME, -- 对象名称(已经被锁住)       LOCK_INFO.SUBOBJ_NAME as SUBOBJ_NAME, -- 子对象名称(已经被锁住)       SESS_INFO.MACHINE as MACHINE, -- 机器名称       LOCK_INFO.SESSION_ID as SESSION_ID, -- 会话SESSION_ID       SESS_INFO.SERIAL# as SERIAL#, -- 会话SERIAL#       LOCK_INFO.ORA_USERNAME as ORA_USERNAME, -- ORACLE系统用户名称       LOCK_INFO.OS_USERNAME as OS_USERNAME, -- 操作系统用户名称       LOCK_INFO.PROCESS as PROCESS, -- 进程编号       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.STATUS as STATUS, -- 会话状态       SESS_INFO.LOCKWAIT as LOCKWAIT, -- 等待锁       SESS_INFO.ACTION as ACTION, -- 动作       SESS_INFO.CLIENT_INFO as CLIENT_INFO -- 客户信息  from (select obj.OWNER                as OWNER,               obj.OBJECT_NAME          as OBJ_NAME,               obj.SUBOBJECT_NAME       as SUBOBJ_NAME,               obj.OBJECT_ID            as OBJ_ID,               obj.OBJECT_TYPE          as OBJ_TYPE,               lock_obj.SESSION_ID      as SESSION_ID,               lock_obj.ORACLE_USERNAME as ORA_USERNAME,               lock_obj.OS_USER_NAME    as OS_USERNAME,               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) LOCK_INFO,       (select SID,               SERIAL#,               LOCKWAIT,               STATUS,               PROGRAM,               ACTION,               CLIENT_INFO,               LOGON_TIME,               MACHINE          from v$session) SESS_INFO where LOCK_INFO.SESSION_ID = SESS_INFO.SID;

 

--强杀进程

-- alter system kill session 'sid,serial#'
--如果利用上面的命令杀死一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,那么可以在os一级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:
--select spid, osuser, s.program from v$session s,v$process p where
--s.paddr=p.addr and s.sid=130;
--去linux后台使用 kill -9 进程号

转载于:https://www.cnblogs.com/zydev/p/5181436.html

你可能感兴趣的文章
图像切割之(一)概述
查看>>
JAVA修饰符类型(public,protected,private,friendly)
查看>>
flex利用webservice上传照片
查看>>
IOS开发之Bug--使用KVC的易错情况
查看>>
python list和tuple
查看>>
基础薄弱的反思
查看>>
ORACLE增删改查以及case when的基本用法
查看>>
[转]oracle10客户端PL/SQL Developer如何连接远程服务器上的oracle数据库
查看>>
HTML5 表单元素和属性
查看>>
SDUTOJ 2498 数据结构实验之图论十一:AOE网上的关键路径
查看>>
使用SpringSocial开发QQ登录
查看>>
好玩的游戏
查看>>
2.6. Statistical Models, Supervised Learning and Function Approximation
查看>>
代码说明call和apply方法的区别 (咱们这方面讲解的少,这样的题有变式,需要举例讲解一下)...
查看>>
T-SQL 类型转换
查看>>
在eclipse中设计BPMN 2.0工作流定义的根本步骤
查看>>
Json对象与Json字符串互转(4种转换方式)
查看>>
PAT甲级1002 链表实现方法
查看>>
查看Linux信息
查看>>
Python中sys模块sys.argv取值并判断
查看>>