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/example@sqldat.com AS SYSDBA
SQL> ALTER USER scott ACCOUNT UNLOCK IDENTIFIED BY tiger;
sqlplus scott/example@sqldat.com
SQL> show user;
USER is "SCOTT"