会计考友 发表于 2012-8-4 13:41:06

Oracle认证:Oracle表被锁的解决方案

.下面的语句用来发芽哪些对象被锁:   select object_name,machine,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;
  2.下面的语句用来杀死一个历程:
  alter system kill session '24,111'; (其中24,111分袂是膳缦沔发芽出的sid,serial#)
  【注】以上两步,可以经由过程Oracle的打点节制台来执行。 用户必然要具有响应权限。
  3.如不美观操作膳缦沔的呼吁杀死一个历程后,历程状况被置为"killed",可是锁定的资本很长时刻没有被释放,那么可以在os一级再杀死响应的历程(线程),首先执行下面的语句获得历程(线程)号:
  select spid, osuser, s.program
  from v$session s,v$process p
  where s.paddr=p.addr and s.sid=24 (24是膳缦沔的sid)
  4.在OS上杀死这个历程(线程):
  1)在unix上,用root身份执行呼吁:
  #kill -9 12345(即第3步发芽出的spid)
  2)在windows(unix也合用)用orakill杀死线程,orakill是oracle供给的一个可执行呼吁,语法为:
  orakill sid thread
  此鱿负
  sid:暗示要杀死的历程属于的实例名
  thread:是要杀失踪的线程号,即第3步发芽出的spid。
  例:c:>orakill orcl 12345
页: [1]
查看完整版本: Oracle认证:Oracle表被锁的解决方案