Menggunakan file log pengulangan database Oracle

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

Saat file redo log 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 ulangi online, tetapi hanya berfungsi dengan file log yang diarsipkan. Mengakses file redo log yang diarsipkan secara inheren akan menambahkan beberapa latensi ke proses migrasi. Halaman ini menjelaskan konfigurasi yang disarankan untuk database sumber Oracle Anda guna mengontrol dampak latensi.

Menetapkan parameter konfigurasi untuk file redo log Oracle

Desain ini memiliki implikasi besar pada potensi latensi Database Migration Service. Jika file redo log Oracle sering dialihkan atau disimpan ke 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 redo log 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 redo log online, jalankan kueri berikut:

    SELECT GROUP#, STATUS, BYTES/1024/1024 MB FROM V$LOG
  • Waktu: Parameter ARCHIVE_LAG_TARGET memberikan batas atas berapa lama (dalam detik) log utama database utama dapat mencakup.

    Ini bukan waktu pengalihan log yang tepat, karena memperhitungkan berapa lama waktu yang diperlukan 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 agar log saat ini mencakup.
    • ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds; Gunakan perintah ini untuk mengubah batas atas.

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