终止会话,重新启动数据库但无法删除用户 Oracle

Posted

技术标签:

【中文标题】终止会话,重新启动数据库但无法删除用户 Oracle【英文标题】:Killed the sessions, Restarted the Database but not able to delete the user Oracle 【发布时间】:2014-12-04 08:25:26 【问题描述】:

在 oracle 11g 中有一些无法控制的前端 ODBC/JDBC 连接到用户(例如 ENT),我终止了会话,但由于前端正在重新连接,我更改了它的密码。 后来我能够完全杀死所有会话,并且在 V$SESSION 中看不到任何会话。 但我仍然无法删除用户。我向 DBA 请求重新启动数据库仍然没有运气。 数据库重启是通过 shutdown immediate 命令完成的,并分别启动

【问题讨论】:

你在DROP USER username CASCADE时出错是什么? 我收到错误:- ORA-01940: 无法删除当前连接的用户 您使用的是 RAC 吗?也许在不同的实例上有一个会话?我也会锁定帐户,而不仅仅是更改密码。 要彻底关机,您必须执行 SHUTDOWN 或 SHUTDOWN NORMAL。如果您达到 1 小时的超时时间,则数据库会告诉您某些事情正在等待处理。 DBA 经常使用 IMMEDIATE 因为“它更快”。只要问他们 NORMAL 和 IMMEDIATE 有什么区别。他们的反应方式会说明很多。 【参考方案1】:

关闭再打开限制

shutdown immediate
startup restrict
drop user username cascade;
shutdown immediate
startup

【讨论】:

以上是关于终止会话,重新启动数据库但无法删除用户 Oracle的主要内容,如果未能解决你的问题,请参考以下文章

当会话 ID 已知但无法启动会话时删除会话变量

SAML 重新验证用户会话

Colab / Google Cloud SDK - 本地运行时总是“忙” - 无法重新启动

ioS Swift新用户无法登录,直到应用程序终止并启动

android webview或浏览器不会在设备重启时删除会话cookie

应用重启后如何重新加入演员会话?