加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle – 无法删除当前连接的用户

发布时间:2020-12-12 13:15:21 所属栏目:百科 来源:网络整理
导读:我正在尝试重新初始化Oracle数据库,并且看到以下错误: [sql] Failed to execute: drop user conns cascade [sql] java.sql.SQLException: ORA-01940: cannot drop a user that is currently connected [sql] Failed to execute: create user conns identifi
我正在尝试重新初始化Oracle数据库,并且看到以下错误:

[sql] Failed to execute:  drop user conns cascade
  [sql] java.sql.SQLException: ORA-01940: cannot drop a user that is currently connected
  [sql] Failed to execute:  create user conns identified by conns default tablespace tbs_conns temporary tablespace temp1
  [sql] java.sql.SQLException: ORA-01920: user name 'CONNS' conflicts with another user or role name

问题是NO ONE已连接:这是我本地计算机上的一个实例,没有外部连接,我只是重新启动并且没有运行任何其他操作.我唯一能想到的是Oracle可能有一些背景(清理?)任务正在运行导致这个问题,但我不知道如何找到/管理它.有任何想法吗?

更新:这个脚本实际上丢弃并重新初始化了一堆表,并且在尝试重新运行它几次之后,我得到了相同的错误消息但是在另一个表上:执行失败:drop user csmy cascade.经过几次尝试后,它又转移到了另一个用户:执行失败:drop user deb cascade.似乎有些东西按字母顺序锁定这些表,一次一个!

更新2:在重新运行脚本大约15次之后 – 每次在字母表中稍微进一步失败时 – 它已经完成并且一切正常.我仍然想知道究竟发生了什么 – 我最好的猜测是一些后台Oracle进程,但我不知道如何检查.

更新3:我上次重新运行脚本时再次遇到同样的问题,这次是用户“cap”失败了.为了尝试新的东西,我启动了sqlplus并手动运行了drop user cap cascade命令,并且看,它工作得很好.我尝试了脚本,它运行完成.因此,由于手动删除用户没有问题,我强烈怀疑脚本本身应该受到指责.

解决方法

脚本是否使用相同的连接?它是否尝试顶级同时丢弃多个用户?

看起来如果它遇到错误,它只是继续下一步.

在不同模式中的对象之间可能存在依赖关系,这可能会阻止模式A中的对象被删除,直到模式B中的对象被删除.因此,如果最初可能无法删除模式A,但是如果模式B已被删除则重试成功.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读