Oracle Database 11g : Pembersihan ArchiveLog Secara Otomatis

Author: · Published: October 1, 2013 · Category: Database 

Budi Satrio

Penggunaan Oracle database di kalangan enterprise sangatlah besar, oleh karena itu diperlukan tips-tips untuk menggunakan Oracle agar tidak memberatkan pekerjaan database admin. Salah satu tips yang akan dibahas pada artikel ini adalah bagaimana cara untuk melakukan proses pembersihan archivelog secara otomatis.

Latar belakang
Oracle Database merupakan salah satu dari banyak perangkat lunak Relational Data Base Management System. Oracle Database lebih banyak digunakan oleh kalangan enterprise karena beberapa kelebihan yang dimiliki, diantaranya yaitu Real Application Cluster, Data Vault, Business Intelligence, Data Integrator, dan yang lainnya. Selain beberapa kelebihan tersebut, Oracle memiliki sistem backup sendiri yaitu Redo Log dan Archive Log. Jika fitur ini tidak dinyalakan, maka untuk melakukan restore database akan semakin susah.

Archive Log merupakan kumpulan dari redo log yang sifatnya bertambah terus menerus sesuai dengan pertambahan waktu. Karena archive log ini akan semakin besar jika ukuran database besar, maka diperlukan suatu cara untuk membersihkan archive log secara otomatis.

Pendahuluan
Untuk melakukan perintah clean archive log secara otomatis, dapat dilakukan dengan menggunakan command crontab atau scheduler bawaan Oracle. Pada artikel ini akan dibahas mengenai penggunaan command crontab bawaan dari Operating System Solaris. Dari berbagai percobaan yang dijalankan oleh penulis, didapatkan informasi bahwa crontab lebih handal dan stabil daripada scheduler bawaan Oracle.

Setting pada crontab
Untuk melakukan setting pada crontab, jalankan perintah crontab dengan menggunakan user root. User root diperlukan agar script yang telah dibuat dapat dieksekusi langsung oleh crontab.

Caranya yaitu:
1. Ketikkan “crontab –e root”.
2. Akan terbuka script-script yang dijalankan oleh crontab dengan menggunakan editor vi.
1
3. Masukkan perintah berikut pada baris bawah isian crontab tersebut:
00 1 * * 2,6 . /export/home/oracle/.profile >/export/home/oracle/log-archivelog 2.&1 ; /export/home/oracle/cleanArchiveLog.sh >> /export/home/oracle/log-archivelog 2>&1
4. Perintah diatas artinya adalah perintah untuk menjalankan script cleanArchiveLog.sh dengan environment pengeksekusian perintah berada di .profile setiap pukul 1.00 pagi setiap hari selasa (2) dan sabtu (6) dengan hasil eksekusi disimpan pada log file log-archivelog
5. Sehingga menjadi seperti berikut:
1

Script pembersihan archive log
Script untuk menjalankan clean archive log ini pada dasarnya adalah melakukan backup ke media lain, kemudian menghapus archive log beserta backup yang telah expired. Script ini menjadi penting untuk dilakukan karena besarnya ukuran archive log, sehingga apabila tidak dibersihkan, akan menghabiskan ukuran storage yang digunakan untuk menyimpan archive log beserta backup.

Berikut merupakan isi script tersebut:
1

Penjelasan script diatas adalah sebagai berikut:
1. Perintah #!/bin/ksh merupakan perintah agar script dijalankan dengan menggunakan shell ksh, yaitu salah satu shell bawaan dari Solaris.
2. Perintah dibawah merupakan perintah untuk menyamakan environment saat script dieksekusi. Hal ini diperlukan karena pada saat crontab mengeksekusi script, script akan dijalankan tanpa environment.

3. Kemudian memasukkan perintah untuk masuk ke dalam RMAN, yaitu backup manager Oracle dengan cara mengetikkan su – oracle -c $ORACLE_HOME/bin/rman nocatalog <<EOF
4. Membuat koneksi ke target, yaitu database Oracle dengan cara mengetikkan connect target /;
5. Membuat backup data archive log terlebih dahulu di direktori '+DATA2/arch_%d_%u_%s', lalu menghapus archive log yang sudah dibackup dengan mengetikkan backup archivelog all delete input format '+DATA2/arch_%d_%u_%s';
6. Menghapus archive log yang telah expired dengan mengetikkan crosscheck archivelog all;
7. Menghapus backup yang telah expired dengan mengetikkan crosscheck backup;
8. Menghapus backup yang telah obsolete dengan mengetikkan report obsolete; dan delete noprompt obsolete;
9. Keluar dari script dengan mengetikkan exit dan EOF.

Hasil eksekusi script (log)
Hasil dari eksekusi script clean archive log diatas adalah berupa file log yang berisi perintah-perintah yang telah dilakukan oleh script tersebut, sebagai berikut:

Penutup
Proses pembersihan archive log secara otomatis ini akan memakan waktu sejumlah banyaknya data yang harus dibackup dan dihapus. Semakin besar database, maka proses ini akan semakin lama. Oleh karena itu sebaiknya dijalankan pada malam hari disaat tidak ada yang menggunakan database. Semoga dengan artikel ini, pembaca dapat dimudahkan untuk melakukan proses clean archive log secara otomatis.

Budi Satrio – Auto Clean Archive Log

Biografi Penulis
Budi Satrio, lahir di Surakarta 8 Maret 1985. Mendapatkan gelar ST dari Institut Teknologi Bandung tahun 2008. Saat ini bekerja di Pusat Sistem Informasi dan Teknologi Keuangan, Kementerian Keuangan RI. Mempunyai keinginan untuk menyebarkan ilmu teknologi informasi berdasarkan pengalaman professional dan research, diantaranya mengenai database, software engineering, dan security.

Informasi lebih lanjut tentang penulis ini didapat melalui:
Email: budi.satrio at depkeu.go.id atau budi.satrio.85 at gmail.com

Related Articles

  1. Database Link pada Oracle 10g
  2. Mengakses Database pada PHP Melalui ODBC
  3. Jenis Backup pada SQL Server 2005
  4. Oracle Database 11g: Manipulasi Data SQL dari Dump Image Menggunakan Original Import Client
  5. Partisi Index dan Partisi Tabel Pada Database Oracle
  6. Cara Membuat Database di MySQL
  7. Database Firebird (Bag. 2)
  8. Overview Arsitektur Database Oracle
  9. Tutorial Attunity Oracle-CDC for SSIS
  10. Backup dan Schedule Backup Menggunakan FSDump
  11. Repository pada Oracle Data Integrator 11g
  12. Knowledge Module pada Oracle Data Integrator (ODI)
  13. Instalasi Oracle 11gR2 di OEL 5
  14. Tipe-Tipe Data Oracle 11g
  15. Membuat Database Oracle Menggunakan DBCA (Database Configurations Assistant)
  16. Menutup Akses Ke Registry Editor
  17. Pengantar Administrasi SQL Server 2000
  18. Cloud Database
  19. Partitioning pada Oracle 11g
  20. Instalasi Oracle VM VirtualBox