Oracle 12c utwórz użytkownika

10

Mam problem z utworzeniem użytkownika w Enterprise Oracle Database System. Nie można utworzyć użytkownika za pomocą polecenia podobnego do

create user name identified by password;

z powodu wyjątku:

ORA-65096: nieprawidłowa nazwa użytkownika lub roli

Więc znalazłem rozwiązanie w Google:

alter session set container=PDBORCL;

a potem - jest praca. Użytkownik został utworzony.

Ale nie mogę zalogować się na to konto. Co jest nie tak? Dodaję wszystkie uprawnienia do tego konta (oczywiście UTWÓRZ SESJĘ). Mam błąd:

ORA-01017: nieprawidłowa nazwa użytkownika / hasło; odmowa logowania.

Co się do cholery dzieje?

Steve
źródło

Odpowiedzi:

8

Jeśli chcesz utworzyć użytkownika, który będzie mógł administrować dowolną z podłączanych baz danych, wprowadź przedrostek nazwy użytkownika C##.

Na przykład:

create user c##name identified by password;
Philᵀᴹ
źródło
4

Zapoznaj się z poniższymi informacjami, aby zrozumieć problem

wprowadź opis zdjęcia tutaj

Więc nawet jeśli jesteś połączony z SYSTEMEM użytkownika do pdb, kiedy wydasz polecenie połączenia bez określenia pdb, spróbuje połączyć się z kontenerem, a użytkownik nie jest tam zdefiniowany.

Tamas
źródło
2

Utworzyłeś użytkownika w pdb. Musisz połączyć się z tym pdb, aby móc połączyć się z nowo utworzonym użytkownikiem, ponieważ użytkownik jest znany temu pdb tylko wtedy, gdy nie jest on zwykłym użytkownikiem. Aby połączyć się z poprawnym pdb, musisz podać poprawną nazwę usługi w ciągu połączenia.

Steve
źródło
0

Czy potrzebujesz dotacji, aby utworzyć sesję w następnej linii:

GRANT CREATE SESSION TO USERNAME WITH ADMIN OPTION;
Anioł
źródło
Myślę, że masz na myśli „Musisz przyznać sesję tworzenia” lub coś w tym rodzaju.
Max Vernon,