网站首页 > 文章中心 > 其它

怎么解锁oracle的表

作者:小编 更新时间:2023-09-17 10:31:37 浏览量:280人看过

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;

解表

ALTER system kill session 'sid, serial#';

oracle查询资源占用,锁表解锁

① 先通过top命令查看产用资源较多的spid号

select sid,serial#,machine,username,program,sql_hash_value,sql_id,

select sql_text

from v$sqltext_with_newlines

where hash_value = hash_value

order by piece;

也可直接使用:

select a.*,b.SQL_TEXT from (

) a,v$sql b

where a.sql_id? = b.SQL_ID(◆)

Alter system kill session 'SID,SERIAL#'

解锁:

①查询哪些对象被锁:

? 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;

? select spid, osuser, s.program

? from v$session s,v$process p

oracle如何解锁表

一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀.

①下面的语句用来查询哪些对象被锁:

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;

【注】以上两步,可以通过Oracle的管理控制台来执行.

select spid, osuser, s.program

from v$session s,v$process p

①.)在unix上,用root身份执行命令:

orakill sid thread

其中:

sid:表示要杀死的进程属于的实例名

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章