Dear all.... saya mau berbagi pengalaman aja nih soal Oracle, kasusnya adalah saya membuat otomatic archived log...tersimpan pada folder default.
Perhari log transaksi saya sebesar 5 - 10 GB, dan saya sudah mengalokasikan space sebesar 100 GB pada folder archived log (saya menggunakan Oracle 10g dan linux RHELAS3).
Permasalahannya adalah saat saya menghapus file archived log secara fisik di harddisk, tetapi pada oraclenya sendiri sizenya tidak berubah…
Sehingga saat space sudah tidak mencukupi akan terjadi error redolog dan saya mengatasi permasalahan tersebut dengan menambah size space
pada folder archived log, dan ini sangat mengganggu karena file tersebut akan terus membesar. Yang berikutnya adalah berhubung saya menggunakan OEM 10g berbasis web maka semua komputer dalam satu jaringan dapat mengakses OEM (walaupun ada user/IP yang boleh mengakses server database tetapi tidak boleh mengakses databasenya)
pertanyaannya adalah :
1. Bagaimana mensinkronkan ukuran size secara fisik di hardisk dengan size dioraclenya?
2. Apa yang menjadi kriteria dalam pengahapusan archived log file(usia kadaluarsa)?
3. Bagaimana membuat agar penghapusan archived log file dilakukan secara otomatis secara fisik?
4. Bagaimana membatasi IP mana saja yang boleh mengakses database?
Setelah mencari-cari jawaban lewat milis dan situs Oraclenya sendiri, ditemukan penyelesainnya....OK!!langsung saja.
1. Bagaimana mensinkronkan ukuran size secara fisik di hardisk dengan size dioraclenya?
Apabila file archivelog dihapus langsung tanpa menggunakan rman, maka informasi archivelog tsb masih tersimpan di controlfile.
Untuk mengsinkronkan informasi tsb, dari rman:
export ORACLE_SID=mysid
rman target /
crosscheck archivelog all;
delete expired archivelog all;
Sebaiknya menghapus archivelog dilakukan dari rman.
Misalkan utk menghapus archivelog yg lebih tua dari 1hari di disk:
delete archivelog all completed before ‘sysdate-1’;
Atau utk menghapus archivelog yg sequencenya <= 1000.
delete archivelog until sequence 1000;
2. Apa yang menjadi kriteria dalam pengahapusan archived log file(usia kadaluarsa)?
Archivelog akan di-keep di disk selama diperlukan.
Untuk itu Anda mesti mengecek retention policy untuk backup. Dari rman:
show retention policy;
kalau tidak pernah diubah, maka hasilnya akan seperti ini:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
yg artinya Oracle akan meng-keep satu versi full backup, yg meliputi full database backup + semua archivelog setelah full backup tsb dilakukan.
Coba cek website ini utk detail bagaimana cara Oracle me-maintain FRA.
http://download-east.oracle.com/docs/cd/B19306_01/
backup.102/b14192/setup005.htm
Intinya adalah:
- Oracle akan meng-keep file2 yg ada di FRA selama FRA size masih dibawah nilai DB_RECOVERY_FILE_DEST_SIZE.
- Kalau sudah penuh, Oracle akan mencari file2 mana yg obsolete berdasarkan retention policy-nya, dan akan otomatis dihapus.
3. Bagaimana membuat agar penghapusan archived log file dilakukan secara otomatis secara fisik?
Untuk pertanyaan ini solusinya adalah menghapus dengan mengunakan rman/jangan menghapus langsung dari sisi OS, buat scheduller untuk menjalankan rman (sesuai dengan jawaban no.1).
4. Bagaimana membatasi IP mana saja yang boleh mengakses database?
Coba masuk ke Server Oracle, pilih Oracle Net Manager (terletak di folder Configuration and Migration Tools), kemudian pilih Profile, lalu pilih tab Access Rights.
Disitu bisa diatur IP mana saja yang boleh dan tidak boleh mengakses database.