Posts tagged ‘backup’
Backup Manual: Tanpa RMAN
Untuk mem-backup isi database secara manual, aku harus tahu terlebih dahulu file-file apa saja yang harus di-backup. Untuk mengetahui file datafile yang dipakai database saat ini, aku bisa menggunakan query berikut:
SELECT NAME FROM V$DATAFILE;
Untuk melihat online redolog file yang dipakai, query berikut dapat dipergunakan:
SELECT MEMBER FROM V$LOGFILE;
Untuk mengetahui lokasi controlfile, gunakan query berikut:
SELECT NAME FROM V$CONTROLFILE;
O ya, sebelum melakukan backup, jangan lupa men-shutdown database dengan perintah “SHUTDOWN” seperti “SHUTDOWN IMMEDIATE” agar database berada dalam status yang konsisten.
Untuk mem-backup control file, aku menggunakan perintah seperti berikut di SQL*Plus:
ALTER DATABASE BACKUP CONTROLFILE TO ‘c:\backup\control.bak’
Untuk memeriksa apakah datafile yang di-backup dapat dipakai, gunakan utility dbv seperti pada contoh berikut:
dbv file=users01.dbf
RMAN: Sedia Payung Sebelum Hujan
Jika sebelumnya aku pernah mencoba melakukan operasi recovery dengan menggunakan Enterprise Manager Console, maka kali ini aku akan mencoba langsung dengan menggunakan RMAN (Recovery Manager). Kebetulan environment variable aku sudah di-atur otomatis oleh Oracle sehingga saat mengetik RMAN di command-prompt, tool tersebut langsung dijalankan.
Sebelum memulai melakukan proses backup, aku melakukan koneksi dulu ke database sebagai SYSDBA. Caranya adalah dengan mengetikkan perintah berikut:
RMAN> CONNECT TARGET SYS;
Setelah mengisi password, maka RMAN akan menampilkan pesan “connected to target database: LATIHAN”. Disini LATIHAN adalah SID database-ku.
Aku akan mencoba melakukan full backup. Pertama-tama, aku men-shutdown database terlebih dahulu dengan menggunakan perintah:
RMAN> SHUTDOWN IMMEDIATE;
Setelah itu, aku me-mounting database dengan perintah:
RMAN> STARTUP MOUNT;
Sekarang aku siap memberikan perintah yang melakukan backup:
RMAN> BACKUP DATABASE FORMAT “c:\backup\backup%t” tag=”first_backup”;
Perintah di atas meng-asumsi-kan folder “backup” di “c:\” sudah ada. Setelah RMAN menampilkan “finished backup”, aku segera memerika isi folder tersebut. Terdapat dua file dengan nama “BACKUP666018304″ (elapsed time 00:01:25) dan “BACKUP666018389″ (elapsed time 00:00:09). Yang satu berukuran 523 MB, sedang yang satunya lagi berukuran 2.81 MB. Besar juga ya ukurannya mengingat aku masih belum mengisi data apapun sejak instalasi Oracle Database.
Apa ada alternatif untuk mengecilkan ukuran file backup? Aku kembali melakukan backup, tapi kali ini dengan perintah:
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE FORMAT “c:\backup2\backup%t” TAG=”first_compressed_backup”;
Perintah di atas seharusnya menciptakan ukuran file backup yang lebih kecil karena terkompresi, tapi nyatanya yang dihasilkan adalah dua buah file dimana yang satu berukuran 103 MB dan satunya lagi berukuran 1.04 MB. Entah kenapa bisa begini, seiring waktu mempelajari Oracle Database secara mendalam nanti, semoga aku dapat menjelaskan ‘fenomena’ ini
RMAN menampung informasi backup di repository-nya sendiri. Oleh sebab itu, aku dapat melihat apa saja yang pernah aku backup dengan menggunakan perintah:
RMAN> LIST BACKUP OF DATABASE;
Karena file di folder “c:\backup2″ kurang memuaskan, aku memutuskan untuk menghapusnya lewat Windows Explorer. Tapi jika aku menggunakan perintah “LIST”, backup yang sudah aku hapus tersebut tetap masih muncul karena masih berada di repository RMAN. Oleh sebab itu, aku meminta RMAN untuk memeriksa kembali dengan perintah:
RMAN> CROSSCHECK BACKUP;
dan memulai penghapusan dengan perintah:
RMAN> DELETE EXPIRED BACKUPSET;
O iya, dalam kasus dimana aku butuh mengembalikan data yang di-backup, aku dapat menggunakan perintah berikut ini:
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE DELETE ARCHIVELOG;