Почему невозможно удалить пользователя, несмотря на то, что он существует в представлении dba_users

oracle exists

945 просмотра

2 ответа

61 Репутация автора

Я пытаюсь удалить / изменить пользователя, как это

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

Автор: BIB Источник Размещён: 18.07.2016 05:52

Ответы (2)


-1 плюса

45 Репутация автора

DROP USER user CASCADE; 

Надеюсь, что эта работа cz ее работа для меня

Автор: Muhammad Mustafa Размещён: 18.07.2016 06:00

2 плюса

21 Репутация автора

Это старый поток, но для справки 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 процедура успешно завершена.

ПРИЧИНА Пользователь был создан принудительно в нижнем регистре. Пользователь сбрасывает, считает, что пользователь в верхнем регистре, и, следовательно, не может найти его.

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

SQL> Create user "ahong3"; 

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

SQL> Drop user "ahong3";

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

Автор: Omkar Размещён: 13.11.2017 09:12
Вопросы из категории :
32x32