oracle – 无法删除当前连接的用户
我正在尝试重新初始化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已被删除则重试成功. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |