Create Oracle Data Guard Physical Standby using RMAN


PRIMARY
=======
pastikan database dalam mode:
– archivelog
– force logging
– listener bisa tnsping ke primary dan standby

$ RMAN target /
RMAN> backup database plus archivelog;
RMAN> backup current controlfile for standby format='/oracle/9.2.0/dbs/stby_cfile.%U';
RMAN> exit

$ sqlplus '/ as sysdba'
SQL> create pfile='/oracle/9.2.0/dbs/initORAprim.ora' from spfile;

# change parameter
SQL> alter system set log_archive_dest_2='service=standby reopen=60' scope=both;
SQL> alter system set log_archive_dest_state_2='enable' scope=both;
SQL> alter system set fal_client='primary' scope=both;
SQL> alter system set fal_server='standby' scope=both;
SQL> alter system set standby_archive_dest='location=/oracle/oradata/stbyarch' scope=both;
SQL> alter system set standby_file_management='AUTO' scope=both;
SQL> alter system set log_archive_start=TRUE scope=spfile;

SQL> shutdown immediate
SQL> startup

[create directory structure on standby]

[copy all backupfile from primary to RMAN backup directory in standby]

STANDBY
=======
archivelog
force logging
listener can tnsping

$ export ORACLE_SID=standby

#change parameter from primary:
#*.log_archive_dest_2='service=primary reopen=60'
#*.log_archive_dest_state_2='defer'
#*.fal_client='standby'
#*.fal_server='primary'
#*.standby_archive_dest='location=/oracle/oradata/stbyarch'
#*.standby_file_management='AUTO'
#*.log_archive_start=TRUE

$ sqlplus '/ as sysdba'
SQL> startup nomount pfile='/oracle/9.2.0/dbs/initORAprim.ora';
SQL> create spfile from pfile='/oracle/9.2.0/dbs/initORAprim.ora';
SQL> exit

$ rman target /
RMAN> set dbid=[dbidprimary]1540468886;
RMAN> restore controlfile from '/oracle/9.2.0/dbs/standbycontrolfilebackup';
RMAN> sql 'alter database mount standby database';
RMAN> restore database;
RMAN> list backup of archivelog all;
RMAN> recover database until sequence [max(sequence#)+1] thread 1;
RMAN> exit

SQL> alter database recover managed standby database disconnect from session;

12 responses to “Create Oracle Data Guard Physical Standby using RMAN”

  1. berry says :

    Pak,

    Saya mau tanya apabila saya mau me-restart primary server dari data guard, adakah langkah2 yang perlu di lakukan sebelum melakukan shutdown immediate; terhadap primary server ? lalu untuk standby server ada langkah2 yang perlu di lakukan pada saat primary shutdown? saya tidak perlu failover dalam hal ini, saya hanya perlu maintenance untuk primary server

    Thanks,

    Berry

    • ericwijaya says :

      untuk mematikan primary server amannya si dimatikan dulu pengiriman archivelog dr primary ke standby.
      SQL> alter system set alter system set log_archive_dest_state_[n]=defer scope = both;
      Matikan recovery di standby database.
      SQL> alter database recover managed standby database cancel;
      Kemudian bisa di shutdown immediate kedua server.

  2. berry says :

    Pak Eric,

    Terima kasih untuk respon yang cepat😀 ada satu hal lagi yang ingin saya perjelas disini, jadi walaupun primary saja yang akan di shutdown immediate, standby server harus di stop process redo apply nya?

    Oia dengan mematikan primary server standby server tidak otomatis menjadi primary? maksud saya tanpa perlu melakukan ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

    Lalu ketika kita menyalakan primary lagi otomatis kita perlu melakukan
    alter system set log_archive_dest_state_[n]=enable scope=both;
    dan di standby melakukan:
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
    benar atau tidak pak?

    Terima kasih atas petunjuknya sebelumnya.

    Regards,

    Berry

    • ericwijaya says :

      Dear Berry,
      Untuk amannya saja proses redo apply nya dimatikan saja. Toh juga tidak terpakai.
      Apakah Anda menggunakan Data Guard Broker dan sudah setting fast start failover? Anda menggunakan Oracle versi brp? Jika belum menggunakan fasilitas fast start failover maka tidak masalah. Standby tidak akan otomatis menjadi primary.
      Iya, setelah menyalakan primary lagi, harus dilakukan yg sudah bapak tulis.
      Semoga membantu.

  3. berry says :

    Tidak pak,

    konfigurasi saya hanya simple primary dan physical standby saja. versi yang saya gunakan adalah oracle 10gR2. ok saya akan coba kembali😀

    Thanks a lot

  4. ericwijaya says :

    u’re welcome…

  5. M Sitanggang says :

    Pak Eric
    Salam kenal, saya sangat tertarik dengan tulisan ini (Create Oracle Data Guard Physical Standby using RMAN) saya sendiri masih belajar oracle, ketika saya mendapat tugas utk menanganani IT di kantor saya, semuanya sudah ada, yang menjadi pertanyaan saya, bagaimana caranya utk melihat dan dimana letaknya configurasi/ schedule task untuk copy file dari primary DB ke Standby DB (dalam bentuk *.ARC), karena ketika saya coba restore DB selalu gagal disaat recovery, setelah saya selidiki ternyata setelah RMAN melakukan backup selalu tertinggal satu file (*.ARC) yang terkirim dari primary ke standbay DB setelah backup, jadi rencana saya saya mau batalkan schedulnya pengiriman (copy) file dari primary ke standby DB yang terakhir
    Demikian dan atas bantuannya saya sampaikan banyak Terima kasih
    Salam-

    • ericwijaya says :

      Hi pak M Sitanggang,
      Apakaha Data Guard di kantor bapak sudah berjalan atau bapak berencana untuk membuat Data Guard tersebut?
      Jika sudah menggunakan Data Guard dan anda berencana untuk memberhentikan proses pengiriman archive ke standby database, anda perlu memperhatikan parameter berikut: log_archive_dest_n log_archive_dest_state_n. ubah nilai log_archive_dest_state_n yang mengarah ke service standby menjadi defer.
      Semoga membantu.

  6. M Sitanggang says :

    Pak Eric
    Terima kasih sebelumnya atas responnnya, Data Guardnya sudah jalan Pak, dan yang mau saya hentikan adalah pengiriman atau copy file dari Primary ke standby DB hanya untuk jam tertentu yaitu yg terakhir, kan backupnya di schedule jam 23:00 setiap hari sabtu (mingguan) tapi anehnya masih ada kiriman file *.ARC setelah jam 23:00 atau setelah backupnya selesai nah saya mau stop pengiriman file yang terjadi setelah jam 23:00 dimana saya bisa lihat configurasi/ shcedulnya ?

    Terima kasih

  7. ericwijaya says :

    Pak M Sitanggang,
    Jadi untuk melakukan backup anda perlu mematikan proses pengiriman archive log ke standby. Yang perlu dilakukan adalah sebelum backup, cari log_archive_dest_n yang mengarah ke standby. ubah parameter log_archive_dest_state_n menjadi defer. n adalah integer 1-10 yang menentukan arah pengiriman archive log.
    Setelah melakukan backup, ubah kembali parameter log_archive_dest_state_n menjadi enable sehingga proses pengiriman archive log ke standby kembali berjalan.

  8. M Sitanggang says :

    Pak Eric
    Terima kasih infonya, saya kira ada task yang harus di configurasi bahwa pengiriman file *.ARC terkirim dari primary DB ke standby sehingga di benak saya task yg terakhir tersebut di matikan

    Salam,-

    • ericwijaya says :

      Sama-sama pak. Untuk pengiriman archive log pada data guard diatur di parameter log_archive_dest jadi tinggal alter parameter nya saja. Semoga berhasil pak.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: