步骤1:用以下sql查看进程列表,判断出被锁定的表 select dob.object_name table_name,lo.session_id||
步骤1:用以下sql查看进程列表,,判断出被锁定的表
select dob.object_name table_name,lo.session_id||', '||vss.serial# 删除号,
lo.locked_mode,lo.session_id, vss.serial#,vss.action action,vss.osuser osuser, vss.logon_time,
vss.process ap_pid, vps.spid db_pid ,vss.*
from v$locked_object lo, dba_objects dob, v$session vss, v$process vps
where lo.object_id = dob.object_id
and lo.session_id = vss.sid
and vss.paddr = vps.addr
order by 2,3,dob.object_name
或者
select /*+ rule */ lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username user_name,
o.owner,o.object_name,o.object_type,s.sid,s.serial#
from v$locked_object l,dba_objects o,v$session s
where l.object_id=o.object_id
and l.session_id=s.sid
order by o.object_id,xidusn desc
--查找被锁表
步骤2 删除进程,如之前的“删除号”查找出的结果为“286, 2184”,则运行以下sql
alter system kill session '286, 2184'
相关阅读:
oracle 10g 安装后重启系统,用plsql连接报没有监听
ora-03114 plsql过程编译断开连接错误
plsql 连接 oracle简单配置
plsql批量forall操作性能提升详解
使用oracle sqldeveloper连接数据库并创建用户
oracle自带的pl/sql developer导入导出数据
在64位win7系统下安装oracle 11g和oracle sql developer客户端