sql >> Database teknologi >  >> RDS >> Oracle

Oracle Database12c ORA 01918 og forbindelsesfejl

Hvordan konfigurerede du din database? Har du markeret muligheden for Pluggable database ? Hvis ja, så sørg for at logge ind på PDB og ikke CDB .

Læs venligst Oracle 12c Post Installation Obligatorisk Trin .

Som standard pre-installed brugere som SCOTT , HR osv. ligger i container database og ikke i pluggable database .

tnsnames.ora

Rediger din tnsnames.ora-fil for at tilføje PDB-detaljerne. For eksempel,

PDBORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pdborcl)
    )
  )

Åbn alle PDB'er

For at åbne alle/specifikke PDB'er umiddelbart efter logon skal du oprette en EFTER OPSTART systemniveauudløser i CDB.

Da PDB'erne ikke er åbne gennem en CDB-start. Lad os se :

SHUTDOWN IMMEDIATE;
STARTUP;

SQL> SELECT name, open_mode FROM v$pdbs;

NAME                           OPEN_MODE
------------------------------ ----------
PDB$SEED                       READ ONLY
PDBP6                          MOUNTED

Så gør dette for at få alle PDB'erne automatisk til at åbne:

Gør, "SQLPLUS / AS SYSDBA ”, og kør derefter :

CREATE OR REPLACE TRIGGER open_pdbs 
  AFTER STARTUP ON DATABASE 
BEGIN 
   EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN'; 
END open_pdbs;
/

Det opretter en trigger på systemniveau efter opstart i CDB.

SQLPLUS / AS SYSDBA

Den mest almindelige misforståelse handler om "SQLPLUS / AS SYSDBA"-brug.

Da vi har markeret muligheden for at oprette en enkelt CDB , vil kommandoen "SQLPLUS / AS SYSDBA" altid logge på CDB. Normalt plejede udviklere at låse op for "SCOTT"-kontoen direkte efter at have logget som SYSDBA. Men her er tricket :

"SCOTT" og andre eksempelskemaer er i FBF og ikke i CDB . Så du skal logge ind som sysdba i 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"



  1. SQLite JSON_INSERT()

  2. ORDER BY ignoreret ved INSERT i MySQL-tabel

  3. MySQL-ydelse:Enkeltbord eller flere tabeller

  4. PHP MySQL:Gemmer PDF til database