SELECT A.OWNER,
A.OBJECT_NAME,
B.XIDUSN,
B.XIDSLOT,
B.XIDSQN,
B.SESSION_ID,
B.ORACLE_USERNAME,
B.OS_USER_NAME,
B.PROCESS,
B.LOCKED_MODE,
C.MACHINE,
C.STATUS,
C.SERVER,
C.SID,
C.SERIAL#,
C.PROGRAM
FROM ALL_OBJECTS A,
V$LOCKED_OBJECT B,
SYS.GV_$SESSION C
WHERE ( A.OBJECT_ID = B.OBJECT_ID )
AND (B.PROCESS = C.PROCESS )
ORDER BY 1,2
A.OBJECT_NAME,
B.XIDUSN,
B.XIDSLOT,
B.XIDSQN,
B.SESSION_ID,
B.ORACLE_USERNAME,
B.OS_USER_NAME,
B.PROCESS,
B.LOCKED_MODE,
C.MACHINE,
C.STATUS,
C.SERVER,
C.SID,
C.SERIAL#,
C.PROGRAM
FROM ALL_OBJECTS A,
V$LOCKED_OBJECT B,
SYS.GV_$SESSION C
WHERE ( A.OBJECT_ID = B.OBJECT_ID )
AND (B.PROCESS = C.PROCESS )
ORDER BY 1,2
解决方案 »
- 怎样给已建oracle表创建分区
- oracle 导出把我折磨疯了
- 求EMP表中所有员工数量,1980、1981、1982、1983年加入公司的员工数量的SQL语句怎么写?
- system表空间坏了,可以恢复吗?
- 请问一个关于字符&的问题
- SQL SERVER 客户端网络链接ORACLE 遇到的问题
- windows 2000下怎样清除归档日志文件?
- 怎么把一个oracle数据库复制到另外一台机器上。waiting...
- 需要用程序读取oracle中存储过程的参数个数和类型以及是输入还是输出,如何?
- 如何让ORACLE系统自动删除logon_time为昨日的所有进程(session)呢
- 高分求助:Oracle 如何快速入门!
- 急!!! 请问:DB_E_BADORDINAL(0x80040E55) 是什么错,怎么解决?!!!
如果是这样子:
察看用户xia所有的表
select table_name from dba_tables where owner='xia';察看表xia的拥有者
select owner from dba_tables where table_name='xia';
v$access与v$locked_object
// SELECT-SQL2
// 功能:检查被加锁的对象以及加锁的会话信息
// 如果需要手工解除锁,请对照要解锁的对象,记下SESSION_ID,SERIAL#项,然后运行下面的ALTER-SQL1
//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-SQL1
// 功能:杀死会话(SESSION_ID,SERIAL#),可以手工解除锁
// 请手工修改SESSION_ID,SERIAL#为相应值
// 注意:本功能慎重使用,有一定的破坏性,该SQL可以断开客户机和服务器的连接//ALTER SYSTEM KILL SESSION 'SESSION_ID,SERIAL#';
'ALTER SYSTEM KILL SESSION '''||s.sid||', '||s.serial#||''';' Command
from v$locked_object l,v$session s,all_objects o
where l.session_id=s.sid and l.object_id=o.object_id