Dataguard 10g: Administrasi Physical Standby DB

Setelah semua persiapan beres dan standby database selesai dibuat, sekarang kita coba administrasinya.

MONITOR ARCHIVED LOG DI STANDBY DATABASE
Di standby database, lihat archived log yang sudah dan belum diapply:
SQL> set lines 120
SQL> col name for a50
SQL> select name,to_char(FIRST_TIME,'dd-mon-yy hh24:mi:ss') TIME ,SEQUENCE#,APPLIED from v$archived_log order by sequence#;

Misalkan hasilnya berikut ini (kolom TIME tidak ditampilkan, untuk menghemat space)
NAME--------------------- SEQUENCE#------ APPLIED
=================================================
/oradata/oracle/ts/arc106_1_655805448.arc 106 YES
/oradata/oracle/ts/arc107_1_655805448.arc 107 YES
/oradata/oracle/ts/arc108_1_655805448.arc 108 YES
/oradata/oracle/ts/arc110_1_655805448.arc 110 NO
/oradata/oracle/ts/arc111_1_655805448.arc 111 NO
/oradata/oracle/ts/arc112_1_655805448.arc 112 NO
/oradata/oracle/ts/arc113_1_655805448.arc 113 NO
/oradata/oracle/ts/arc114_1_655805448.arc 114 NO

Berdasarkan hasil query di atas, pastikan bahwa:

  1. Sequence harus urut.
    Kalau ada sequence yang tidak urut (atau ada gap), itu berarti ada archived log yang tidak terkirim, alasannya bisa bermacam-macam, misalnya karena network error atau standby database sempat mati. Pada contoh di atas, ada gap pada sequence 109. Kalau seperti itu:

    1. Archived log harus ada (dicopy manual dari database primary, atau di-restore dari backup)
    2. Register archived yang baru saja di-restore itu
      SQL> ALTER DATABASE REGISTER
      LOGFILE '/oradata/oracle/ts/arc109_1_655805448.arc';

      Setelah diregister, archived log sequence 109 harusnya sudah masuk kedalam list di view v$archived_log
  2. Kolom APPLIED harus bernilai YES, artinya archived log sudah di-apply
    Archived log belum di-apply itu ada 2 kemungkinan:

    1. Ada GAP. Contoh di atas SEQUENCE# 110 belum di-apply karena ada gap di sequence atasnya (SEQUENCE# 109). Solusinya sudah disebut di atas
    2. Proses recovery berhenti. Solusinya, jalankan lagi
      SQL> alter database recover managed standby database disconnect;

STARTUP DAN SHUTDOWN

  1. startup
    SQL> STARTUP MOUNT;Setelah itu, apply archived log secara background
    SQL> alter database recover managed standby database disconnect;
  2. Shutdown. Matikan dulu proses recovery-nya
    SQL> alter database recover managed standby database cancel;Setelah itu, baru shutdown
    SQL> SHUTDOWN IMMEDIATE;

Mode Recovery dan Open Read Only

  1. standby database bisa dibuat Open (hanya READ ONLY, tidak bisa READ WRITE) sehingga kita bisa melakukan query. Biasanya ini dilakukan untuk tujuan reporting. Untuk menjadilkan mode open read only, matikan dulu proses recoverynya
    SQL> alter database recover managed standby database cancel;Setelah itu, alter database open
    SQL> alter database open read only;
  2. setelah selesai dengan query reporting, kita bisa mengembalikan database ke mode recovery lagi.
    SQL> alter database close;
    SQL> alter database recover managed standby database disconnect;

Referensi:
Oracle® Data Guard Concepts and Administration, 10g Release 2 (10.2) – Managing a Physical Standby Database

This entry was posted in Dataguard and tagged , , , , , . Bookmark the permalink.

11 Responses to Dataguard 10g: Administrasi Physical Standby DB

  1. Homsan says:

    wah .. lengkap juga nich tutorialnya …
    thankyu mas…

    btw aku ada pertanyaan nich , kalo misal aku punya 3 database aktif , untuk membuat standby database ini aku harus nyediain 3 komputer atau bisa dengan 1 komputer aja dengan 3 instance ..???

  2. rohmadne says:

    Ya…
    Kita bisa membuat standby database di mesin yang sama dengan primary database.

  3. masdi2t says:

    Tetapi kalau standby database ada di 1 mesin dengan primary-nya, keuntungan HA tidak tercapai.
    Mesin jadi berat karena ada 2 instance dan juga menjadi single point of failure, misal jika terjadi kerusakan h/w, kemungkinan primary dan standby akan rusak bersamaan.

    -masdi2t-

  4. rohmadne says:

    Rekan Masdi2t benar, kalau masih dalam 1 mesin, manfaat High Availability (HA) nya tidak optimal.

  5. Homsan says:

    wah sipp penjelasannya …

    cuman saya masih bingung , kalo misal primarynya mati / server Hang misalnya .. untuk switch ke standbynya gimana yach ..??

    apakah bisa otomatis …???
    terus di sisi client .. apakah merasakan jeda dari perpindahan tsb ( transaksi terhenti ??? )

  6. rohmadne says:

    Kalau mesin primary mati, kita bisa mengaktifkan mesin secondary untuk menjadi primary. Namun ini kita lakukan secara manual (tidak otomatis). Tentu saja, dari sisi client akan ada downtime.

  7. Qq says:

    Alo pak rohmad…
    maw tanya ni..

    Jika saya ingin buat standby db system pada 2 komputer di lab untuk Tugas Akhir, akan tetapi komputer2 tersebut masih dipakai lab untuk kegiatan praktikum (beda OSnya dengan OS tmpat oracle saya), sehingga sering direstart..
    Kira2 apa akibatnya utk primary db dan standby dbnya?
    Apa stelah standby system saya sudah beres,kemudian dipakai praktikum (direstart lagi), standby system saya akan rusak?

    Jika iya, ada usul utk penanganan hal tsb?
    (apa dgn deep freeze)?

    Satu lagi…
    Pak rohmad ga buat stndby log file ya?
    sebab saya ingin menerapkan ketiga data protection mode pada Tugas Akhir saya..

    oia sbelumnya dulu saya juga sudah pernah buat standby system untuk riset saya..akan tetapi dulu hanya implementasi saja,sehingga tidak menganalisa data protection mode (hanya default saja,max performance)
    Sekian terima kasih..mohon balasannya ya pak..=)
    Thx

  8. MasOrcl says:

    Mas, thxx tutorial nya ..
    Kl di Primary database,
    di salah satu tablespace Temporary atau User
    di tambahkan datafile, dampak nya ke Standby database bagaimana ?
    apa langsung ter singkronisasi ? atau ada proses untuk singkronisasi nya ?

    Regards

  9. Rons says:

    Pak rohmad, sebelumnya saya ucapin terima kasih banyak atas ilmunya. akhirnya saya mengerti cara membuat dataguard dari server A ke server B, namun ada sedikit masalah yg saya dapat,
    log ini saya dapat dari alert yg ada di bdump standby database:

    ORA-01110: data file 5: ‘/home/ora10g/oracle/product/10.2.0/db_1/dbs/UNNAMED00005’
    ORA-01157: cannot identify/lock data file 5 – see DBWR trace file
    ORA-01111: name for data file 5 is unknown – rename to correct file
    ORA-01110: data file 5: ‘/home/ora10g/oracle/product/10.2.0/db_1/dbs/UNNAMED00005’
    Thu Nov 5 15:45:00 2009
    MRP0: Background Media Recovery process shutdown (x012band)
    Thu Nov 5 15:45:01 2009
    Completed: alter database recover managed standby database disconnect
    Thu Nov 5 15:45:42 2009
    RFS[2]: Archived Log: ‘/backup/x012band/arch/6_1_702119606.arc’
    Primary database is in MAXIMUM PERFORMANCE mode
    RFS[2]: No standby redo logfiles created

    Mohon pencerahannya kira2 apa yang masih salah.
    Terima Kasih,
    Rons

  10. Patra E37 says:

    Terimakasih infonya gan

Leave a Reply

Your email address will not be published. Required fields are marked *