Oracle 12c создать пользователя

10

У меня есть некоторые проблемы с созданием пользователя в Enterprise Oracle Database System. Не мог создать пользователя с помощью команды, как

create user name identified by password;

из-за исключения:

ORA-65096: неверный общий пользователь или имя роли

Поэтому я нашел решение в Google:

alter session set container=PDBORCL;

а после этого - работа. Пользователь был создан.

Но я не могу войти в этот аккаунт. Что не так? Я добавляю все привилегии к этой учетной записи (СОЗДАТЬ СЕССИЮ, конечно, тоже). Я получил ошибку:

ORA-01017: неверное имя пользователя / пароль; вход запрещен

Что, черт возьми, происходит?

Стив
источник

Ответы:

8

Если вы хотите создать пользователя, который может администрировать любую из подключаемых баз данных, добавьте к имени пользователя префикс C##.

Например:

create user c##name identified by password;
Philᵀᴹ
источник
4

Пожалуйста, смотрите следующее, чтобы понять проблему

введите описание изображения здесь

Таким образом, даже если вы подключены с пользовательским SYSTEM к pdb, когда вы запускаете connect без указания pdb, он попытается подключиться к контейнеру, а пользователь там не определен.

Тамас
источник
3

Это новая функция в 12c - Мультитенантная архитектура:

http://docs.oracle.com/cd/E16655_01/server.121/e17633/cdblogic.htm#CNCPT89248

Вы попытались создать пользователя в базе данных корневого контейнера (CDB), которая предназначена для администрирования одной или нескольких подключаемых баз данных (PDB).

Эндрю Бреннан
источник
2

Вы создали пользователя в pdb. Вам нужно подключиться к этому pdb, чтобы иметь возможность подключиться к вновь созданному пользователю, так как пользователь известен этому pdb, только если он не является обычным пользователем. Чтобы подключиться к правильному pdb, вам нужно указать правильное имя сервиса в строке подключения.

Стив
источник
0

Нужно ли дать грант на создание сессии по следующей строке:

GRANT CREATE SESSION TO USERNAME WITH ADMIN OPTION;
ангел
источник
Я думаю, что вы имеете в виду «Вам нужно предоставить создать сеанс», или что-то.
Макс Вернон