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

oracle锁表后怎么解

作者:小编 更新时间:2023-10-06 18:11:33 浏览量:451人看过

oracle 表被锁住 怎么解锁

一般先查询并找到被锁定的表,解锁代码如下:

--释放SESSION?SQL:?

--alter?system?kill?session?'sid,?serial#';?

oracle 表锁住了什么原因

在对指定表做append操作,其他再做truncate时候,会产生锁表,如下验证步骤,

①.、创建测试表,

select b.object_name, t.*

oracle锁表后怎么解-图1

from v$locked_object t, user_objects b

where t.object_id = b.object_id

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锁表语句以及解锁语句

查询锁表:SELECT l.session_id sid,

? ? s.serial#,

? ? l.locked_mode,

? ? l.oracle_username,

? ? l.os_user_name,

? ? s.machine,

? ? s.terminal,

? ? o.object_name,

? ? s.logon_time FROM? v$locked_object l,

? ? all_objects? ? ? o,

? ? v$session? ? ? ? s WHERE l.object_id = o.object_id ANd l.session_id = s.sid ORDER BY sid,

? ? s.serial#;

解锁:ALTER system KILL session 'sid,serial#';

查询锁住原因:SELECT b.sid oracleID,b.username 登录Oracle用户名,b.serial#,spid 操作系统ID,paddr,?

sql_text 正在执行的SQL,b.machine 计算机名 FROM v$process a, v$session b, v$sqlarea c?

以上就是土嘎嘎小编为大家整理的oracle锁表后怎么解相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

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

编辑推荐

热门文章