Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle Database12c ORA 01918 i błąd połączenia

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"



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. podproces daje błąd. System nie może odnaleźć określonego pliku

  2. Funkcja JSON_OBJECT() w Oracle

  3. Błąd Oracle 11.1.0.7 i WAMP oci_connect

  4. czas odświeżania zmaterializowanego widoku oracle

  5. Najczystszy sposób na zbudowanie ciągu SQL w Javie