Menggunakan file log pengulangan database Oracle

Database Migration Service memanfaatkan Oracle LogMiner API, yang merupakan bagian dari Oracle Database, untuk mengirim kueri ke file log pengulangan yang diarsipkan. File ini berisi informasi tentang histori aktivitas di database. Setiap database Oracle memiliki serangkaian file log pengulangan online. Semua catatan transaksi di database dicatat dalam file.

Saat file log redo saat ini dirotasi (atau dialihkan), proses pengarsipan akan menyalin file ini ke penyimpanan arsip. Sementara itu, database mempromosikan file lain untuk berfungsi sebagai file saat ini.

Saat menggunakan Oracle LogMiner API, Database Migration Service tidak mengakses file log pengulangan online, tetapi hanya berfungsi dengan file log yang diarsipkan. Mengakses file log redo yang diarsipkan secara inheren akan menambah beberapa latensi pada proses migrasi. Halaman ini menjelaskan konfigurasi yang disarankan untuk database sumber Oracle Anda guna mengontrol dampak latensi.

Menetapkan parameter konfigurasi untuk file log pengulangan Oracle

Desain ini memiliki implikasi besar pada potensi latensi Database Migration Service. Jika file log pengulangan Oracle sering diganti atau dipertahankan dalam ukuran yang lebih kecil (misalnya, < 256 MB), Database Migration Service dapat mereplikasi perubahan lebih cepat.

Ada parameter konfigurasi yang dapat Anda tetapkan untuk mengontrol frekuensi rotasi file log:

  • Ukuran: File log pengulangan online memiliki ukuran minimum 4 MB, dan ukuran default bergantung pada sistem operasi Anda. Anda dapat mengubah ukuran file log dengan membuat file log online baru dan menghapus file log yang lebih lama.

    Untuk menemukan ukuran file log pengulangan online, jalankan kueri berikut:

    SELECT GROUP#, STATUS, BYTES/1024/1024 MB FROM V$LOG
  • Waktu: Parameter ARCHIVE_LAG_TARGET memberikan batas atas durasi (dalam detik) rentang log saat ini dari database utama.

    Ini bukan waktu peralihan log yang tepat, karena memperhitungkan berapa lama waktu yang dibutuhkan untuk mengarsipkan log. Nilai defaultnya adalah 0 (tanpa batas atas), dan nilai 1800 (atau 30 menit) atau kurang yang wajar disarankan.

    Anda dapat menggunakan perintah berikut untuk menetapkan parameter ARCHIVE_LAG_TARGET, baik selama inisialisasi maupun saat database aktif:

    • SHOW PARAMETER ARCHIVE_LAG_TARGET; Perintah ini menampilkan berapa detik yang diperlukan untuk mencakup log saat ini.
    • ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds; Gunakan perintah ini untuk mengubah batas atas.

      Misalnya, untuk menyetel batas atas menjadi 10 menit (atau 600 detik), masukkan ALTER SYSTEM SET ARCHIVE_LAG_TARGET = 600;