![](https://i.ibb.co/7JpBVxL/backup-oracle-database.png)
Hai.. Assalamualaikum Wr.Wb
Pada kesempatan kali ini aku mau membuat script untuk membackup database oracle dan juga membuat script konfigurasi menghapus hasil backup secara otomatis berdasarkan jumlah hari yang ditentukan.
Perlu diperhatikan untuk memahami script ini kalian membutuhkan pengetahuan dasar tentang oracle database dan bahasa bash , sehingga tidak akan bingung dan gundah.
1. Pertama kita buat dulu file bernama ‘oracle-backup.sh’ , kemudian isikan codingan seperti ini :
1 | #!/bin/bash |
Penjelasan
1 | #!/bin/bash |
Ini merupakan code yang wajib jika ingin menjalankan menggunakan bash script !
1 | BACKUP_DATE=$(date +'%Y%m%d') |
Membuat format tanggal untuk penamaan folder backup.
1 | BACKUP_DIR=/mnt/data/Backup/Database |
Mengatur lokasi tempat folder menyimpan hasil backup yang akan di pindahkan dari folder asli backupan oracle.
1 | DUMP_DIR=/u01/app/oracle/admin/xe/dpdump |
Merupakan folder asli yang sudah otomatis dibuat oleh oracle , beberapa versi oracle memiliki perbedaan tempat , contoh ini menggunakan oracle 12g.
1 | if [ ! -d ${BACKUP_DIR}/${BACKUP_DATE} ]; then |
Membuat script apabila folder belum terbuat , jika sudah terbuat akan di skip.
1 | rm ${DUMP_DIR}/BACKUP_ISO_${BACKUP_DATE}.DMP |
Menghapus file backup lama di waktu yang sama apabila kita melakukan backup 2 kali dalam 1 hari.
1 | expdp USERNAME/PASSWORD dumpfile=DB_${BACKUP_DATE}.DMP logfile=DB_${BACKUP_DATE}.LOG schemas=NAMA_SCHEMA &&\ |
Kode ini merupakan kode export dasar bawaaan dari oracle , seharusnya pengguna oracle sudah pada tau fungsi dari kode baris pertama. Sedangkan kode barisan kedua dan ketiga yaitu memindahkan file hasil backup di folder original ke folder yang sudah di tentukan.
2. Kedua kita membuat script bernama ‘hapus-backup-oracle.sh’ kemudian isikan kode seperti in :
1 | #!/bin/bash |
Kode diatas terlihat simple namun sangat berguna untuk menghapus data yang kita inginkan agar tidak memenuhi memori penyimpanan.
Penjelasan
1 | #!/bin/bash |
Ini merupakan code yang wajib jika ingin menjalankan menggunakan bash script !
1 | find /mnt/data/Backup/Database -type f -mtime +15 -delete |
Kita mulai dari ‘find’ yang berfungsi untuk mencari tempat file atau folder dengan cara memasukan data url nya pada dir linux.
kemudian ‘-type’ merupakan tipe apa saja yang akan di hapus disini kita menggunakan -type f yang berarti file , jika ingin menghapus folder berarti kita menggunakan -type d.
kemudian ‘-mtime’ merupakan jumlah hari yang diinginkan untuk tetap tersimpan , jadi jika file sudah lebih dari hari yang ditentukan misalnya ‘-mtime 5’ yang berarti jika sudah lewat 5 hari maka file itu akan di hapus.
Itu merupakan cara membuat script membackup dan menghapus database oracle, untuk dapat membuat kode berjalan otomatis berdasarkan jam dan waktu yang ingin ditentukan untuk menjalankan script tersebut kalian harus memahami cara menggunakan cron job , mungkin dilain waktu aku akan membahas cron job.
Terimakasih sudah membaca semoga ilmu ini bermanfaat.