时间:2023-03-09来源:系统城装机大师作者:佚名
可能是修改表中的数据,忘了提交事务会造成锁表。 Oracle数据库操作中,我们有时会用到锁表查询以及解锁和kill进程等操作。
1 2 |
select count (*) from v$locked_object; select * from v$locked_object; |
1 2 3 |
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id; |
锁级别分为6级:
1 2 3 4 5 |
select a.OS_USER_NAME, c.owner, c.object_name, b.sid, b.serial#, logon_time from v$locked_object a, v$session b, dba_objects c where a.session_id = b.sid and a.object_id = c.object_id order by b.logon_time; |
1 | alter system kill session '1025,41' ; |
需要用户有管理员的权限操作,其中1025为sid,41为serial#
如果有ora-00031错误,则在后面加immediate;
1 | alter system kill session '1025,41' immediate; |
常见问题是用户更新操作没有提交事务,
所以:如果单独更新操作,需要写2个操作 SQL,一个是更新操作SQL语句,另一个是commit语句提交事务。
到此这篇关于Oracle数据库表被锁如何查询和解锁的文章就介绍到这了
2023-03-09
图文讲解完全卸载SQL server2019的完整步骤2023-03-06
sql in查询元素超过1000条的解决方案2023-03-06
Navicat设置Oracle数据库主键自增的方法步骤Dual表是Oracle提供的最小的工作表(其实是一种虚拟表),是sys用户下的一张内部表,只有一行一列(一列:DUMMY,一列:DUMMY,其数据类型为:VARCHAR2(1)),接下来通过本文给大家分享Oracle中的Dual系统表,需要的朋友可以参考下...
2022-10-02
1、enable: 2、disable: 3、put: 4、put_line: 5、new_line: 6、get_line(value, index): 7、get_lines(array, index)...
2022-06-22