Topik ini menjelaskan cara menggunakan Data Transmission Service (DTS) untuk menyinkronkan data dari kluster PolarDB for MySQL ke database Oracle yang dikelola sendiri.
Prasyarat
Database Oracle yang dikelola sendiri berjalan dalam mode ARCHIVELOG. File log arsip harus dapat diakses, dan periode retensi yang sesuai harus ditetapkan. Untuk informasi selengkapnya, lihat Managing Archived Redo Log Files.
Supplemental logging diaktifkan untuk database Oracle yang dikelola sendiri, termasuk SUPPLEMENTAL_LOG_DATA_PK dan SUPPLEMENTAL_LOG_DATA_UI. Untuk informasi selengkapnya, lihat Supplemental Logging.
Jika database Oracle yang dikelola sendiri merupakan database Oracle Real Application Clusters (RAC), database tersebut harus terhubung ke Alibaba Cloud melalui virtual private cloud (VPC). Setiap alamat IP Single Client Access Name (SCAN) dari database Oracle RAC dan alamat IP virtual (VIP) setiap node harus terhubung ke VPC, serta aturan routing harus dikonfigurasi. Hal ini memastikan tugas DTS berjalan sebagaimana mestinya. Untuk informasi selengkapnya, lihat Connect an on-premises database to Alibaba Cloud dan Connect a data center to DTS by using VPN Gateway.
Catatan penggunaan
- Selama sinkronisasi skema, DTS menyinkronkan foreign keys dari database sumber ke database tujuan.
- Selama sinkronisasi data penuh awal dan sinkronisasi data inkremental, DTS secara sementara menonaktifkan pemeriksaan kendala kunci asing dan operasi kaskade kunci asing pada tingkat session. Jika Anda melakukan operasi cascade update atau delete pada database sumber selama sinkronisasi data, ketidakkonsistenan data dapat terjadi.
Batasan pada database sumber
Tabel yang akan disinkronkan harus memiliki kendala PRIMARY KEY atau UNIQUE, dan semua field harus unik. Jika tidak, database tujuan mungkin berisi catatan data duplikat.
Jika Anda memilih tabel sebagai objek yang akan disinkronkan dan perlu mengedit tabel tersebut (misalnya mengganti nama tabel atau kolom) di database tujuan, Anda dapat menyinkronkan hingga 1.000 tabel dalam satu tugas sinkronisasi data. Jika suatu tugas menyinkronkan lebih dari 1.000 tabel, terjadi error permintaan. Untuk menghindarinya, konfigurasikan beberapa tugas untuk menyinkronkan tabel tersebut, atau konfigurasikan satu tugas untuk menyinkronkan seluruh database.
Untuk menyinkronkan data inkremental, Anda harus mengaktifkan fitur binary logging dan mengatur parameter
loose_polar_log_binke on. Jika tidak, pesan error akan ditampilkan selama Pemeriksaan Awal dan tugas sinkronisasi data tidak dapat dimulai. Untuk informasi selengkapnya tentang mengaktifkan binary logging dan mengatur parameter loose_polar_log_bin, lihat Enable binary logging dan Modify parameters.Catatan - Mengaktifkan fitur binary logging untuk kluster PolarDB for MySQL akan dikenakan biaya untuk storage space yang digunakan oleh log biner. - Untuk tugas sinkronisasi data inkremental, simpan log biner database sumber selama minimal 24 jam. Untuk tugas sinkronisasi data penuh awal dan inkremental, simpan log biner selama minimal tujuh hari. Jika tidak, DTS mungkin gagal mendapatkan log biner dan tugas dapat gagal. Dalam kondisi luar biasa, ketidakkonsistenan atau kehilangan data dapat terjadi. Setelah sinkronisasi data penuh awal selesai, Anda dapat mengurangi periode retensi menjadi lebih dari 24 jam. Pastikan Anda menetapkan periode retensi sesuai persyaratan di atas. Jika tidak, SLA DTS tidak menjamin keandalan atau kinerja layanan.
Batasan lainnya
Node read-only dari kluster PolarDB for MySQL sumber tidak dapat disinkronkan.
Sebelum menyinkronkan data, evaluasi dampak sinkronisasi data terhadap kinerja database sumber dan tujuan. Kami menyarankan agar Anda melakukan sinkronisasi data selama jam sepi. Selama sinkronisasi data penuh awal, DTS menggunakan sumber daya baca dan tulis dari database sumber dan tujuan, yang dapat meningkatkan beban pada server database.
Selama sinkronisasi data penuh awal, operasi INSERT konkuren menyebabkan fragmentasi pada tabel di database tujuan. Setelah sinkronisasi data penuh awal selesai, ruang tabel database tujuan lebih besar daripada database sumber.
Jangan gunakan alat seperti pt-online-schema-change untuk melakukan operasi DDL pada tabel sumber selama sinkronisasi data. Jika tidak, sinkronisasi data dapat gagal.
Jika hanya DTS yang menulis data ke database tujuan, Anda dapat menggunakan Data Management (DMS) untuk melakukan operasi DDL Online pada tabel sumber selama sinkronisasi data. Untuk informasi selengkapnya, lihat Perform lock-free operations.
Selama sinkronisasi data, kami menyarankan agar Anda hanya menggunakan DTS untuk menulis data ke database tujuan. Hal ini mencegah ketidakkonsistenan data antara database sumber dan tujuan. Jika Anda menggunakan alat selain DTS untuk menulis data ke database tujuan, kehilangan data dapat terjadi saat Anda menggunakan DMS untuk melakukan operasi DDL Online.
Jika database Oracle yang dikelola sendiri merupakan database Oracle RAC, Anda hanya dapat menggunakan satu alamat IP virtual (VIP) dan bukan alamat IP Single Client Access Name (SCAN) saat mengonfigurasi tugas sinkronisasi data. Setelah Anda menentukan VIP, failover node pada database Oracle RAC tidak didukung.
Catatan penggunaan tambahan
DTS menjalankan pernyataan CREATE DATABASE IF NOT EXISTS test di database sumber secara terjadwal untuk memajukan posisi file log biner.
Penagihan
| Jenis sinkronisasi | Biaya konfigurasi tugas |
|---|---|
| Sinkronisasi skema dan sinkronisasi data penuh | Gratis. |
| Sinkronisasi data inkremental | Dikenakan biaya. Untuk informasi selengkapnya, lihat Billing overview. |
Topologi sinkronisasi yang didukung
Sinkronisasi satu arah satu-ke-satu
Sinkronisasi satu arah satu-ke-banyak
Sinkronisasi satu arah kaskade
Sinkronisasi satu arah banyak-ke-satu
Untuk informasi selengkapnya tentang topologi sinkronisasi yang didukung oleh DTS, lihat Synchronization topologies.
Operasi SQL yang dapat disinkronkan
| Jenis operasi | Pernyataan SQL |
|---|---|
| DML | INSERT, UPDATE, dan DELETE |
| DDL | CREATE TABLE, ALTER TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, ADD COLUMN, DROP COLUMN, MODIFY COLUMN, RENAME COLUMN, CREATE INDEX, dan DROP INDEX |
Prosedur
Buka halaman Tugas Sinkronisasi Data.
Masuk ke Konsol Data Management (DMS).
Di bilah navigasi atas, klik DTS.
Di panel navigasi kiri, pilih DTS (DTS) > Sinkronisasi Data.
Catatan - Operasi dapat berbeda tergantung pada mode dan tata letak Konsol DMS. Untuk informasi selengkapnya, lihat Simple mode dan Configure the DMS console based on your business requirements. - Anda juga dapat membuka halaman Tugas Sinkronisasi Data di Konsol DTS baru.Dari daftar drop-down di sebelah kanan Tugas Sinkronisasi Data, pilih wilayah tempat instans sinkronisasi data berada.
Catatan Jika Anda menggunakan Konsol DTS baru, pilih wilayah di bilah navigasi atas.Klik Create Task. Pada halaman yang muncul, konfigurasikan database sumber dan tujuan.
Pengaturan umum
Parameter Deskripsi Task Name DTS secara otomatis menghasilkan nama tugas. Kami menyarankan agar Anda menentukan nama yang informatif untuk mengidentifikasi tugas tersebut. Anda tidak perlu menggunakan nama tugas yang unik. Pengaturan Database Sumber
Parameter Deskripsi Select Instance Menentukan apakah akan menggunakan instans yang sudah ada. Jika Anda memilih instans yang sudah ada, DTS secara otomatis menerapkan pengaturan parameternya dan Anda tidak perlu mengonfigurasi parameter yang sesuai lagi. Jika Anda tidak menggunakan instans yang sudah ada, Anda harus mengonfigurasi parameter untuk database sumber. Database Type Jenis database sumber. Pilih PolarDB for MySQL. Access Method Metode akses database sumber. Pilih Alibaba Cloud Instance. Instance Region Wilayah tempat kluster PolarDB for MySQL sumber berada. Replicate Data Across Alibaba Cloud Accounts Menentukan apakah akan menyinkronkan data lintas Akun Alibaba Cloud. Dalam contoh ini, No dipilih. PolarDB Cluster ID ID kluster PolarDB for MySQL sumber. Database Account Akun database kluster PolarDB for MySQL sumber. Akun tersebut harus memiliki izin baca pada objek yang akan disinkronkan. Database Password Kata sandi akun database. Destination Database
Parameter Deskripsi Select Instance Menentukan apakah akan menggunakan instans yang sudah ada. Jika Anda memilih instans yang sudah ada, DTS secara otomatis menerapkan pengaturan parameternya dan Anda tidak perlu mengonfigurasi parameter yang sesuai lagi. Jika Anda tidak menggunakan instans yang sudah ada, Anda harus mengonfigurasi parameter untuk database tujuan. Database Type Jenis database tujuan. Pilih Oracle. Access Method Metode akses database tujuan. Pilih metode akses berdasarkan penerapan database tujuan. Dalam contoh ini, Self-managed Database on ECS dipilih. PentingJika Anda mengatur parameter ini ke nilai yang berbeda, Anda harus menyiapkan lingkungan yang diperlukan untuk database yang dikelola sendiri. Untuk informasi selengkapnya, lihat Preparation overview.
Instance Region Wilayah tempat database Oracle tujuan berada. ECS Instance ID ID instance Elastic Compute Service (ECS) yang menghosting database Oracle yang dikelola sendiri. Port number Nomor port layanan database Oracle yang dikelola sendiri. Nilai default: 1521. Oracle Type Arsitektur database Oracle. Jika Anda memilih Non-RAC Instance, Anda harus menentukan parameter SID. Jika Anda memilih RAC or PDB Instance, Anda harus menentukan parameter Service Name. Database Account Akun database Oracle yang dikelola sendiri. Database Password Kata sandi akun database. Di bagian bawah halaman, klik Test Connectivity and Proceed.
Peringatan- Jika database sumber atau tujuan adalah instans database Alibaba Cloud, seperti instans ApsaraDB RDS for MySQL atau ApsaraDB for MongoDB, DTS secara otomatis menambahkan blok CIDR server DTS ke daftar putih instans tersebut. Untuk informasi selengkapnya, lihat Add the CIDR blocks of DTS servers to the security settings of on-premises databases. Jika database sumber atau tujuan adalah database yang dikelola sendiri yang dihosting pada instance Elastic Compute Service (ECS), DTS secara otomatis menambahkan blok CIDR server DTS ke aturan grup keamanan instance ECS tersebut. Anda juga harus secara manual menambahkan blok CIDR server DTS ke daftar putih database yang dikelola sendiri pada instance ECS tersebut. Jika database sumber atau tujuan adalah database yang dikelola sendiri yang diterapkan di pusat data atau disediakan oleh penyedia layanan cloud pihak ketiga, Anda harus secara manual menambahkan blok CIDR server DTS ke daftar putih database tersebut. - Menambahkan blok CIDR server DTS ke daftar putih atau aturan grup keamanan ECS (secara otomatis atau manual) dapat menimbulkan risiko keamanan. Sebelum menggunakan DTS untuk menyinkronkan data, Anda harus memahami dan mengakui risiko potensial ini serta mengambil langkah pencegahan. Langkah-langkah tersebut mencakup tetapi tidak terbatas pada: meningkatkan keamanan username dan password Anda, membatasi port yang terbuka, mengautentikasi panggilan API, memeriksa daftar putih atau aturan grup keamanan ECS secara berkala dan menghapus blok CIDR yang tidak sah, atau menghubungkan database ke DTS melalui Express Connect, VPN Gateway, atau Smart Access Gateway. - Setelah tugas DTS selesai atau dirilis, kami menyarankan agar Anda secara manual menghapus blok CIDR server DTS dari daftar putih atau aturan grup keamanan ECS. Hapus grup daftar putih alamat IP yang namanya mengandung
dtsdari daftar putih instans database Alibaba Cloud atau aturan grup keamanan instance ECS. Untuk informasi selengkapnya tentang blok CIDR yang harus dihapus dari daftar putih database yang dikelola sendiri di pusat data atau layanan cloud pihak ketiga, lihat Add the CIDR blocks of DTS servers to the security settings of on-premises databases.Pilih objek untuk tugas dan konfigurasikan pengaturan lanjutan.
Parameter Deskripsi Task Stages 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 database tujuan. Data historis tersebut menjadi dasar untuk sinkronisasi inkremental berikutnya. Processing Mode of Conflicting Tables Precheck and Report Errors: memeriksa apakah database tujuan berisi tabel dengan nama yang sama seperti tabel di database sumber. Jika tidak ada nama tabel yang identik, Pemeriksaan Awal lolos. Jika tidak, error ditampilkan selama Pemeriksaan Awal, dan tugas sinkronisasi data tidak dapat dimulai. CatatanJika database sumber dan tujuan berisi nama tabel yang identik 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 Map object names. 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 terpapar risiko potensial. Jika database sumber dan tujuan memiliki skema yang sama dan sebuah catatan data memiliki nilai primary key yang sama dengan catatan data yang ada di database tujuan: Selama sinkronisasi data penuh, DTS tidak menyinkronkan catatan data tersebut ke database tujuan dan catatan data yang ada di database tujuan tetap dipertahankan. Selama sinkronisasi data inkremental, DTS menyinkronkan catatan data tersebut ke database tujuan dan catatan data yang ada di database tujuan ditimpa. Jika database sumber dan tujuan memiliki skema yang berbeda, sinkronisasi data awal dapat gagal. Dalam kasus ini, hanya beberapa kolom yang disinkronkan, atau tugas sinkronisasi data gagal.
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 Specify the capitalization of object names in the destination instance. Source Objects Pilih satu atau beberapa objek dari bagian Source Objects dan klik ikon
untuk menambahkannya ke bagian Selected Objects. CatatanAnda dapat memilih kolom, tabel, atau database sebagai objek yang akan disinkronkan. Jika Anda memilih tabel atau kolom, DTS tidak menyinkronkan objek lain seperti views, triggers, atau stored procedures ke database tujuan.
Selected Objects Untuk mengganti nama objek yang ingin Anda sinkronkan ke instans tujuan, klik kanan objek tersebut di bagian Selected Objects. Untuk informasi selengkapnya, lihat Map the name of a single object. Untuk mengganti nama beberapa objek sekaligus, klik Batch Edit di pojok kanan atas bagian Selected Objects. Untuk informasi selengkapnya, lihat Map multiple object names at a time. Klik Next: Advanced Settings untuk mengonfigurasi pengaturan lanjutan.
Parameter Deskripsi Set Alerts Menentukan apakah akan mengonfigurasi Peringatan untuk tugas sinkronisasi data. Jika tugas gagal atau latensi sinkronisasi melebihi ambang batas yang ditentukan, kontak peringatan akan menerima Notifikasi. Nilai yang valid: No (tidak mengonfigurasi Peringatan) dan Yes (mengonfigurasi Peringatan). Jika Anda memilih Yes, Anda juga harus menentukan ambang batas peringatan dan kontak peringatan. Untuk informasi selengkapnya, lihat Configure monitoring and alerting when you create a DTS task. Retry Time for Failed Connection 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 yang ditentukan. Nilai yang valid: 10 hingga 1.440. Satuan: menit. Nilai default: 720. Kami menyarankan agar 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 mengatur rentang waktu percobaan ulang yang berbeda untuk beberapa tugas DTS yang menggunakan database sumber atau tujuan yang sama, rentang waktu percobaan ulang terpendek yang berlaku. DTS membebankan biaya kepada Anda untuk instans DTS selama percobaan ulang. Kami menyarankan agar Anda menentukan rentang waktu percobaan ulang berdasarkan kebutuhan bisnis Anda. Anda juga dapat merilis instans DTS sesegera mungkin setelah instans sumber dan tujuan dirilis.
Configure ETL Menentukan apakah akan mengonfigurasi fitur ekstrak, transformasi, muat (ETL). Untuk informasi selengkapnya, lihat What is ETL?. Nilai yang valid: Yes (mengonfigurasi fitur ETL; Anda dapat memasukkan pernyataan pemrosesan data di editor kode; untuk informasi selengkapnya, lihat Configure ETL in a data migration or data synchronization task) dan No (tidak mengonfigurasi fitur ETL). Whether to delete SQL operations on heartbeat tables of forward and reverse tasks Menentukan apakah akan menulis operasi SQL pada tabel heartbeat ke database sumber selama instans DTS berjalan. Yes: tidak menulis operasi SQL pada tabel heartbeat. Dalam hal ini, instans DTS mungkin menampilkan latensi. No: menulis operasi SQL pada tabel heartbeat. Dalam hal ini, fitur tertentu seperti backup fisik dan cloning database sumber mungkin terpengaruh. Di bagian bawah halaman, klik Next: Save Task Settings and Precheck.
Catatan - Sebelum Anda dapat memulai tugas sinkronisasi data, DTS melakukan Pemeriksaan Awal. Anda hanya dapat memulai tugas sinkronisasi data setelah tugas tersebut lolos Pemeriksaan Awal. - Jika tugas gagal lolos Pemeriksaan Awal, klik View Details di sebelah setiap item yang gagal. Analisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut, lalu jalankan Pemeriksaan Awal lagi. - Jika peringatan muncul untuk suatu item selama Pemeriksaan Awal, lakukan salah satu tindakan berikut berdasarkan skenario Anda: - Jika Anda tidak dapat mengabaikan item peringatan tersebut, klik View Details di sebelah item yang gagal. Analisis penyebab berdasarkan hasil pemeriksaan, atasi masalah tersebut, lalu jalankan Pemeriksaan Awal lagi. - Jika Anda dapat mengabaikan item peringatan tersebut, klik Confirm Alert Details di sebelah item yang gagal. Di kotak dialog View Details, klik Ignore. Di pesan yang muncul, klik OK. Lalu, klik Precheck Again untuk menjalankan Pemeriksaan Awal lagi. Jika Anda mengabaikan item peringatan tersebut, ketidakkonsistenan data dapat terjadi, dan bisnis Anda mungkin terpapar risiko potensial.Tunggu hingga tingkat keberhasilan mencapai 100%. Lalu, klik Next: Purchase Instance.
Di halaman Purchase Instance, konfigurasikan parameter Billing Method dan Instance Class untuk instans sinkronisasi data. Tabel berikut menjelaskan parameter tersebut.
Bagian Parameter Deskripsi New Instance Class Billing Method Subscription: Anda membayar instans saat membuatnya. Metode penagihan subscription lebih hemat biaya dibandingkan pay-as-you-go untuk penggunaan jangka panjang. Pay-as-you-go: Instans dikenakan biaya per jam. Metode penagihan ini cocok untuk penggunaan jangka pendek. Jika Anda tidak lagi memerlukan instans pay-as-you-go, Anda dapat merilisnya untuk mengurangi biaya. Instance Class DTS menyediakan beberapa kelas instans dengan kecepatan sinkronisasi berbeda. Pilih kelas instans berdasarkan skenario bisnis Anda. Untuk informasi selengkapnya, lihat Specifications of data synchronization instances. Subscription Duration Jika Anda memilih metode penagihan subscription, atur durasi langganan dan jumlah instans yang akan dibuat. Durasi langganan dapat berupa satu hingga sembilan bulan atau satu hingga tiga tahun. CatatanParameter ini hanya ditampilkan jika Anda memilih metode penagihan subscription.
Baca dan centang kotak untuk Data Transmission Service (Pay-as-you-go) Service Terms.
Klik Buy and Start untuk memulai tugas sinkronisasi data. Anda dapat melihat progres tugas di daftar tugas.