【发布时间】:2016-11-21 10:26:28
【问题描述】:
我尝试像这样删除/更改用户
drop user AVASILIEV_AXIOM_10X
我收到以下错误
SQL> drop user AVASILIEV_AXIOM_10X;
drop user AVASILIEV_AXIOM_10X
*
ERROR at line 1:
ORA-01918: user 'AVASILIEV_AXIOM_10X' does not exist
但是这个用户存在于 dba_users 视图中:
SQL> select username from dba_users where username='AVASILIEV_AXIOM_10X';
USERNAME
------------------------------
AVASILIEV_AXIOM_10X
SQL>
另外,我无法创建具有相同名称的用户,因为它已经存在于数据库中。有什么问题?
我的 Oracle 版本: Oracle Database 11g 企业版 11.2.0.4.0 - 64 位生产 PL/SQL 版本 11.2.0.4.0 - 生产 “核心 11.2.0.4.0 生产” 适用于 Linux 的 TNS:版本 11.2.0.4.0 - 生产 NLSRTL 版本 11.2.0.4.0 - 生产
【问题讨论】:
-
您能在
ALL_USERS视图中看到AVASILIEV_AXIOM_10X吗?如果没有,那么drop user将无法找到您要删除的用户。 -
@ShannonSeverance 任何用户都可以看到
ALL_USERS中的任何其他用户,没有权限。 -
@JonHeller 这不是我阅读文档的方式,但没有方便测试的 Oracle 实例。 docs.oracle.com/cd/B19306_01/server.102/b14237/…
-
@ShannonSeverance 我在 12c 上对其进行了测试,仅授予
create session就足以让用户看到所有其他用户。我不确定用户何时不会对其他用户“可见”(如手册所述)。 -
@ShannonSeverance 是的,我可以在 ALL_USERS 视图中看到这个用户。更重要的是,即使是 SYSTEM 用户,我也不能放弃它。我将其作为具有 SYSDBA 权限的 SYS 用户删除了!真是奇怪……