sql >> Databáze >  >> RDS >> Oracle

Oracle Database12c ORA 01918 a chyba připojení

Jak jste nakonfigurovali databázi? Zaškrtli jste možnost Pluggable database ? Pokud ano, ujistěte se, že jste přihlášeni do PDB a ne CDB .

Přečtěte si prosím Oracle 12c po instalaci povinné Kroky .

Ve výchozím nastavení pre-installed uživatelé jako SCOTT , HR atd. se nachází v container database a nikoli v pluggable database .

tnsnames.ora

Upravte svůj soubor tnsnames.ora a přidejte podrobnosti PDB. Například,

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

Otevřít všechny PNR

Chcete-li otevřít všechny/konkrétní PDB ihned po přihlášení, vytvořte PO SPUŠTĚNÍ spouštění na systémové úrovni v CDB.

Protože PDB nejsou otevřeny prostřednictvím spuštění CDB. Podívejme se:

SHUTDOWN IMMEDIATE;
STARTUP;

SQL> SELECT name, open_mode FROM v$pdbs;

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

Takže, aby se všechny PNR automaticky otevřely, udělejte toto:

Proveďte „SQLPLUS / AS SYSDBA “ a poté spusťte :

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

Vytvoří spouštěč na úrovni systému po spuštění v CDB.

SQLPLUS / AS SYSDBA

Nejběžnější nedorozumění se týká použití „SQLPLUS / AS SYSDBA“.

Protože jsme zaškrtli možnost vytvořit jeden CDB , příkaz “SQLPLUS / AS SYSDBA” se vždy přihlásí do CDB. Vývojáři obvykle používali k odemknutí účtu „SCOTT“ přímo po přihlášení jako SYSDBA. Ale tady je trik :

SCOTT a další vzorová schémata jsou v PNR a ne v CDB . Musíte se tedy přihlásit 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"



  1. java.sql.SQLException:Pole nemá výchozí hodnotu

  2. ECHO ZOBRAZENÍ VÝSLEDKŮ MYSQL PRÁZDNÁ STRÁNKA

  3. Je vaše databáze zabezpečená? Zamyslete se znovu

  4. Chcete-li zjistit příčinu, zavolejte getNextException:Jak přimět režim Hibernate / JPA zobrazovat zprávu serveru DB pro výjimku