Data Management (DMS) menyediakan fitur sinkronisasi tabel bayangan untuk membuat tabel bayangan secara otomatis di database berdasarkan skema tabel sumber. Nama tabel bayangan dibentuk dengan menambahkan awalan atau akhiran pada nama tabel sumber. Sinkronisasi berkala didukung, dan fitur ini dapat digunakan dalam berbagai skenario seperti uji stres end-to-end.
Prasyarat
Database sumber dan tujuan harus termasuk dalam tipe-tipe berikut:
MySQL: ApsaraDB RDS for MySQL, PolarDB for MySQL, ApsaraDB MyBase for MySQL, PolarDB-X, AnalyticDB for MySQL V3.0, dan database MySQL lainnya.
SQL Server: ApsaraDB RDS for SQL Server, ApsaraDB MyBase for SQL Server, dan database SQL Server lainnya.
PostgreSQL: ApsaraDB RDS for PostgreSQL, PolarDB for PostgreSQL, ApsaraDB MyBase for PostgreSQL, AnalyticDB for PostgreSQL, dan database PostgreSQL lainnya.
MariaDB: ApsaraDB RDS for MariaDB dan database MariaDB lainnya.
ApsaraDB for OceanBase dalam mode MySQL.
PolarDB for PostgreSQL (Kompatibel dengan Oracle).
Izin kueri dan perubahan pada database sumber telah diberikan kepada akun Anda. Untuk informasi lebih lanjut, lihat Lihat Izin yang Dimiliki.
Aturan keamanan bernama Enable execution capability harus diaktifkan untuk database tempat Anda ingin membuat tabel bayangan. Untuk informasi lebih lanjut, lihat Aktifkan Kemampuan Eksekusi.
CatatanJika aturan ini dinonaktifkan, fitur sinkronisasi skema hanya dapat membandingkan skema dari tabel yang berbeda tetapi tidak dapat menjalankan Pernyataan SQL untuk menyinkronkan skema.
Prosedur
- Masuk ke Konsol DMS V5.0.
Di bilah navigasi atas, pilih .
CatatanJika Anda menggunakan konsol DMS dalam mode sederhana, gerakkan penunjuk ke ikon
di sudut kiri atas konsol dan pilih .Di halaman Tickets, atur parameter-parameter sesuai dengan deskripsi dalam tabel berikut. Beberapa parameter dijelaskan sebagai berikut:
Parameter
Deskripsi
Source Database
Database sumber tempat Anda ingin membuat tabel bayangan.
CatatanAnda harus memiliki izin kueri dan perubahan pada database sumber. Untuk informasi lebih lanjut, lihat Lihat izin yang dimiliki.
Prefix / Suffix
Awalan atau akhiran yang digunakan untuk menghasilkan nama tabel bayangan. Nama tersebut dapat berupa format Prefix + Nama tabel sumber atau Nama tabel sumber + Suffix. Anda dapat menggunakan awalan atau akhiran kustom sesuai kebutuhan. Secara default, format Awalan + Nama tabel sumber digunakan.
Nama tabel bayangan default:
__test_Nama tabel sumber.Synchronized Table
Tabel yang ingin Anda sinkronkan. Nilai valid:
Partial Tables: DMS membuat tabel bayangan di database sumber untuk tabel yang Anda pilih.
All Tables: DMS membuat tabel bayangan di database sumber untuk semua tabel dalam database.
Synchronization Policy
Kebijakan yang digunakan untuk sinkronisasi tabel bayangan. Nilai valid:
Synchronize Now: DMS segera melakukan sinkronisasi setelah Anda mengirimkan tiket. Dalam hal ini, sinkronisasi hanya dilakukan sekali.
Scheduled Synchronization: DMS melakukan sinkronisasi pada waktu yang ditentukan secara berkala. Anda dapat menggunakan ekspresi crontab untuk menjadwalkan sinkronisasi berdasarkan kebutuhan Anda. Untuk informasi lebih lanjut, lihat bagian Ekspresi Crontab dari topik ini.
Interval minimum untuk sinkronisasi adalah 1 jam. Secara default, sinkronisasi tabel bayangan dimulai pada pukul 02:00 setiap hari.
Whether to Ignore Error
Menentukan apakah akan melewati kesalahan yang terjadi saat Pernyataan SQL sedang dieksekusi. Nilai valid:
Not Ignore: Jika terjadi kesalahan saat Pernyataan SQL sedang dieksekusi, DMS menghentikan eksekusi Pernyataan SQL saat ini dan berikutnya.
Ignore: Jika terjadi kesalahan saat Pernyataan SQL sedang dieksekusi, DMS melewati Pernyataan SQL saat ini dan melanjutkan eksekusi Pernyataan SQL berikutnya hingga semua pernyataan tersisa dieksekusi.
- Klik Submit.DMS mulai menganalisis skema.Catatan Jika skema berubah selama analisis, klik Re-analyze di langkah Analisis Skema.
- Klik Submit for Approval dan tunggu persetujuan.
- Klik Submit and Synchronize to Target Database.
- Periksa Pernyataan SQL yang akan dieksekusi dan klik Confirm Synchronization.Setelah mengklik Konfirmasi Sinkronisasi, DMS mulai mengeksekusi Pernyataan SQL untuk menyinkronkan skema. Klik Details untuk melihat log operasi yang mencakup detail seperti Pernyataan SQL, durasi eksekusi, dan informasi penjadwalan.
Ekspresi Crontab
Anda dapat menentukan interval untuk menjalankan tugas sinkronisasi menggunakan kombinasi detik, menit, jam, hari, minggu, dan bulan. Ekspresi crontab adalah string yang terdiri dari enam bidang yang dipisahkan oleh spasi. Tabel berikut menjelaskan nilai valid untuk setiap bidang.
Bidang | Nilai Valid | Karakter Khusus yang Didukung | Deskripsi |
Detik | 0 hingga 59 | Tanda hubung (-), asterisk (*), dan garis miring (/) | Tidak Ada |
Menit | 0 hingga 59 | Tanda hubung (-), asterisk (*), dan garis miring (/) | Tidak Ada |
Jam | 0 hingga 23 | Tanda hubung (-), asterisk (*), dan garis miring (/) | Tidak Ada |
Hari | 1 hingga 31 | Tanda hubung (-), asterisk (*), tanda tanya (?), garis miring (/), L, W, dan C | Tidak Ada |
Bulan | 1 hingga 12 | JAN‒DEC, tanda hubung (-), asterisk (*), dan garis miring (/) | Tidak Ada |
Minggu | 1 hingga 7 | SUN‒SAT, tanda hubung (-), asterisk (*), tanda tanya (?), garis miring (/), L, C, dan tanda pagar (#) | Nilai 1 menunjukkan Minggu dan nilai 2 menunjukkan Senin. Dengan kata lain, tujuh hari dalam seminggu dari Minggu hingga Sabtu ditunjukkan oleh nilai 1 hingga 7. |
Anda hanya dapat menentukan nilai untuk salah satu bidang Hari atau Minggu. Jika tidak, nilai dari kedua bidang tersebut saling mempengaruhi. Jika Anda menentukan nilai untuk bidang Hari, atur bidang Minggu menjadi tanda tanya (?). Demikian pula, jika Anda menentukan nilai untuk bidang Minggu, atur bidang Hari menjadi tanda tanya (?).
Tabel berikut menjelaskan karakter khusus.
Karakter | Deskripsi | Contoh |
* | Mewakili semua nilai dari sebuah bidang. | Jika Anda mengatur bidang Menit ke asterisk (*), tugas dijalankan setiap menit. |
? | Mewakili nilai arbitrer dari sebuah bidang. Karakter ini hanya dapat digunakan di bidang Hari atau Minggu karena nilai dari kedua bidang tersebut saling mempengaruhi. | Jika Anda ingin menjadwalkan tugas untuk dijalankan pada hari kedua puluh setiap bulan, gunakan ekspresi crontab berikut: Catatan Dalam hal ini, 20 ditentukan untuk bidang Hari, sehingga Anda hanya dapat menentukan tanda tanya ( |
- | Mewakili rentang nilai. | Jika Anda menentukan 5-20 untuk bidang Menit, tugas dijalankan setiap menit dari menit kelima hingga menit kedua puluh dalam jam yang ditentukan. |
/ | Mewakili waktu mulai dan interval, yang dipisahkan oleh karakter ini. Tugas dijalankan pada waktu mulai dan kemudian pada interval yang ditentukan. | Jika Anda menentukan 5/20 untuk bidang Menit, tugas dijalankan pada interval 20 menit mulai dari menit kelima dalam jam yang ditentukan. Dalam hal ini, tugas dijalankan untuk kedua kalinya pada menit ke-25 dalam jam yang ditentukan. |
, | Mewakili daftar nilai berbeda. | Jika Anda menentukan 5,20 untuk bidang Menit, tugas dijalankan pada menit kelima dan kedua puluh dalam jam yang ditentukan. |
L | Mewakili hari atau minggu terakhir. Karakter ini hanya dapat digunakan di bidang Hari atau Minggu. | Jika Anda menentukan 5L untuk bidang Minggu, tugas dijalankan pada hari Kamis terakhir bulan yang ditentukan. |
W | Mewakili hari kerja dari Senin hingga Jumat. Karakter ini hanya dapat digunakan di bidang Hari. Tugas dijalankan pada hari kerja terdekat dari tanggal yang ditentukan. | Jika Anda menentukan 5W untuk bidang Hari, salah satu situasi berikut terjadi:
|
LW | Mewakili hari kerja terakhir dalam sebulan. | Tidak Ada |
# | Mewakili kemunculan ke-N dari hari dalam seminggu dalam sebulan. Karakter ini hanya dapat digunakan di bidang Minggu. | Jika Anda menentukan 4#2 untuk bidang Minggu, tugas dijalankan pada hari Rabu minggu kedua dalam bulan yang ditentukan.
|
Contoh ekspresi crontab:
Untuk menjadwalkan tugas agar dijalankan pada pukul 23:00 setiap Sabtu dan Minggu, gunakan ekspresi crontab berikut:
0 0 23 ? * 7,1.Untuk menjadwalkan tugas agar dijalankan pada pukul 09:30 pada hari kelima, kelima belas, dan dua puluh lima setiap bulan, gunakan ekspresi crontab berikut:
0 30 9 5,15,25 * ?.Untuk menjadwalkan tugas agar dijalankan pada pukul 00:00 setiap dua hari, gunakan ekspresi crontab berikut:
0 0 0 */2 * ?.