Hoe heb je je database geconfigureerd? Heb je de optie voor Pluggable database
. aangevinkt? ? Zo ja, zorg er dan voor dat u inlogt op PDB
en niet CDB
.
Lees a.u.b. Oracle 12c Post-installatie Verplicht Stappen .
Standaard pre-installed
gebruikers houden van SCOTT
, HR
enz. bevindt zich in container database
en niet in pluggable database
.
tnsnames.ora
Bewerk uw tnsnames.ora-bestand om de PDB-details toe te voegen. Bijvoorbeeld,
PDBORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdborcl)
)
)
Alle PDB's openen
Om alle/specifieke PDB's direct na het inloggen te openen, maakt u een NA HET OPSTARTEN trigger op systeemniveau in CDB.
Sindsdien zijn de VOB's niet open via een CDB-start. Eens kijken:
SHUTDOWN IMMEDIATE;
STARTUP;
SQL> SELECT name, open_mode FROM v$pdbs;
NAME OPEN_MODE
------------------------------ ----------
PDB$SEED READ ONLY
PDBP6 MOUNTED
Dus, om alle PDB's automatisch te openen, doe dit:
Doen, "SQLPLUS / AS SYSDBA
”, en voer dan uit:
CREATE OR REPLACE TRIGGER open_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';
END open_pdbs;
/
Het creëert een trigger op systeemniveau na het opstarten in CDB.
SQLPLUS / AS SYSDBA
Het meest voorkomende misverstand gaat over het gebruik van "SQLPLUS / AS SYSDBA".
Aangezien we de optie hebben aangevinkt om een enkele CDB te maken , logt de opdracht "SQLPLUS / AS SYSDBA" altijd in op CDB. Gewoonlijk ontgrendelden ontwikkelaars het "SCOTT" -account direct na het inloggen als SYSDBA. Maar hier is de truc:
'SCOTT' en andere voorbeeldschema's staan in de PDB en niet in de CDB . U moet dus inloggen als sysdba in 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"