Topik ini menjelaskan cara menyinkronkan data dari Database Oracle yang dikelola sendiri ke proyek MaxCompute menggunakan Data Transmission Service (DTS).
Prasyarat
MaxCompute telah diaktifkan dan proyek MaxCompute telah dibuat. Untuk informasi selengkapnya, lihat Aktifkan MaxCompute dan DataWorks dan Buat proyek MaxCompute.
Daftar putih alamat IP dikonfigurasi pada klien MaxCompute untuk mengizinkan akses dari DTS ke MaxCompute. Untuk informasi selengkapnya, lihat Konfigurasi daftar putih alamat IP untuk mengizinkan akses dari layanan Alibaba Cloud ke MaxCompute.
Pasangan Kunci Akses dibuat untuk Akun Alibaba Cloud yang memiliki proyek MaxCompute tujuan. Untuk informasi selengkapnya, lihat Buat pasangan AccessKey.
CatatanAnda dapat membuat Pengguna RAM dan mengatur Pengguna RAM sebagai super administrator untuk Proyek MaxCompute.
Database Oracle yang dikelola sendiri berjalan dalam Mode ARSIPLOG. File log arsip dapat diakses, dan periode retensi yang sesuai ditetapkan untuk file log arsip. Untuk informasi selengkapnya, lihat Managing Archived Redo Log Files.
Fitur pencatatan tambahan diaktifkan untuk database Oracle yang dikelola sendiri, dan parameter SUPPLEMENTAL_LOG_DATA_PK serta SUPPLEMENTAL_LOG_DATA_UI diatur ke Yes. Untuk informasi selengkapnya, lihat Supplemental Logging.
Anda memahami kemampuan dan batasan DTS saat digunakan untuk menyinkronkan data dari database Oracle. Advanced Database & Application Migration (ADAM) digunakan untuk mengevaluasi kelayakan dan biaya sinkronisasi database. Hal ini membantu Anda menyinkronkan data dari Oracle ke MaxCompute secara lancar. Untuk informasi selengkapnya, lihat Persiapkan database Oracle dan Ikhtisar.
Peringatan
DTS tidak menyinkronkan kunci asing dari database sumber ke database tujuan. Oleh karena itu, operasi cascade dan delete pada database sumber tidak disinkronkan ke database tujuan.
Jenis | Deskripsi |
Batasan pada database sumber |
|
Batasan lainnya |
|
Penagihan
| Jenis sinkronisasi | Biaya konfigurasi tugas |
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis. |
| Sinkronisasi data inkremental | Dikenai biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan. |
Operasi SQL yang dapat disinkronkan
Jenis operasi | Pernyataan SQL |
DML | INSERT, UPDATE, dan DELETE |
DDL | ADD COLUMN Catatan Operasi ADD COLUMN yang berisi kolom atribut tidak dapat disinkronkan. |
Izin yang diperlukan untuk akun database
Jenis database | Izin yang diperlukan | Metode pembuatan dan otorisasi akun |
Database Oracle yang dikelola sendiri | Izin tingkat granularitas halus |
Jika Anda menyinkronkan data inkremental dari database Oracle, Anda harus mengaktifkan pencatatan arsip dan pencatatan tambahan untuk database Oracle guna mendapatkan data inkremental. Untuk informasi selengkapnya, lihat bagian Konfigurasi database Oracle dalam topik "Persiapkan database Oracle".
Proses sinkronisasi
Sinkronisasi skema awal.
DTS menyinkronkan skema objek yang diperlukan dari database sumber ke MaxCompute. Selama sinkronisasi skema awal, DTS menambahkan akhiran _base pada nama tabel sumber. Misalnya, jika nama tabel sumber adalah customer, maka nama tabel di MaxCompute adalah customer_base.
Sinkronisasi data penuh awal.
DTS menyinkronkan data historis tabel dari database sumber ke tabel tujuan di MaxCompute. Misalnya, tabel customer di database sumber disinkronkan ke tabel customer_base di MaxCompute. Data ini menjadi dasar untuk sinkronisasi inkremental berikutnya.
CatatanTabel tujuan yang diberi akhiran _base dikenal sebagai tabel garis dasar penuh.
Sinkronisasi data inkremental.
DTS membuat tabel data inkremental di MaxCompute. Nama tabel data inkremental diberi akhiran _log, misalnya customer_log. Kemudian, DTS menyinkronkan data inkremental yang dihasilkan di database sumber ke tabel data inkremental tersebut.
CatatanUntuk informasi selengkapnya tentang struktur tabel data inkremental, lihat Definisi struktur tabel data inkremental.
Prosedur
Gunakan salah satu metode berikut untuk membuka halaman Sinkronisasi Data dan pilih wilayah tempat instansi sinkronisasi data berada.
Konsol DTS
Masuk ke Konsol DTS.
Di panel navigasi sebelah kiri, klik Data Synchronization.
Di pojok kiri atas halaman, pilih wilayah tempat tugas sinkronisasi data berada.
Konsol DMS
CatatanOperasi aktual dapat berbeda tergantung pada mode dan tata letak konsol DMS. Untuk informasi selengkapnya, lihat Mode sederhana dan Sesuaikan tata letak dan gaya konsol DMS.
Masuk ke Konsol DMS.
Di bilah navigasi atas, arahkan kursor ke Data + AI lalu pilih .
Dari daftar drop-down di sebelah kanan Data Synchronization Tasks, pilih wilayah tempat instansi sinkronisasi data berada.
Klik Create Task untuk membuka halaman konfigurasi tugas.
Konfigurasi database sumber dan tujuan. Tabel berikut menjelaskan parameter-parameter tersebut.
Bagian
Parameter
Deskripsi
N/A
Task Name
Nama tugas DTS. DTS secara otomatis menghasilkan nama tugas. Kami menyarankan Anda menentukan nama yang informatif agar mudah mengidentifikasi tugas tersebut. Anda tidak perlu menentukan nama tugas yang unik.
Source Database
Select Existing Connection
Jika Anda menggunakan instans database yang telah didaftarkan ke DTS, pilih instans tersebut dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instans tersebut. Untuk informasi selengkapnya, lihat Kelola koneksi database.
CatatanDi konsol DMS, Anda dapat memilih instans database dari daftar drop-down Select a DMS database instance.
Jika Anda gagal mendaftarkan instans ke DTS, atau tidak perlu menggunakan instans yang telah didaftarkan ke DTS, Anda harus mengonfigurasi informasi database berikut.
Database Type
Pilih Oracle.
Access Method
Pilih metode akses berdasarkan lokasi penerapan database sumber. Dalam contoh ini, Self-managed Database on ECS dipilih.
CatatanJika Anda memilih metode akses lain, Anda harus menyiapkan lingkungan yang diperlukan untuk database Oracle yang dikelola sendiri. Untuk informasi selengkapnya, lihat Ikhtisar persiapan.
Instance Region
Wilayah tempat database Oracle sumber berada.
ECS Instance ID
ID instans ECS tempat database Oracle sumber diterapkan.
Port Number
Nomor port layanan database Oracle sumber. Nilai default: 1521.
Oracle Type
Non-RAC Instance: Jika Anda memilih opsi ini, Anda harus menentukan parameter SID.
RAC or PDB Instance: Jika Anda memilih opsi ini, Anda harus menentukan parameter Service Name.
Dalam contoh ini, RAC or PDB Instance dipilih dan Service Name ditentukan.
Database Account
Akun database Oracle yang dikelola sendiri. Untuk informasi selengkapnya tentang izin yang diperlukan, lihat bagian Izin yang diperlukan untuk akun database dalam topik ini.
Database Password
Kata sandi yang digunakan untuk mengakses instans database.
Destination Database
Select Existing Connection
Jika Anda menggunakan instans database yang telah didaftarkan ke DTS, pilih instans tersebut dari daftar drop-down. DTS secara otomatis mengisi parameter database berikut untuk instans tersebut. Untuk informasi selengkapnya, lihat Kelola koneksi database.
CatatanDi konsol DMS, Anda dapat memilih instans database dari daftar drop-down Select a DMS database instance.
Jika Anda gagal mendaftarkan instans ke DTS, atau tidak perlu menggunakan instans yang telah didaftarkan ke DTS, Anda harus mengonfigurasi informasi database berikut.
Database Type
Pilih MaxCompute.
Access Method
Pilih Alibaba Cloud Instance.
Instance Region
Wilayah tempat proyek MaxCompute tujuan berada.
Project
Nama proyek MaxCompute tujuan.
AccessKey ID of Alibaba Cloud Account
Masukkan pasangan AccessKey yang telah Anda siapkan di bagian Prasyarat.
AccessKey Secret of Alibaba Cloud Account
Di bagian bawah halaman, klik Test Connectivity and Proceed. Di kotak dialog CIDR Blocks of DTS Servers, klik Test Connectivity.
CatatanPastikan blok CIDR server DTS dapat ditambahkan secara otomatis atau manual ke pengaturan keamanan database sumber dan tujuan untuk mengizinkan akses dari server DTS. Untuk informasi selengkapnya, lihat Tambahkan alamat IP server DTS ke daftar putih.
Klik OK untuk memberikan izin ke akun MaxCompute Anda. Klik Test Connectivity and Proceed.
Konfigurasi objek yang akan disinkronkan.
Pada langkah Configure Objects, konfigurasikan objek yang ingin Anda sinkronkan.
Parameter
Deskripsi
Synchronization Types
Jenis sinkronisasi. Secara default, Incremental Data Synchronization dipilih. Anda juga harus memilih Schema Synchronization dan Full Data Synchronization. Setelah pemeriksaan awal selesai, DTS menyinkronkan data historis objek yang dipilih dari database sumber ke kluster tujuan. Data historis ini menjadi dasar untuk sinkronisasi inkremental berikutnya.
Naming Rules of Additional Columns
Setelah DTS menyinkronkan data ke MaxCompute, DTS menambahkan kolom tambahan ke tabel tujuan. Jika kolom tambahan memiliki nama yang sama dengan kolom yang sudah ada di tabel tujuan, tugas sinkronisasi data gagal dan kehilangan data dapat terjadi. Anda dapat memilih New Rule atau Previous Rule untuk parameter ini berdasarkan kebutuhan bisnis Anda.
PeringatanSebelum menentukan parameter ini, periksa apakah terdapat konflik nama antara kolom tambahan dan kolom yang sudah ada di tabel tujuan. Untuk informasi selengkapnya, lihat Aturan penamaan untuk kolom tambahan.
Partition Definition of Incremental Data Table
Pilih nama partisi berdasarkan kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Partisi.
Processing Mode of Conflicting Tables
Precheck and Report Errors: memeriksa apakah database tujuan berisi tabel yang memiliki nama yang sama dengan tabel di database sumber. Jika database sumber dan tujuan tidak berisi tabel dengan nama identik, pemeriksaan awal berhasil. Jika tidak, kesalahan dikembalikan selama pemeriksaan awal, dan tugas sinkronisasi data tidak dapat dimulai.
CatatanJika database sumber dan tujuan berisi tabel dengan nama yang sama dan tabel di database tujuan tidak dapat dihapus atau diganti namanya, Anda dapat menggunakan fitur pemetaan nama objek untuk mengganti nama tabel yang disinkronkan ke database tujuan. Untuk informasi selengkapnya, lihat Pemetaan nama objek.
Ignore Errors and Proceed: melewati pemeriksaan awal untuk nama tabel yang identik di database sumber dan tujuan.
PeringatanJika Anda memilih Ignore Errors and Proceed, ketidakkonsistenan data dapat terjadi dan bisnis Anda mungkin menghadapi risiko potensial.
Jika database sumber dan tujuan memiliki skema yang sama dan catatan data di database tujuan memiliki nilai kunci utama atau nilai kunci unik yang sama dengan catatan data di database sumber:
Selama sinkronisasi data penuh, DTS tidak menyinkronkan catatan data tersebut ke database tujuan. Catatan data yang sudah ada di database tujuan dipertahankan.
Selama sinkronisasi data inkremental, DTS menyinkronkan catatan data tersebut ke database tujuan. Catatan data yang sudah ada di database tujuan ditimpa.
Jika database sumber dan tujuan memiliki skema yang berbeda, inisialisasi data mungkin gagal. Dalam kasus ini, hanya beberapa kolom yang disinkronkan, atau instansi sinkronisasi data gagal. Lakukan dengan hati-hati.
Capitalization of Object Names in Destination Instance
Huruf kapital untuk nama database, nama tabel, dan nama kolom di instans tujuan. Secara default, DTS default policy dipilih. Anda dapat memilih opsi lain untuk memastikan huruf kapital nama objek konsisten dengan database sumber atau tujuan. Untuk informasi selengkapnya, lihat Tentukan huruf kapital nama objek di instans tujuan.
Source Objects
Pilih satu atau beberapa objek dari bagian Source Objects lalu klik ikon
untuk menambahkan objek ke bagian Selected Objects. CatatanAnda hanya dapat memilih tabel sebagai objek yang akan disinkronkan.
Selected Objects
Untuk mengganti nama objek yang ingin Anda sinkronkan ke instans tujuan, klik kanan objek di bagian Selected Objects. Untuk informasi selengkapnya, lihat bagian "Pemetaan nama objek tunggal" dalam topik Pemetaan nama objek.
Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas bagian Selected Objects. Untuk informasi selengkapnya, lihat bagian "Pemetaan nama beberapa objek sekaligus" dalam topik Pemetaan nama objek.
CatatanUntuk menggunakan nama baru pada tabel yang telah disinkronkan ke proyek tujuan, klik kanan tabel tersebut di bagian Selected Objects dan tentukan nama barunya. Untuk informasi selengkapnya, lihat Pemetaan nama objek.
Untuk memfilter data, klik kanan tabel yang ingin Anda sinkronkan di bagian Selected Objects. Di kotak dialog yang muncul, atur kondisi filter. Untuk informasi selengkapnya, lihat Tentukan kondisi filter.
Jika Anda menggunakan fitur pemetaan nama objek untuk mengganti nama suatu objek, objek lain yang bergantung pada objek ini mungkin gagal disinkronkan.
Klik Next: Advanced Settings untuk mengonfigurasi pengaturan lanjutan.
Parameter
Deskripsi
Dedicated Cluster for Task Scheduling
Secara default, DTS menjadwalkan tugas ke kluster bersama jika Anda tidak menentukan kluster khusus. Jika Anda ingin meningkatkan stabilitas instansi sinkronisasi data, beli kluster khusus. Untuk informasi selengkapnya, lihat Apa itu kluster khusus DTS.
Retry Time for Failed Connections
Rentang waktu percobaan ulang untuk koneksi yang gagal. Jika database sumber atau tujuan gagal terhubung setelah tugas sinkronisasi data dimulai, DTS segera mencoba menghubungkan kembali dalam rentang waktu tersebut. Nilai valid: 10 hingga 1440. Satuan: menit. Nilai default: 720. Kami menyarankan Anda mengatur parameter ini ke nilai lebih dari 30. Jika DTS berhasil menghubungkan kembali ke database sumber dan tujuan dalam rentang waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.
CatatanJika Anda menentukan rentang waktu percobaan ulang yang berbeda untuk beberapa tugas sinkronisasi data yang memiliki database sumber atau tujuan yang sama, rentang waktu percobaan ulang terpendek yang berlaku.
Saat DTS mencoba menghubungkan kembali, Anda dikenai biaya untuk instans DTS. Kami menyarankan Anda menentukan rentang waktu percobaan ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat melepas instans DTS sesegera mungkin setelah instans sumber dan tujuan dilepas.
Retry Time for Other Issues
Rentang waktu percobaan ulang untuk masalah lain. Misalnya, jika operasi DDL atau DML gagal dilakukan setelah tugas sinkronisasi data dimulai, DTS segera mencoba mengulang operasi tersebut dalam rentang waktu tersebut. Nilai valid: 1 hingga 1440. Satuan: menit. Nilai default: 10. Kami menyarankan Anda mengatur parameter ini ke nilai lebih dari 10. Jika operasi yang gagal berhasil dilakukan dalam rentang waktu yang ditentukan, DTS melanjutkan tugas sinkronisasi data. Jika tidak, tugas sinkronisasi data gagal.
PentingNilai parameter Retry Time for Other Issues harus lebih kecil daripada nilai parameter Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Selama sinkronisasi data penuh, DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan. Hal ini dapat meningkatkan beban pada server database. Anda dapat mengonfigurasi parameter Queries per second (QPS) to the source database, RPS of Full Data Migration, dan Data migration speed for full migration (MB/s) untuk tugas sinkronisasi data penuh guna mengurangi beban pada server database tujuan.
CatatanAnda hanya dapat mengonfigurasi parameter ini jika Full Data Synchronization dipilih untuk parameter Synchronization Types.
Enable Throttling for Incremental Data Synchronization
Menentukan apakah akan mengaktifkan throttling untuk sinkronisasi data inkremental. Anda dapat mengaktifkan throttling untuk sinkronisasi data inkremental berdasarkan kebutuhan bisnis Anda. Untuk mengonfigurasi throttling, Anda harus mengonfigurasi parameter RPS of Incremental Data Synchronization dan Data synchronization speed for incremental synchronization (MB/s). Hal ini mengurangi beban pada server database tujuan.
Actual Write Code
Format encoding tempat data ditulis ke database tujuan. Pilih format encoding berdasarkan kebutuhan bisnis Anda.
Environment Tag
Tag lingkungan yang digunakan untuk mengidentifikasi instans DTS. Anda dapat memilih tag lingkungan berdasarkan kebutuhan bisnis Anda. Dalam contoh ini, tidak ada tag lingkungan yang ditambahkan.
Configure ETL
Menentukan apakah akan mengaktifkan fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat Apa itu ETL? Nilai valid:
Yes: mengonfigurasi fitur ETL. Anda dapat memasukkan pernyataan pemrosesan data di editor kode. Untuk informasi selengkapnya, lihat Konfigurasi ETL dalam tugas migrasi data atau sinkronisasi data.
No: tidak mengonfigurasi fitur ETL.
Monitoring and Alerting
Menentukan apakah akan mengonfigurasi peringatan untuk instansi sinkronisasi data. Jika tugas gagal atau latensi sinkronisasi melebihi ambang batas yang ditentukan, kontak peringatan akan menerima notifikasi. Nilai valid:
No: tidak mengaktifkan peringatan.
Yes: mengonfigurasi peringatan. Dalam hal ini, Anda juga harus mengonfigurasi ambang batas peringatan dan alert notification settings. Untuk informasi selengkapnya, lihat bagian "Konfigurasi pemantauan dan peringatan saat membuat tugas DTS" dalam topik Konfigurasi pemantauan dan peringatan.
Simpan pengaturan tugas dan jalankan pemeriksaan awal.
Untuk melihat parameter yang harus ditentukan saat Anda memanggil operasi API terkait untuk mengonfigurasi tugas DTS, arahkan kursor ke Next: Save Task Settings and Precheck lalu klik Preview OpenAPI parameters.
Jika Anda tidak perlu melihat atau telah melihat parameter tersebut, klik Next: Save Task Settings and Precheck di bagian bawah halaman.
CatatanSebelum Anda dapat memulai tugas sinkronisasi data, DTS melakukan pemeriksaan awal. Anda hanya dapat memulai tugas sinkronisasi data setelah tugas tersebut lulus pemeriksaan awal.
Jika tugas sinkronisasi data gagal dalam pemeriksaan awal, klik View Details di sebelah setiap item yang gagal. Setelah Anda menganalisis penyebab berdasarkan hasil pemeriksaan, perbaiki masalah tersebut. Kemudian, jalankan kembali pemeriksaan awal.
Jika peringatan dipicu untuk suatu item selama pemeriksaan awal:
Jika item peringatan tidak dapat diabaikan, klik View Details di sebelah item yang gagal dan perbaiki masalah tersebut. Kemudian, jalankan kembali pemeriksaan awal.
Jika item peringatan dapat diabaikan, klik Confirm Alert Details. Di kotak dialog View Details, klik Ignore. Di pesan yang muncul, klik OK. Kemudian, klik Precheck Again untuk menjalankan pemeriksaan awal lagi. Jika Anda mengabaikan item peringatan, ketidakkonsistenan data dapat terjadi, dan bisnis Anda mungkin menghadapi risiko potensial.
Beli instance sinkronisasi data.
Tunggu hingga Success Rate menjadi 100%. Lalu, klik Next: Purchase Instance.
Di halaman buy, konfigurasikan parameter Metode Penagihan dan Kelas Instans untuk tugas sinkronisasi data. Tabel berikut menjelaskan parameter-parameter tersebut.
Bagian
Parameter
Deskripsi
New Instance Class
Billing Method
Subscription: Anda membayar langganan saat membuat instansi sinkronisasi data. Metode penagihan langganan lebih hemat biaya dibandingkan metode penagihan bayar sesuai pemakaian untuk penggunaan jangka panjang.
Pay-as-you-go: Instans bayar sesuai penggunaan ditagih per jam. Metode penagihan bayar sesuai pemakaian cocok untuk penggunaan jangka pendek. Jika Anda tidak lagi memerlukan instans sinkronisasi data bayar sesuai pemakaian, Anda dapat melepas instans tersebut untuk mengurangi biaya.
Resource Group Settings
Kelompok sumber daya tempat instansi sinkronisasi data berada. Nilai default: default resource group. Untuk informasi selengkapnya, lihat Apa itu Manajemen Sumber Daya?
Instance Class
DTS menyediakan kelas instans dengan kecepatan sinkronisasi yang berbeda-beda. Anda dapat memilih kelas instans berdasarkan kebutuhan bisnis Anda. Untuk informasi selengkapnya, lihat Kelas instans untuk instansi sinkronisasi data.
Subscription Duration
Jika Anda memilih metode penagihan langganan, tentukan durasi langganan dan jumlah instansi sinkronisasi data yang ingin Anda buat. Durasi langganan dapat berupa satu hingga sembilan bulan, satu tahun, dua tahun, tiga tahun, atau lima tahun.
CatatanParameter ini hanya tersedia jika Anda memilih metode penagihan Subscription.
Baca dan pilih Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start. Di kotak dialog yang muncul, klik OK.
Anda dapat melihat progres tugas di daftar tugas.
Definisi struktur tabel data inkremental
Anda harus menjalankan perintah set odps.sql.allow.fullscan=true; di MaxCompute untuk mengizinkan pemindaian tabel penuh untuk proyek MaxCompute.
DTS menyinkronkan data inkremental yang dihasilkan di database sumber ke tabel data inkremental di MaxCompute. Tabel data inkremental menyimpan data inkremental dan metadata tertentu. Tabel berikut menunjukkan skema tabel data inkremental.
Field | Deskripsi |
record_id | ID catatan log inkremental, yang merupakan pengidentifikasi unik log tersebut. Catatan
|
operation_flag | Jenis operasi. Nilai valid:
|
utc_timestamp | Stempel waktu operasi dalam UTC. Ini juga merupakan stempel waktu file log biner. |
before_flag | Menunjukkan apakah nilai kolom adalah nilai sebelum pembaruan. Nilai valid: Y dan N. |
after_flag | Menunjukkan apakah nilai kolom adalah nilai setelah pembaruan. Nilai valid: Y dan N. |