Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle Database12c ORA 01918 dan kesalahan koneksi

Bagaimana Anda mengkonfigurasi database Anda? Apakah Anda memeriksa opsi untuk Pluggable database ? Jika ya, pastikan Anda login ke PDB dan bukan CDB .

Silakan baca Oracle 12c Pasca Instalasi Wajib Langkah .

Secara default, pre-installed pengguna seperti SCOTT , HR dll. berada di container database dan bukan di pluggable database .

tnsnames.ora

Edit file tnsnames.ora Anda untuk menambahkan detail PDB. Misalnya,

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

Buka semua PDB

Untuk membuka semua/PDB tertentu segera setelah masuk, buat AFTER STARTUP pemicu tingkat sistem di CDB.

Karena, PDB tidak terbuka melalui awal CDB. Mari kita lihat :

SHUTDOWN IMMEDIATE;
STARTUP;

SQL> SELECT name, open_mode FROM v$pdbs;

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

Jadi, agar semua PDB terbuka secara otomatis, lakukan ini :

Lakukan, “SQLPLUS / AS SYSDBA ”, lalu jalankan :

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

Ini menciptakan pemicu tingkat sistem setelah startup di CDB.

SQLPLUS / SEBAGAI SYSDBA

Kesalahpahaman yang paling umum adalah tentang penggunaan “SQLPLUS / AS SYSDBA”.

Karena kami telah mencentang opsi untuk membuat satu CDB , perintah “SQLPLUS / AS SYSDBA” akan selalu masuk ke CDB. Biasanya pengembang digunakan untuk membuka kunci akun "SCOTT" secara langsung setelah masuk sebagai SYSDBA. Tapi inilah triknya :

“SCOTT” dan skema sampel lainnya ada di PDB dan bukan di CDB . Jadi, Anda harus login sebagai sysdba ke 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. Kesalahan Menyimpan dan mendapatkan gumpalan dari database SQL Oracle

  2. Oracle tidak menghapus kursor setelah menutup set hasil

  3. Tidak dapat membuat Oracle View mengakses objek skema lain, meskipun ada hibah

  4. Oracle cara memuat gambar ke kolom gumpalan menggunakan sqlldr

  5. ORA-12505, TNS:pendengar saat ini tidak mengetahui SID yang diberikan dalam koneksi des