Batasan dan rekomendasi umum

Halaman ini menjelaskan batasan yang diketahui (termasuk pertimbangan khusus untuk menangani entitas seperti kunci utama atau kunci asing dan pemicu), serta praktik yang direkomendasikan untuk migrasi Oracle heterogen dengan Database Migration Service.

Yang tidak dimigrasikan

  • Pengguna dan izin tidak dimigrasikan.
  • Perubahan skema yang terjadi selama tugas migrasi aktif tidak otomatis dimigrasikan. Jika mengubah skema selama migrasi, Anda harus memperbarui ruang kerja konversi dengan perubahan skema terlebih dahulu, lalu memuat ulang tugas migrasi yang relevan. Untuk informasi selengkapnya, lihat Menambahkan skema atau tabel yang diperbarui ke tugas migrasi.
  • Pernyataan SAVEPOINT tidak didukung dan dapat menyebabkan perbedaan data jika terjadi rollback.
  • Database Migration Service mereplikasi jenis data yang ditentukan pengguna, tetapi hanya menyimpan jenis data dasar yang menjadi asal jenis yang ditentukan pengguna. Misalnya, jika Anda menentukan jenis data USERNAME berdasarkan jenis data VARCHAR2, data akan disimpan di tujuan sebagai VARCHAR.

Konsistensi database, transaksi, dan data

  • Migrasi pada akhirnya konsisten, karena Database Migration Service tidak mereplikasi setiap transaksi saat terjadi. Migrasi ini akan memasukkan data dari beberapa tabel. Urutan pemuatan data ke tujuan dapat bervariasi, tetapi akan disesuaikan kembali dengan sumber setelah operasi tulis di sumber dihentikan dan buffering migrasi dihapus.
  • Untuk migrasi Oracle heterogen, Database Migration Service hanya dapat memigrasikan satu database per tugas migrasi.
  • Database Migration Service mendukung arsitektur multi-tenant Oracle (CDB/PDB), tetapi Anda hanya dapat memigrasikan satu database yang dapat di-plug per tugas migrasi.
  • Oracle Label Security (OLS) tidak direplikasi.
  • Database tujuan harus memiliki nama yang sama dengan nama pengguna yang digunakan untuk terhubung ke database.
  • Setiap transaksi yang di-roll back di database sumber selama proses migrasi mungkin terlihat di tujuan untuk sementara (jika transaksi cukup lama).
  • Database Migration Service tidak mendukung konektivitas langsung ke database menggunakan fitur Single Client Access Name (SCAN) di lingkungan Oracle Real Application Clusters (RAC). Untuk mengetahui potensi solusi penggunaan konektivitas daftar yang diizinkan IP publik dengan lingkungan tersebut, lihat Memecahkan masalah error Oracle SCAN.

Encoding data

  • Layanan Migrasi Database hanya mendukung encoding kumpulan UTF8 untuk database tujuan. Nama skema dan tabel yang menyertakan karakter yang tidak merupakan bagian dari kumpulan encoding UTF8 tidak didukung.
  • Database Migration Service mendukung encoding set karakter berikut untuk database Oracle:
    • AL16UTF16
    • AL32UTF8
    • IN8ISCII
    • JA16SJIS
    • US7ASCII
    • UTF8
    • WE8ISO8859P1
    • WE8ISO8859P9
    • WE8ISO8859P15
    • WE8MSWIN1252
    • ZHT16BIG5

Tabel, skema, dan objek lainnya

  • Selama migrasi, perubahan bahasa definisi data (DDL) pada data, skema, dan metadata tidak didukung. Jika memperbarui skema selama migrasi, Anda harus menarik perubahan ke ruang kerja konversi, mengonversi kode, membersihkan tujuan, dan menjalankan tugas migrasi lagi.
  • Nama kolom tabel yang menyertakan karakter selain karakter alfanumerik atau garis bawah (_) tidak didukung.
  • Panjang maksimum nama untuk tabel atau kolom adalah 30 karakter. Layanan Migrasi Database tidak dapat mereplikasi tabel yang melebihi batas ini, atau tabel yang berisi kolom yang namanya melebihi batas ini.
  • Tabel yang diatur indeks (IOT) tidak didukung.
  • Tabel sementara global memerlukan ekstensi PostgreSQL pgtt yang diinstal dan dibuat di tujuan.
  • Untuk kolom jenis BFILE, hanya jalur ke file yang akan direplikasi. Isi file tidak akan direplikasi.
  • Untuk Oracle 11g, tabel yang memiliki kolom jenis data ANYDATA atau UDT tidak didukung, dan seluruh tabel tidak akan direplikasi.
  • Tugas yang dijadwalkan menggunakan dbms_job atau dbms_scheduler tidak dimigrasikan.
  • Definisi tampilan terwujud dimigrasikan, tetapi data terwujudnya tidak. Setelah selesai memigrasikan, muat ulang tampilan yang diwujudkan untuk mengisinya dengan data dari tabel yang dimigrasikan.
  • Nilai urutan dimigrasikan, tetapi nilainya di database sumber mungkin terus meningkat sebelum migrasi selesai. Setelah menyelesaikan migrasi, perbarui nilai urutan pada instance tujuan agar cocok dengan nilai di database sumber.
  • Tugas migrasi dibatasi hingga 10.000 tabel.
  • Baris memiliki batasan ukuran 100 MB. Baris yang melebihi batas 100 MB tidak dimigrasikan, dan muncul sebagai error dalam tugas migrasi.
  • Setiap tabel yang dibuat setelah migrasi dimulai tidak akan dimigrasikan secara otomatis. Pertama, Anda perlu mengambil skema di ruang kerja konversi, menerapkan definisi yang dikonversi ke tujuan, dan memperbarui tugas migrasi.

Batasan jenis data

Jenis data berikut tidak didukung untuk migrasi Oracle:

  • ANYDATA (Untuk Oracle 11g, tabel dengan ANYDATA sepenuhnya tidak didukung dan tidak direplikasi.)
  • BFILE
  • INTERVAL DAY TO SECOND
  • INTERVAL YEAR TO MONTH
  • LONG/LONG RAW
  • SDO_GEOMETRY
  • UDT
  • UROWID
  • XMLTYPE
  • Tanggal nol di TIMESTAMP

Pertimbangan untuk kunci utama

Tabel tanpa kunci utama tidak menjanjikan replikasi yang konsisten. Database Migration Service hanya memigrasikan tabel yang memiliki kunci utama. Jika database sumber Anda menyertakan tabel yang tidak memiliki kunci utama, ruang kerja konversi Database Migration Service akan otomatis membuat kunci utama yang hilang di tabel tujuan saat Anda mengonversi kode dan skema sumber.

Jika menggunakan ruang kerja konversi lama, Anda harus membuat batasan kunci utama secara manual di tabel yang dikonversi di database tujuan sebelum memulai migrasi. Untuk informasi selengkapnya, lihat Ruang kerja konversi lama.

Pertimbangan untuk kunci asing dan pemicu

Kunci asing dan pemicu yang ada di database sumber Anda dapat menyebabkan masalah integritas data, atau bahkan menyebabkan tugas migrasi gagal. Anda dapat mencegah masalah ini jika melewati kunci asing dan pemicu dengan menggunakan opsi REPLICATION untuk pengguna migrasi. Atau, Anda juga dapat menghapus semua kunci asing dan pemicu di database tujuan, lalu membuatnya ulang setelah migrasi selesai.

Pemicu

Data yang direplikasi oleh Database Migration Service telah menyertakan perubahan apa pun yang dilakukan oleh pemicu di database sumber. Jika diaktifkan di tujuan, pemicu dapat diaktifkan kembali dan berpotensi memanipulasi data, sehingga menyebabkan masalah integritas atau duplikasi data.

Kunci asing

Database Migration Service tidak mereplikasi data secara transaksional, sehingga tabel mungkin dimigrasikan secara tidak berurutan. Jika kunci asing ada, dan tabel turunan yang menggunakan kunci asing dimigrasikan sebelum induknya, Anda mungkin mengalami error replikasi.

Rekomendasi

  • Saat membuat database Cloud SQL tujuan, pastikan Anda menggunakan resource komputasi dan memori yang cukup untuk memenuhi kebutuhan migrasi. Sebaiknya gunakan jenis mesin dengan minimal CPU dual-core.

    Misalnya, jika nama mesin Anda adalah db-custom, dan memiliki 2 CPU dan RAM 3840 MB, format untuk nama jenis mesin adalah db-custom-2-3840.

  • Database Cloud SQL tujuan dapat ditulis selama migrasi untuk memungkinkan perubahan Bahasa Pemrosesan Data (DML) diterapkan jika diperlukan. Berhati-hatilah untuk tidak membuat perubahan apa pun pada konfigurasi database atau struktur tabel yang dapat mengganggu proses migrasi atau memengaruhi integritas data.

Kuota

  • Hingga 2.000 profil koneksi dan 1.000 tugas migrasi dapat ada pada waktu tertentu. Untuk membuat ruang bagi tugas migrasi lainnya (termasuk yang telah selesai) dan profil koneksi dapat dihapus.