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"