最近在做数据库的相关操作时,遇到了数据更新不能及时反馈的情况,如下情况
打开另一个回话窗口,随便找一条数据,进行更新操作,即提示(该表被其他用户)
遇到这样的情况,对于新手的我很是不知所措,不过不要惊慌。遇到这样的情况,如果你有dba权限(root用户)可以进行如下操作:
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 '471,25531';
建议用户尽量用dba进行操作,速度快,但是很多情况下我们在公司通常用的只是客户端,不与数据库所在主机打交道,那该如何做呢??简单粗暴的方法如下::
直接关掉客户端,简单粗暴
原因:客户端也是一个session普通用户,开启客户端等价于开启一个新进程,关闭客户端等价于关闭了进程。