ORACLE 表被锁 ORA-01031: insufficient privileges 大侠帮忙

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE 表被锁 ORA-01031: insufficient privileges 大侠帮忙相关的知识,希望对你有一定的参考价值。

ORACLE 表被锁
查询出SESSION_ID kill的时候报没有权限
SQL> conn rtgs_liush/password
Connected.
SQL> SELECT A.OBJECT_NAME, A.STATUS, V.SESSION_ID FROM ALL_OBJECTS A, V$LOCKED_OBJECT V WHERE A.OBJECT_ID = V.OBJECT_ID AND A.OBJECT_NAME LIKE 'ACCOUNT';

OBJECT_NAME STATUS SESSION_ID
------------------------------ ------- ----------
ACCOUNT VALID 1679

SQL> alter system kill session '1679,2456';
alter system kill session '1679,2456'
*
ERROR at line 1:
ORA-01031: insufficient privileges

本人oracle菜鸟 求详细

主要还是用户权限问题,实际上你可以关心一下用户的权限,角色的设定等,就很好理解这个问题了。在数据库中要具有相应的权限才能执行相应的操作,包括你的登录,建立数据库表,视图,等等,当然也包括了需要做的kill session这里你需要赋权如下:grant execute on p_kill_user_session to rtgs_liush ; 操作的时候用命令:
EXEC SYS.P_KILL_USER_SESSION(1679);
参考技术A oracle自身所带kill有时有问题,有一次搞了3小时也没杀成功;建议使用操作系统kill -9 spid,用toad 查看进程号 参考技术B 你要用DBA用户登录数据库,并接连接时要 conn 用户名/密码 as dba 参考技术C 你没有用as sysdba登陆,自然不是DBA用户,不是DBA用户你怎么kill 别人

Oracle MySql 数据库表被锁的原因分析

记录一次准备给客户预演示出现的问题

事故的背景:

当所以功能开发完成后,开发人员在本地进行了测视已经没问题了。就把所有开发的功能模块合并到 dev 分支,进行打包,发布到预演示的线上环境。当在给相关人员进行演示的时候,出现了问题。

我们使用 https 调用对方的接口发送 Json 数据,对方进行校验马上返回校验的响应结果。问题出现在我们每次发送数据都是成功的,但是对方发送回来的数据,一直不能正常插入 DB(使用的是 Oracle)

事故的真正原因:

因为有个同事在进行了 delete 后没有进行 commit 提交。导致表一直被锁住,不能被其他人使用。

但是杀死进程和本地 commit 几次后,依旧无法插入数据,提示还是 DB 被这个同事锁住。

最后查出的真正原因是,这个同事首先使用了 无线网络 进行了 DB 的操作,当时并没有 commit 提交操作。而后又插上网线继续工作,问题就出现在这里。

首先,当我们使用无线网络操作 DB 时,Oracle 会默认这是一次会话(session),当开发人员对 DB 进行操作后(没有 commit ),又切换到了有线网络状态下,而这 2 种状态下的本机 IP 是不一样的(有兴趣的朋友可以试试使用无线和有线连接状态下,同一台电脑的 IP 地址是否一样)。

Oracle 会认为第一次 session 没有关闭,会将表锁住,等待这次 session 会话的提交直到结束。

所以当同事再连接上网线,使用有线网络进行 commit 时候会提示操作失败。因为 Oracle 数据库认为这又是一次新的 session 会话。而第一次的 session 会话并没有结束,就会导致出现了 DB 一直被锁的情况。

事故的解决办法:

首先使用语句查询(只有 Admin 用户才可以)出被锁住的表和锁表的开发人员的工号。

然后杀死这个进程或者进行 DB 重启即可。

以上是关于ORACLE 表被锁 ORA-01031: insufficient privileges 大侠帮忙的主要内容,如果未能解决你的问题,请参考以下文章

oracle表被锁了怎么处理?

Oracle表被锁

Oracle之ora-01031 insufficient privileges

ORA-01031 新建用户创建视图提示权限不足

Oracle ORA-01031: 创建用户时权限不足

oracle数据库表被锁了,刚解锁,又被锁了,哪位大神知道是怎么回事?