如果表被锁了,怎么解锁
--用户名:system 口令:dream 数据库:**** 连接为SYSDBA
create table a(a int,b int)
insert into a values(3,2);
insert into a values(4,1);
select * from a;
----------------------------------
lock table a in exclusive mode; --锁定表
select * from v$locked_object; --查出被锁定的对象
select object_name, object_type from dba_objects where object_id=51360;
--(根据v$locked_object里的object_id提出来的)这样来查被锁定这个对象的名字,
--如果能确定是哪个TABLE被锁定并且要解锁,则再执行
select sid,serial#,machine,program from v$session where sid=146;
--(是根据v$locked_object对应锁定记录的session_id找出来的)然后
--用来杀死这个回话
alter system kill session '146,160';
--如果利用上面的命令杀死一个进程后,进程状态被置为"killed",但是锁定的资源很长时间没有被释放,
--那么可以在os一级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=146;