2016-07-18 12 views
1

Я пытаюсь бросить/изменить пользователя, как этотПочему нельзя отказаться от пользователя, несмотря на это, существует в dba_users просмотра

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 Enterprise Edition Release 11.2.0.4.0 - 64-разрядные производства PL/SQL Release 11.2.0.4.0 - Производство "CORE 11.2.0.4.0 Production" TNS для Linux: Версия 11.2.0.4.0 - Производство NLSRTL Версия 11.2.0.4.0 - Производство

+0

Вы можете увидеть 'AVASILIEV_AXIOM_10X' в представлении' ALL_USERS'? Если нет, то «drop user» не сможет найти пользователя для вас. –

+0

@ShannonSeverance Любой пользователь может видеть любого пользователя в «ALL_USERS» без каких-либо привилегий. –

+0

@JonHeller Это не то, как я читаю документы, но не имею экземпляр Oracle, который можно протестировать. http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_2114.htm#REFRN20302 –

ответ

-1
DROP USER user CASCADE; 

Надежда эта работа CZ свою работу для меня

+1

Параметр 'cascade' будет полезен только в том случае, если сообщение об ошибке было« ORA-01922: CASCADE необходимо указать для удаления «AVASILIEV_AXIOM_10X». –

1

Это старая нить, но для справки Oracle Doc ID 1297361,1 предлагает в качестве следует:

SQL> drop user ahong3; 

падение пользователя ahong3 * ОШИБКА в строке 1:

ORA-01918: user 'AHONG3' does not exist 

SQL> select username from dba_users where username='ahong3'; 

USERNAME 
------------------------------ 
ahong3 

SQL> execute hcheck.full 
HCheck Version 8i-11/1.95 

Found 0 potential problems and 0 warnings 

PL/SQL процедура успешно завершена.

Причина: был создан принудительно в нижнем регистре. Drop пользователь считает, что пользователь находится в верхнем регистре и, следовательно, не может его найти.

Ex: инструкция ниже приведет к созданию пользователя в нижнем регистре.

SQL> Create user "ahong3"; 

РЕШЕНИЕ Force падение user statement уронить пользователя, созданного в нижнем регистре, указав имя пользователя в двойные кавычки:

SQL> Drop user "ahong3"; 

Это решение работает для меня

 Смежные вопросы

  • Нет связанных вопросов^_^