Jak skonfigurowałeś swoją bazę danych? Czy zaznaczyłeś opcję dla Pluggable database
? ? Jeśli tak, upewnij się, że logujesz się do PDB
a nie CDB
.
Przeczytaj Oracle 12c Obowiązkowe po instalacji Kroki .
Domyślnie pre-installed
użytkownicy tacy jak SCOTT
, HR
itp. znajduje się w container database
a nie w pluggable database
.
tnsnames.ora
Edytuj plik tnsnames.ora, aby dodać szczegóły PDB. Na przykład
PDBORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdborcl)
)
)
Otwórz wszystkie pliki PDB
Aby otworzyć wszystkie/określone pliki PDB natychmiast po zalogowaniu, utwórz PO URUCHOMIENIU wyzwalacz na poziomie systemu w CDB.
Ponieważ pliki PDB nie są otwierane przez start CDB. Zobaczmy :
SHUTDOWN IMMEDIATE;
STARTUP;
SQL> SELECT name, open_mode FROM v$pdbs;
NAME OPEN_MODE
------------------------------ ----------
PDB$SEED READ ONLY
PDBP6 MOUNTED
Tak więc, aby wszystkie pliki PDB były automatycznie otwierane, wykonaj następujące czynności:
Wykonaj, „SQLPLUS / AS SYSDBA
”, a następnie wykonaj :
CREATE OR REPLACE TRIGGER open_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';
END open_pdbs;
/
Tworzy wyzwalacz poziomu systemu po uruchomieniu w CDB.
SQLPLUS / JAKO SYSDBA
Najczęstsze nieporozumienie dotyczy użycia „SQLPLUS / AS SYSDBA”.
Ponieważ zaznaczyliśmy opcję utworzenia jednego CDB , polecenie „SQLPLUS / AS SYSDBA” zawsze będzie logować się do CDB. Zwykle programiści odblokowywali konto „SCOTT” bezpośrednio po zalogowaniu się jako SYSDBA. Ale oto sztuczka:
„SCOTT” i inne przykładowe schematy znajdują się w PDB, a nie w CDB . Musisz więc zalogować się jako sysdba do PDB.
sqlplus SYS/[email protected] AS SYSDBA
SQL> ALTER USER scott ACCOUNT UNLOCK IDENTIFIED BY tiger;
sqlplus scott/[email protected]
SQL> show user;
USER is "SCOTT"