Jak odblokować schemat HR?



Odblokowanie przykładowego schematu HR w wersjach starszych niż 12c było banalnie proste. Wystarczyło ze schematu SYS wykonać
 alter user hr identified by hr account unlock;  
I voila - schemat HR gotowy do działania.
W 12c, gdy weszły kontenery, sprawy się pokomplikowały:
 alter user hr identified by hr account unlock;  
Error report -
ORA-01918: użytkownik 'HR' nie istnieje
01918. 00000 - "user '%s' does not exist"
*Cause: User does not exist in the system.
*Action: Verify the user name is correct.
Ale nie jest tak źle jak wygląda. Schemat HR jest, tylko nie tu gdzie szukamy.
Gdy logujemy się przez użytkownika SYS logujemy się do bazy CDB. I tu faktycznie nie ma schematu HR. Schemat HR został ukryty w bazie pluggable. Żeby móc odblokować schemat HR musimy się połączyć z bazą PDB (pluggable).

1. Logujemy się na użytkownika SYS
Sprawdzamy zapytaniem z pkt 1 czy nasza baza jest w trybie READ WRITE. Jeśli nie, możemy ją otworzyć poleceniem:
 sqlplus SYS/SYS AS SYSDBA;  
2. Połączenie się do kontenera XEPDB1
Ze schematu SYS łączymy się do kontenera
 ALTER SESSION SET container=XEPDB1;  
2. Odblokowanie schematu HR
Teraz możemy odblokować nasz przykładowy schemat HR!
 alter user hr identified by hr account unlock;
User HR altered.
7. Połączenie do schematu HR.
Musimy utworzyć polączenie do schematu HR. Pamiętajmy, że baza jest nie na Service Name standardowym, u mnie XE tylko na Service Name, który utworzyliśmy w pkt 2. Czyli u mnie XEPDB1.

I już możemy się cieszyć naszym pięknym, nowym schematem HR :)

Komentarze