Saya mencoba memasukkan non-CDB ke lingkungan Multitenant baru kami saat kami pindah ke Multitenant. Saya akan membuat gambar emas dari produksi non-CDB kami dan kemudian semua database pengembang dan pengujian hanya akan menjadi klon dari gambar emas. Tapi pertama-tama, saya harus memasang non-CDB. Saya memiliki snapshot disk yang dipasang ke server database Multitenant. Saya juga membuat file XML dan saya siap untuk menyambungkan non-CDB dengan perintah ini:
CREATE PLUGGABLE DATABASE gold180904 USING '/home/oracle/source_db.xml' NOCOPY SOURCE_FILE_NAME_CONVERT=('/u01/app/oracle/oradata/data01', '/u01/app/oracle/oradata/mt_golden_2018_09_06_095555/data01', '/u01/app/oracle/oradata/data02','/u01/app/oracle/oradata/mt_golden_2018_09_06_095555/data02', '/u01/app/oracle/oradata/data03','/u01/app/oracle/oradata/mt_golden_2018_09_06_095555/data03', '/u01/app/oracle/oradata/data04','/u01/app/oracle/oradata/mt_golden_2018_09_06_095555/data04') TEMPFILE REUSE;
Sayangnya, saya mengalami kesalahan berikut:
CREATE PLUGGABLE DATABASE gold180904 * ERROR at line 1: ORA-65139: Mismatch between XML metadata file and data file /u01/app/oracle/oradata/mt_golden_2018_09_06_095555/data03/datafile12.dbf for value of rdba (4194824 in the plug XML file, 4458552 in the data file)
Dalam penelitian saya, kesalahan ORA-65139 biasanya terlihat ketika file XML dibuat dengan database terbuka sebagai READ WRITE. Tetapi saya tahu pasti bahwa database saya HANYA BACA ketika file XML dibuat. Selanjutnya, semua masalah serupa yang saya temukan di MOS dan di pencarian Google semuanya memiliki "nilai fcpsb" sedangkan baris terakhir dari pesan kesalahan saya mengatakan "nilai rdba". Yah saya tidak yakin apa yang harus dilakukan RDBA dengan ini dan tidak satu pun dari nilai dalam peta pesan kesalahan ke daftar file data dalam pesan. Jadi ini membingungkan bagi saya.
Setelah mencoba beberapa hal yang berbeda, saya memutuskan untuk menjalankan pemeriksaan kompatibilitas plugin.
DECLARE compatible BOOLEAN; BEGIN compatible:=DBMS_PDB.CHECK_PLUG_COMPATIBILITY( pdb_descr_file=>'/home/oracle/source_db.xml', pdb_name=>'GOLD180904'); END; /
Saat menanyakan PDB_PLUG_IN_VIOLATIONS, satu baris mengalami kesalahan. Pesannya dalam tampilan itu mengatakan:
PSU bundle patch 180717 (DATABASE PATCH SET UPDATE 12.1.0.2.180717):Dipasang di PDB tetapi tidak di CDB.
Ini sekarang lebih masuk akal. Basis data sumber adalah lingkungan produksi dengan PSU terbaru yang diterapkan. CDB adalah merek baru dan belum melihat tambalan apa pun. Saya menerapkan PSU terbaru ke CDB dan operasi plugin berhasil pada percobaan berikutnya.
Pada akhirnya, jelas bahwa pesan kesalahan tidak ada hubungannya dengan akar penyebab masalah. Setidaknya tidak bagiku.