Bekerja dengan file log ulangi database Oracle

Ringkasan

Datastream memanfaatkan Oracle LogMiner, yang merupakan bagian dari Oracle Database, untuk mengkueri file log pengulangan yang diarsipkan. File ini berisi informasi tentang histori aktivitas di database.

Setiap database Oracle memiliki sekumpulan file log redo {i>online<i}. Semua catatan transaksi pada database dicatat dalam file.

Saat file log ulangi saat ini dirotasi (atau dialihkan), proses arsip akan menyalin file ini ke penyimpanan arsip. Sementara itu, {i>database<i} mempromosikan file lain untuk berfungsi sebagai file saat ini.

Konektor Oracle Datastream mengekstrak peristiwa change data capture (CDC) dari file log pengulangan Oracle yang diarsipkan.

Menetapkan parameter konfigurasi untuk file log pengulangan Oracle

Desain ini memiliki implikasi mendalam pada potensi latensi Datastream. Jika file log pengulangan Oracle sering dialihkan atau disimpan ke ukuran yang lebih kecil (misalnya, < 256 MB), Datastream dapat mereplikasi perubahan dengan lebih cepat.

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

  • Ukuran: File log ulangi online memiliki ukuran minimal 4 MB, dan ukuran default-nya bergantung pada sistem operasi Anda. Anda dapat mengubah ukuran file log dengan membuat file log {i>online<i} baru dan melepaskan 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 maksimum durasi (dalam detik) log saat ini dari database utama.

    Waktu ini bukan waktu yang tepat untuk beralih log, karena memperhitungkan waktu yang diperlukan untuk mengarsipkan log. Nilai defaultnya adalah 0 (tanpa batas atas), dan sebaiknya gunakan nilai yang wajar sebesar 1800 (atau 30 menit) atau kurang.

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

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

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