Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Migrasikan kode kesalahan Oracle Database ke database yang kompatibel dengan Amazon Aurora PostgreSQL
Sai Parthasaradhi dan Veeranjaneyulu Grandhi, Amazon Web Services
Ringkasan
Pola ini menunjukkan cara memigrasikan kode kesalahan Oracle Database ke database Amazon Aurora PostgreSQL Compatible Edition dengan menggunakan tabel metadata yang telah ditentukan sebelumnya.
Kode kesalahan Oracle Database tidak selalu memiliki kode kesalahan PostgreSQL yang sesuai. Perbedaan kode kesalahan ini dapat menyulitkan untuk mengkonfigurasi logika pemrosesan prosedur atau fungsi dalam arsitektur PostgreSQL target.
Anda dapat menyederhanakan proses dengan menyimpan kode kesalahan basis data sumber dan target yang berarti bagi PL/pgSQL program Anda dalam tabel metadata. Kemudian, konfigurasikan tabel untuk menandai kode kesalahan Oracle Database yang valid dan petakan ke ekuivalen PostgreSQL mereka sebelum melanjutkan dengan logika proses yang tersisa. Jika kode kesalahan Oracle Database tidak ada dalam tabel metadata, proses keluar dengan pengecualian. Kemudian, Anda dapat meninjau detail kesalahan secara manual dan menambahkan kode kesalahan baru ke tabel jika program Anda memerlukannya.
Dengan menggunakan konfigurasi ini, database Amazon Aurora PostgreSQL yang kompatibel dapat menangani kesalahan dengan cara yang sama seperti database Oracle sumber Anda.
catatan
Mengkonfigurasi database PostgreSQL untuk menangani kode kesalahan Oracle Database dengan benar biasanya memerlukan perubahan pada database dan kode aplikasi.
Prasyarat dan batasan
Prasyarat
Akun AWS yang aktif
Sumber Oracle Database dengan layanan instance dan listener aktif dan berjalan
Cluster yang kompatibel dengan Amazon Aurora PostgreSQL yang aktif dan berjalan
Keakraban dengan Oracle Database
Keakraban dengan database PostgreSQL
Arsitektur
Diagram berikut menunjukkan contoh alur kerja database yang kompatibel dengan Amazon Aurora PostgreSQL untuk validasi dan penanganan kode kesalahan data:

Diagram menunjukkan alur kerja berikut:
Sebuah tabel berisi kode kesalahan Oracle Database dan klasifikasi dan kode kesalahan PostgreSQL yang setara dan klasifikasi. Tabel ini mencakup kolom valid_error yang mengklasifikasikan jika kode kesalahan tertentu yang telah ditentukan valid atau tidak.
Ketika sebuah PL/pgSQL fungsi (func_processdata) melempar pengecualian, ia memanggil fungsi kedua PL/pgSQL (error_validation).
Fungsi error_validation menerima kode kesalahan Oracle Database sebagai argumen masukan. Kemudian, fungsi memeriksa kode kesalahan yang masuk terhadap tabel untuk melihat apakah kesalahan termasuk dalam tabel.
Jika kode kesalahan Oracle Database disertakan dalam tabel, maka fungsi error_validation mengembalikan nilai TRUE dan logika proses berlanjut. Jika kode kesalahan tidak disertakan dalam tabel, maka fungsi mengembalikan nilai FALSE, dan logika proses keluar dengan pengecualian.
Ketika fungsi mengembalikan nilai FALSE, maka rincian kesalahan secara manual ditinjau oleh lead fungsional aplikasi untuk menentukan validitasnya.
Kode kesalahan baru kemudian ditambahkan secara manual ke tabel atau tidak. Jika kode kesalahan valid dan ditambahkan ke tabel, maka fungsi error_validation mengembalikan nilai TRUE saat berikutnya pengecualian terjadi. Jika kode kesalahan tidak valid, dan proses harus gagal ketika pengecualian terjadi, maka kode kesalahan tidak ditambahkan ke tabel.
Tumpukan teknologi
Amazon Aurora PostgreSQL
pgAdmin
Pengembang Oracle SQL
Alat
Amazon Aurora PostgreSQL Compatible Edition adalah mesin database relasional yang dikelola sepenuhnya dan sesuai dengan ACID yang membantu Anda mengatur, mengoperasikan, dan menskalakan penerapan PostgreSQL.
pgAdmin
adalah alat administrasi dan pengembangan sumber terbuka untuk PostgreSQL. Ini menyediakan antarmuka grafis yang menyederhanakan pembuatan, pemeliharaan, dan penggunaan objek database. Oracle SQL Developer
adalah lingkungan pengembangan terintegrasi gratis yang menyederhanakan pengembangan dan pengelolaan Oracle Database baik dalam penerapan tradisional maupun cloud.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat tabel di database Amazon Aurora PostgreSQL yang kompatibel. | Jalankan perintah PostgreSQL CREATE TABLE
| Pengembang PostgreSQL, Oracle, untuk PostgreSQL RDS/Aurora |
Tambahkan kode kesalahan PostgreSQL dan kode kesalahan Oracle Database yang sesuai ke tabel. | Jalankan perintah PostgreSQL Kode kesalahan PostgreSQL harus menggunakan karakter yang bervariasi tipe data (nilai SQLSTATE). Kode kesalahan Oracle harus menggunakan tipe data numerik (nilai SQLCODE). Contoh Sisipkan pernyataan:
catatanJika Anda menangkap pengecualian konektivitas basis data Java (JDBC) khusus Oracle, Anda harus mengganti pengecualian tersebut dengan pengecualian lintas basis data generik atau beralih ke pengecualian khusus PostgreSQL. | Pengembang PostgreSQL, Oracle, untuk PostgreSQL RDS/Aurora |
Buat PL/pgSQL fungsi untuk memvalidasi kode kesalahan. | Buat PL/pgSQL fungsi dengan menjalankan perintah PostgreSQL
| Pengembang PostgreSQL, Oracle, untuk PostgreSQL RDS/Aurora |
Tinjau kode kesalahan baru secara manual saat direkam oleh PL/pgSQL fungsi. | Tinjau kode kesalahan baru secara manual. Jika kode kesalahan baru valid untuk kasus penggunaan Anda, tambahkan ke tabel error_codes dengan menjalankan perintah PostgreSQL INSERT. -atau- Jika kode kesalahan baru tidak valid untuk kasus penggunaan Anda, jangan tambahkan ke tabel. Logika proses akan terus gagal dan keluar dengan pengecualian ketika kesalahan terjadi. | Pengembang PostgreSQL, Oracle, untuk PostgreSQL RDS/Aurora |
Sumber daya terkait
Lampiran A. PostgreSQL Kode Kesalahan (dokumentasi PostgreSQL
Pesan kesalahan database