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 dataVARCHAR2
, data akan disimpan di tujuan sebagaiVARCHAR
.
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 encodingUTF8
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
atauUDT
tidak didukung, dan seluruh tabel tidak akan direplikasi. - Tugas yang dijadwalkan menggunakan
dbms_job
ataudbms_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 denganANYDATA
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 adalahdb-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.