Memvalidasi deployment Data Guard

Setelah menyiapkan broker Data Guard, Anda harus memverifikasi bahwa pengulangan disalin dari database utama dan diterapkan pada database standby. Prosedur berikut dapat digunakan untuk memeriksa status Data Guard dari dalam database utama dan standby.

Contoh berikut digunakan di seluruh panduan ini:

Nama unik database Nama host server Nama instance RAC Peran
DBDG_SITE1 site1db1, site1db2 DBDG_SITE11, DBDG_SITE12 Kasus penggunaan
DBDG_SITE2 site2db1, site2db2 DBDG_SITE21, DBDG_SITE22 Standby

Memvalidasi deployment Data Guard

  1. Login ke server Solusi Bare Metal pertama yang menghosting database utama, lalu tetapkan variabel lingkungan ORACLE_SID agar Anda dapat terhubung ke database utama:

    source oraenv <<< "DBDG_SITE11"
    
  2. Mulai SQL*Plus, lalu tentukan nomor urut terbaru untuk log pengulangan yang diarsipkan:

    sqlplus / as sysdba
    
    SELECT THREAD#, max(SEQUENCE#) "Last Primary Seq Archived"
    FROM V$ARCHIVED_LOG VAL, V$DATABASE VDB WHERE VAL.RESETLOGS_CHANGE# =
    VDB.RESETLOGS_CHANGE# GROUP BY THREAD# ORDER BY 1;
    

    Output berikut memiliki nomor urut maksimum 40 untuk thread 1 dan nomor urut maksimum 33 untuk thread 2:

       THREAD# Last Primary Seq Archived
    ---------- -------------------------
             1                        40
             2                        33
    

    Rekam hasilnya untuk dibandingkan dengan database standby. Nomor urutan di database standby diharapkan cocok dengan database utama.

  3. Login ke server Solusi Bare Metal pertama yang menghosting database standby, lalu tetapkan variabel lingkungan ORACLE_SID agar Anda dapat terhubung ke database standby:

    source oraenv <<< "DBDG_SITE21"
    
  4. Mulai SQL*Plus, lalu validasi bahwa nomor urut terbaru yang diterima dan diterapkan untuk log pengulangan yang diarsipkan cocok dengan nomor urut terbaru di database utama:

    sqlplus / as sysdba
    
    SELECT THREAD#, max(SEQUENCE#) "Last Standby Seq Received"
    FROM V$ARCHIVED_LOG VAL, V$DATABASE VDB WHERE VAL.RESETLOGS_CHANGE# =
    VDB.RESETLOGS_CHANGE# GROUP BY THREAD# ORDER BY 1;
    
    SELECT THREAD#, max(SEQUENCE#) "Last Standby Seq Applied"
    FROM V$ARCHIVED_LOG VAL, V$DATABASE VDB WHERE VAL.RESETLOGS_CHANGE# =
    VDB.RESETLOGS_CHANGE# AND VAL.APPLIED IN ('YES','IN-MEMORY') GROUP BY
    THREAD# ORDER BY 1;
    

    Output berikut memiliki nomor urut yang cocok dengan kueri sebelumnya yang dijalankan pada database standby:

       THREAD# Last Standby Seq Received
    ---------- -------------------------
             1                        40
             2                        33
    
       THREAD# Last Standby Seq Applied
    ---------- ------------------------
             1                       40
             2                       33
    
  5. Periksa apakah status proses pemulihan terkelola adalah APPLYING_LOG:

    SELECT PROCESS, STATUS FROM V$MANAGED_STANDBY WHERE PROCESS LIKE '%MRP%';
    

    Contoh berikut menunjukkan satu proses pemulihan terkelola bernama MRP0 dengan status APPLYING_LOG:

    PROCESS   STATUS
    --------- ------------
    MRP0      APPLYING_LOG
    
  6. Periksa apakah ada transportasi atau terapkan jeda pada database standby:

    COLUMN NAME FORMAT a20
    COLUMN VALUE FORMAT a30
    SELECT NAME, VALUE FROM V$DATAGUARD_STATS WHERE NAME LIKE '%lag%';
    

    Output berikut tidak menunjukkan jeda pada database standby:

    NAME                 VALUE
    -------------------- ------------------------------
    transport lag        +00 00:00:00
    apply lag            +00 00:00:00
    

    Jika terjadi keterlambatan, baca dokumentasi pemecahan masalah Oracle Data Guard.

Peralihan database menggunakan broker Data Guard

Pengalihan adalah pembalikan peran saat database utama menjadi database standby, dan sebaliknya. Selama proses pengalihan, klien database terputus dari database utama. Bergantung pada cara aplikasi Anda terhubung ke database, switchover dapat mengganggu traffic aplikasi. Oracle menawarkan opsi untuk mempertahankan kontinuitas aplikasi selama transisi peran. Anda dapat menguji kesiapan pemulihan dari bencana (disaster recovery) dengan melakukan pengalihan database menggunakan petunjuk berikut:

  1. Login ke server Solusi Bare Metal yang menghosting database utama.

  2. Luncurkan antarmuka command line Data Guard dan hubungkan ke database standby:

    dgmgrl
    
    CONNECT SYS@DBDG_SITE2
    
  3. Saat dimintai sandi, masukkan sandi login jarak jauh SYS untuk database.

  4. Periksa apakah database siap untuk peralihan.

    VALIDATE DATABASE DBDG_SITE2;
    

    Hasil yang sukses akan melaporkan bahwa database siap untuk peralihan.

  5. Jika berhasil, lakukan perintah switchover:

    SWITCHOVER TO DBDG_SITE2;
    

    Jika perintah berhasil, Anda akan menerima pesan bahwa DBDG_SITE2 adalah database utama baru dalam konfigurasi.

  6. Jalankan perintah berikut untuk mengonfirmasi bahwa peran database bertukar:

    SHOW CONFIGURATION;
    
  7. Jalankan perintah berikut untuk kembali ke konfigurasi awal:

    SWITCHOVER TO DBDG_SITE1;
    

Failover database menggunakan broker Data Guard

Failover adalah transisi peran saat salah satu database standby beralih ke peran utama karena pemadaman layanan situs secara total. Ulangi tidak akan dikirim ke database standby hingga database standby telah diaktifkan kembali.

Melakukan failover

  1. Login ke server Solusi Bare Metal pertama yang menghosting database standby.

  2. Hubungkan ke antarmuka command line Data Guard, lalu alihkan database utama ke database standby:

    dgmgrl
    
    CONNECT SYS@DBDG_SITE2
    
  3. Saat dimintai sandi, masukkan sandi login jarak jauh SYS untuk database.

  4. Memulai failover:

    FAILOVER TO DBDG_SITE2
    

    Jalankan show configuration; untuk memverifikasi bahwa DBDG_SITE2 kini menjadi database utama, dan DBDG_SITE1 harus diaktifkan kembali.

Mengaktifkan kembali database utama

Anda hanya dapat mengaktifkan kembali database utama setelah failover jika flashback database diaktifkan. Untuk mengaktifkan kembali database utama yang gagal:

  1. Login ke server Solusi Bare Metal pertama yang menghosting database utama.

  2. Hubungkan ke antarmuka command line Data Guard, login ke database utama, lalu aktifkan kembali database yang gagal:

    dgmgrl
    
    CONNECT SYS@DBDG_SITE2
    

    Saat dimintai sandi, masukkan sandi login jarak jauh SYS untuk database.

  3. Aktifkan kembali database:

    REINSTATE DATABASE DBDG_SITE1;
    EXIT;
    

Langkah berikutnya

Selanjutnya, siapkan observer Data Guard di Compute Engine.