Oracle清除被锁的表状态

有时候因为误操作,删表的时候提示表被锁,这时候强制操作应该怎么做呢,以下都是亲自操作过,放心使用

有时候因为误操作,删表的时候提示表被锁,这时候强制操作应该怎么做呢,以下都是亲自操作过,放心使用

命令行显示看着舒服些:

set linesize 200;

set pagesize 30;

set heading off; 


1.查询被锁表

select b.owner TABLEOWNER, b.object_name TABLENAME, c.OSUSER LOCKBY,c.USERNAME LOGINID, c.sid SID, c.SERIAL# SERIAL from v$locked_object a,dba_objects b, v$session c where b.object_id = a.object_id AND a.SESSION_ID =c.sid;


select session_id from v$locked_object;


select sid, serial#, username, osuser from v$session where sid = '223';

alter system kill session '225, 9';


2.如果报错 ora 00031,查进程,杀进程


select sid,   spid  from v$session s , v$process p where sid = '225' and s.paddr = p.addr;

返回值spid为15875


kill -9 15875

回头,再alter system kill session '225, 9';


3.最后再删除表


  • 发表于 2018-08-16 20:02
  • 阅读 ( 165 )
  • 分类:IT运维

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
张鹏

大数据工程师

94 篇文章

作家榜 »

  1. 张鹏 94 文章
  2. 0 文章
  3. 赵科 0 文章
  4. 王孖珺397954227 0 文章