Minggu, 12 Juli 2020

ORACLE-online backup

Online backup database Oracle

Beberapa waktu yang lalu saya telah menulis tentang off line backup database Oracle di sini http://rohmad.net/2008/04/18/off-line-backup-database-oracle/. Kali ini saya akan membahas tentang online backup. Beberapa keuntungan metode online backup adalah :
  1. Waktu backup, database tidak perlu dimatikan sehingga tidak ada downtime
  2. Bisa melakukan backup per tablespace, bahkan per datafile
  3. Bisa merestore data sampai terakhir sebelum masalah. Bahkan bisa merestore data sampai waktu yang ditentukan. Berbeda dengan restore hasil offline backup di mana yang bisa direstore hanya data terakhir melakukan backup saja.
Seperti yang sudah pernah dibahas, syarat online backup adalah database harus dalam mode archivelog. Untuk melihat atau men-setting mode database apakah archivelog atau noarchivelog, lihat artikel di sini
http://rohmad.net/2008/04/22/men-setting-database-menjadi-archivelog-mode/
.
Berikut ini step-step online backup.
  1. Backup control file
    SQL> alter database backup controlfile to
    '/backupdir/backupcontrol_22042008.bak';
  2. Lihat Tablespace yang berisi data
    SQL> select TABLESPACE_NAME from dba_tablespaces where CONTENTS <>'TEMPORARY';
    TABLESPACE_NAME
    ------------------------------
    SYSTEM
    UNDOTBS1
    SYSAUX
    USERS

    Temporary tablespace tidak perlu dibackup, karena bukan berisi data
  3. Ubah mode tablespace menjadi backup mode
    SQL> alter tablespace SYSTEM begin backup;
    SQL> alter tablespace UNDOTBS1 begin backup;
    SQL> alter tablespace SYSAUX begin backup;
    SQL> alter tablespace USERS begin backup;
  4. Lihat semua datafile yang perlu dibackup (selain file dari temporary tablespace)
    SQL> select name from v$datafile;
    NAME
    ---------------------------------------
    /oradata/oracle/ts/system01.dbf
    /oradata/oracle/ts/undotbs01.dbf
    /oradata/oracle/ts/sysaux01.dbf
    /oradata/oracle/ts/users01.dbf
  5. Backup datafile
    $ cp /oradata/oracle/ts/system01.dbf /backupdir/...
    $ cp /oradata/oracle/ts/undotbs01.dbf /backupdir/..
    $ cp /oradata/oracle/ts/sysaux01.dbf /backupdir/...
    $ cp /oradata/oracle/ts/users01.dbf /backupdir/..
  6. Ubah mode database kembali ke normal
    SQL> alter tablespace SYSTEM end backup;
    SQL> alter tablespace UNDOTBS1 end backup;
    SQL> alter tablespace SYSAUX end backup;
    SQL> alter tablespace USERS end backup;
  7. Archive current log
    SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
  8. Jangan lupa, backup juga archived log-nya. Archived log ini nanti kita butuhkan untuk recovery. Archive log yang masih dipakai adalah archived log sejak terakhir online (hot) backup. Archive log sebelum hot backup sudah tidak dipakai lagi.
Kesimpulannya, yang dibackup adalah:
  1. Control file
  2. Datafile
  3. Archived log file

Tidak ada komentar:

Posting Komentar