IMPLEMENTASI SISTEM FAILOVER PADA WEB SERVER MENGGUNAKAN ORACLE DATA GUARD TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang
Oleh : TREIYA ADISSHA 09560020
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2013
IMPLEMENTASI SISTEM FAILOVER PADA WEB SERVER MENGGUNAKAN ORACLE DATA GUARD TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang
Oleh : TREIYA ADISSHA 09560020
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2013
LEMBAR PERSETUJUAN IMPLEMENTASI SISTEM FAILOVER PADA WEB SERVER MENGGUNAKAN ORACLE DATA GUARD
TUGAS AKHIR
Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang
Menyetujui,
Pembimbing I
Pembimbing II
Yuda Munarko, S.Kom M.Sc
Setio Basuki, S.T.
NIP : 108.0611.0443
NIP : 108.0907.0477
LEMBAR PERNYATAAN
Yang bertanda tangan dibawah ini : NAMA
:
TREIYA ADISSHA
NIM
:
09560020
FAK. / JUR. :
TEKNIK / TEKNIK INFORMATIKA
Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul “IMPLEMENTASI
SISTEM
FAILOVER
PADA
WEB
SERVER
MENGGUNAKAN ORACLE DATA GUARD” beserta seluruh isinya adalah karya saya sendiri dan bukan merupakan karya tulis orang lain, baik sebagian maupun seluruhnya, kecuali dalam bentuk kutipan yang telah disebutkan sumbernya. Demikian surat pernyataan ini saya buat dengan sebenar-benarnya. Apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini, atau ada klaim dari pihak lain terhadap keaslian karya saya ini maka saya siap menanggung segala bentuk resiko/sanksi yang berlaku.
Mengetahui
Malang, 10 Juli 2013
Dosen Pembimbing
Yang Membuat Pernyataan
Yuda Munarko, S.Kom, M.Sc
Treiya Adissha
LEMBAR PENGESAHAN IMPLEMENTASI SISTEM FAILOVER PADA WEB SERVER MENGGUNAKAN ORACLE DATA GUARD
TUGAS AKHIR Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Disusun Oleh : Treiya Adissha 09560020 Tugas Akhir ini telah diuji dan dinyatakan lulus melalui sidang majelis penguji pada tanggal 24 Juli 2013 Menyetujui, Penguji I
Penguji II
Agus Eko Minarno, S.Kom
Dhebys Suryani, S.Kom, MT
NIDN : 072.9118.203
NIDN : 070.6118.8303
Mengetahui, Ketua Jurusan Teknik Informatika
Eko Budi Cahyono, S.Kom, MT
KATA PENGANTAR Dengan memanjatkan puji syukur kehadirat Allah Subhanahu Wa Ta’ala atas limpahan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan tugas akhir yang berjudul :
“IMPLEMENTASI SISTEM FAILOVER PADA WEB SERVER MENGGUNAKAN ORACLE DATA GUARD“
Di dalam tulisan ini disajikan pokok-pokok pembahasan yang meliputi pendahuluan, landasan teori, perancangan sistem, implementasi dan pengujian sistem. Peneliti menyadari sepenuhnya bahwa dalam penulisan tugas akhir ini masih banyak kekurangan dan keterbatasan. Oleh karena itu peneliti mengharapkan saran yang membangun agar tulisan ini bermanfaat bagi perkembangan ilmu pengetahuan ke depan.
Malang, 10 Juli 2013
Treiya Adissha
DAFTAR ISI ABSTRAKSI ………………………………………………………...……………………i ABSTRACT……………………………………………………………………………….ii KATA PENGANTAR …………………………………………………………………...iii LEMBAR PERSEMBAHAN ……………………………………………………………iv DAFTAR ISI …………………………………………………………………………...…v DAFTAR GAMBAR …………………………………………………………………...viii DAFTAR TABEL ……………………………………………………………………...xvii BAB I PENDAHULUAN 1.1 LATAR BELAKANG ……………………………………………………….1 1.2 TUJUAN ……………………………………………………………………..2 1.3 RUMUSAN MASALAH ……………………………………………………2 1.4 BATASAN MASALAH ……………………………………………………..2 1.5 METODE PENYELESAIAN MASALAH ………………………………….2 1.6 SISTEMATIKA PENULISAN ……………………………………………...5 BAB II DASAR TEORI 2.1 FAILOVER (HIGH AVAILABILITY) ……………………………………...7 2.1.1 APPLICATION DESIGN REQUIREMENTS ……………………7 2.1.2 NODE CONFIGURATION ……………………………………….8 2.1.3 NODE REABILITY ……………………………………………..10 2.1.4 TOPOLOGI FAILOVER ………………………………………...11 2.2 WEB SERVER ……………………………………………………………..12 2.2.1 PENGERTIAN ...............................................................................12 2.2.2 SEJARAH ………………………………………………………..13 2.2.3 MACAM-MACAM WEB SERVER …………………………….13 2.2.4 CARA KERJA WEB SERVER ………………………………….17 2.2.5 FITUR DASAR WEB SERVER ………………………………...18 2.2.6 PATH TRANSLATION (PENERJEMAH PATH) ……………...19
2.2.7 LOAD LIMIT (BATAS BEBAN) ……………………………….19 2.3 ORACLE ……………………………………………………………………21 2.3.1 KELEBIHAN ORACLE …………………………………………22 2.3.2 KEKURANGAN ORACLE ……………………………………..23 2.4 ORACLE DATA GUARD …………………………………………………24 2.4.1 SUSUNAN DATA GUARD …………………………………….24 2.4.2 ROLE TRANSITION ……………………………………………25 2.4.3 DATA GUARD BROKER ………………………………………25 2.4.4 MODE PROTEKSI DATA GUARD ……………………………25 2.4.5 PERBEDAAN METODE RECOVERY DATA GUARD DENGAN CARA KONVENSIONAL ……………………….....26 BAB III PERANCANGAN SISTEM 3.1 ANALISA SISTEM ………………………………………………………...27 3.2 METODOLOGI PERANCANGAN SISTEM ……………………………...28 3.3 PERSIAPAN HARDWARE & SOFTWARE ……………………………...29 3.3.1 SPESIFIKASI HARDWARE ……………………………………29 3.3.2 SPESIFIKASI SOTFWARE ……………………………………..29 3.4 INSTALASI SOFTWARE …………………………………………………29 3.5 KONFIGURASI SOFTWARE ……………………………………………..30 3.5.1 KONFIGURASI ORACLE DATA GUARD ……………………30 3.5.1.1 PEMBUATAN PHYSICAL STANDBY DATABASE 30 3.5.1.2 KONFIGURASI TIPE DATA PROTECTION ……….49 3.5.1.3 APPLY REDO DATA PADA PHYSICAL STANDBY DATABASE ………………………………………….52 3.5.1.4 KONFIGURASI DATA GUARD BROKER …………54 3.5.1.5 KONFIGURASI ROLE TRANSITION ………………61 BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1 SWITCHOVER PADA PHYSICAL STANDBY DATABASE …………...64 4.2 FAILOVER PADA PHYSICAL STANDBY DATABASE ……………….69 4.3 PENGUJIAN PERFORMANSI SISTEM ………………………………….73 4.3.1 PENGUJIAN WEB SERVER …………………………………...73 4.3.2 PENGUJIAN FAILOVER ……………………………………….74 4.3.2.1 FAST-START FAILOVER DENGAN BROKER ……74 4.3.2.2 MEMONITORING STANDBY DATABASE ………..78 BAB V PENUTUP 5.1 KESIMPULAN ……………………………………………………………..87 5.2 SARAN ……………………………………………………………………..87 DAFTAR PUSTAKA …………………………………………………………………...89
BIOGRAFI PENULIS .......................................................................................... 91
DAFTAR GAMBAR GAMBAR 1.1 SKEMA/GAMBARAN RANCANGAN SISTEM ............................................................ 3 GAMBAR 1.2 SECONDARY SERVER SEBELUM TERJADI FAILURE ............................................ 3 GAMBAR 1.3 PRIMARY SERVER KETIKA TERJADI FAILURE ...................................................... 4 GAMBAR 1.4 PROSES SWITCHING KEMBALI DARI SECONDARY SERVER KE PRIMARY SERVER ……………………………………………………………………………….... 4 GAMBAR 2.1 AKTIF/AKTIF SERVER ....................................................................................................8 GAMBAR 2.2 AKTIF/PASIF SERVER .....................................................................................................8 GAMBAR 2.3 N+1 SERVER .....................................................................................................................9 GAMBAR 2.4 N+M SERVER ................................................................................................................. 10 GAMBAR 2.5 TEKNIK SHARED STORAGE ...................................................................................... 11 GAMBAR 2.6 TEKNIK FAILOVER ..................................................................................................... 12 GAMBAR 3.1 SISTEM CLIENT SERVER BIASA …………………………..………………………. 27 GAMBAR 3.2 SKEMA/GAMBARAN RANCANGAN SISTEM ………………………...…………... 27 GAMBAR 3.3 DIAGRAM ALIR IMPLEMENTASI SISTEM ………………………………………...28
GAMBAR 3.4 AKTIFKAN MODE FORCE LOGGING ………………………………………………30 GAMBAR 3.5 PERIKSA MODE FORCE LOGGING …………………………………………………30 GAMBAR 3.6 PERIKSA PASSWORD FILE …………………………………………………………..30 GAMBAR 3.7 CEK UKURAN ONLINE LOG FILES …………………………………………………31 GAMBAR 3.8 MEMBUAT STANDBY REDO LOG ………………………………………………….31 GAMBAR 3.9 CEK STANDBY REDO LOG …………………………………………………………..32 GAMBAR 3.10 ARCHIVE LOG LIST …………………………………………………………………..36 GAMBAR 3.11 ENABLE ARCHIVELOG ………………………………………………………………37 GAMBAR 3.12 BUAT CONTROL FILE UNTUK STANDBY …………………………………………37 GAMBAR 3.13 IDENTIFIKASI DATA FILE DAN REDO LOG ………………………………………38 GAMBAR 3.14 MEMBUAT INSTANCE BARU ……………………………………………………….39 GAMBAR 3.15 PENGATURAN SERVICE NAME (1 DARI 5) ………………………………………..40 GAMBAR 3.16 PENGATURAN SERVICE NAME (2 DARI 5) ………………………………………..40
GAMBAR 3.17 PENGATURAN SERVICE NAME (3 DARI 5) ………………………………………..41 GAMBAR 3.18 PENGATURAN SERVICE NAME (4 DARI 5) ………………………………………..41 GAMBAR 3.19 PENGATURAN SERVICE NAME (5 DARI 5) ………………………………………..42 GAMBAR 3.20 INISIALISASI LOG APPLY SERVICES ………………………………………...…….46 GAMBAR 3.21 BUKA DATABASE DALAM MODE READ ONLY ………………………………….46 GAMBAR 3.22 MELIHAT ARCHIVELOG PADA STANDBY DATABASE …………………………47 GAMBAR 3.23 FLOW CHART PEMBUATAN PHYSICAL STANDBY DATABASE ………………48 GAMBAR 3.24 KONFIGURASI LOG_ARCHIVE_DEST_N PADA PRIMARY DATABASE ………50 GAMBAR 3.25 KONFIGURASI LOG_ARCHIVE_CONFIG PADA PRIMARY DATABASE ………50 GAMBAR 3.26 UBAH KONDISI PROTEKSI …………………………………………………………..50 GAMBAR 3.27 KONFIGURASI LOG_ARCHIVE_DEST_N PADA STANDBY DATABASE ………51 GAMBAR 3.28 CEK MODE PROTEKSI ………………………………………………………………..51 GAMBAR 3.29 FLOW CHART KONFIGURASI MODE DATA PROTECTION ……………………..52
GAMBAR 3.30 KONFIGURASI REAL TIME APPLY …………………………………………………53 GAMBAR 3.31 MENGHENTIKAN PROSES REAL TIME APPLY …………………………………...53 GAMBAR 3.32 MEMBATALKAN WAKTU DELAY ………………………………………………….54 GAMBAR 3.33 MENGHENTIKAN PROSES REDO APPLY ………………………………………….54 GAMBAR 3.34 ENABLE DATA GUARD BROKER START ………………………………………….55 GAMBAR 3.35 DG_BROKER_CONFIG PADA PRIMARY DATABASE ……………………………55 GAMBAR 3.36 DG_BROKER_CONFIG PADA STANDBY DATABASE ……………………………55 GAMBAR 3.37 MASUK KE DGMGRL …………………………………………………………………55 GAMBAR 3.38 HUBUNGKAN KE PRIMARY DATABASE ………………………………………….56 GAMBAR 3.39 MEMBUAT KONFIGURASI BROKER …………………………………………….…56 GAMBAR 3.40 MENAMBAHKAN PHYSICAL STANDBY DATABASE ……………………………56 GAMBAR 3.41 SHOW KONFIGURASI BROKER ……………………………………………………..56 GAMBAR 3.42 LIHAT PROPERTIES DATABASE ‘ORCL2’ …………………………………………57
GAMBAR 3.43 ENABLE KONFIGURASI BROKER …………………………………………………..58 GAMBAR 3.44 MEMERIKSA STANDBY REDO LOG PADA PRIMARY DATABASE ……………58 GAMBAR 3.45 MEMERIKSA STANDBY REDO LOG PADA STANDBY DATABASE ……………58 GAMBAR 3.46 ATUR PROPERTY LOGXPTMODE …………………………………………………..59 GAMBAR 3.47 ATUR PROPERTY FASTSTARTFAILOVERTARGET ……………………………...59 GAMBAR 3.48 ENABLE FLASHBACK DATABASE …………………………………………………60 GAMBAR 3.49 ENABLE FLASHBACK DATABASE …………………………………………………60 GAMBAR 3.50 ENABLE FAST-START FAILOVER ………………………………………………….60 GAMBAR 3.51 START OBSERVER …………………………………………………………………....60 GAMBAR 3.52 PERIKSA KONFIGURASI FAST-START FAILOVER ………………………………61 GAMBAR 3.53 FLOW CHART KONFIGURASI DATA GUARD BROKER …………………………61 GAMBAR 3.54 FLOW CHART ROLE TRANSITION JIKA TERJADI GANGGUAN ……………….63 GAMBAR 4.1 CEK STATUS SWITCHOVER ………………………………………………………...64
GAMBAR 4.2 UBAH PRIMARY DATABASE MENJADI PHYSICAL STANDBY DATABASE ….65 GAMBAR 4.3 CEK DATABASE ROLE ……………………………………………………………….66 GAMBAR 4.4 UBAH STANDBY DATABASE MENJADI PRIMARY DATABASE ……………….66 GAMBAR 4.5 FLOW CHART SWITCHOVER PADA PHYSICAL STANDBY DATABASE ……...68 GAMBAR 4.6 PERIKSA MODE PROTEKSI ………………………………………………………….69 GAMBAR 4.7 PERIKSA ARCHIVE GAP ……………………………………………………………..69 GAMBAR 4.8 PERIKSA ARCHIVE LOG YANG HILANG ………………………………………….70 GAMBAR 4.9 MEMATIKAN PROSES RFS PADA STANDBY DATABASE ……………………...70 GAMBAR 4.10 KONVERSI PADA PHYSICAL STANDBY DATABASE AGAR MEMILIKI PRIMARY ROLE ……………………………………………………………………….70 GAMBAR 4.11 FLOW CHART FAILOVER PADA PHYSICAL STANDBY DATABASE ………….72 GAMBAR 4.12 HASIL PERCOBAAN PADA PRIMARY SERVER …………………………………..73 GAMBAR 4.13 MATIKAN PRIMARY SERVER ………………………………………………………73 GAMBAR 4.14 HASIL PERCOBAAN PADA STANDBY SERVER …………………………………..74
GAMBAR 4.15 CEK DATABASE ROLE PADA PRIMARY DATABASE ……………………………74 GAMBAR 4.16 CEK DATABASE ROLE PADA STANDBY DATABASE …………………………...75 GAMBAR 4.17 START OBSERVER ……………………………………………………………………75 GAMBAR 4.18 CEK KONFIGURASI BROKER ……………………………………………………….75 GAMBAR 4.19 MATIKAN PRIMARY DATABASE …………………………………………………..76 GAMBAR 4.20 OBSERVER PERFORMING FAST-START FAILOVER ……………………………..76 GAMBAR 4.21 CEK DATABASE_ROLE PADA STANDBY DATABASE …………………………..76 GAMBAR 4.22 CEK STATUS BROKER ……………………………………………………………….76 GAMBAR 4.23 STARTUP PRIMARY DATABASE LAMA …………………………………………...77 GAMBAR 4.24 OBSERVER MENCOBA MELAKUKAN REINSTATE SECARA OTOMATIS …….77 GAMBAR 4.25 MOUNT PRIMARY DATABASE LAMA ……………………………………………..77 GAMBAR 4.26 REINSTATE PRIMARY DATABASE LAMA ………………………………………...78 GAMBAR 4.27 CEK KONFIGURASI BROKER ……………………………………………………….78
GAMBAR 4.28 PERIKSA ATRIBUT PRIMARY DATABASE ………………………………………..79 GAMBAR 4.29 PERIKSA ATRIBUT STANDBY DATABASE ………………………………………..79 GAMBAR 4.30 PERIKSA KONDISI FAST-START FAILOVER ……………………………………...79 GAMBAR 4.31 PERIKSA AKTIFITAS REDO LOG …………………………………………………...80 GAMBAR 4.32 PERIKSA LEVEL SINKRONISASI PADA PRIMARY DATABASE ………………..81 GAMBAR 4.33 PERIKSA LEVEL SINKRONISASI PADA STANDBY DATABASE ………………..81 GAMBAR 4.34 PERIKSA MODE RECOVERY ………………………………………………………...81 GAMBAR 4.35 PERIKSA LOG TERAKHIR YANG DI APPLY PADA PRIMARY DATABASE …...82 GAMBAR 4.36 PERIKSA LOG TERAKHIR YANG DI APPLY PADA STANDBY DATABASE …..82 GAMBAR 4.37 PERIKSA LOG YANG BELUM DITERIMA OLEH STANDBY DATABASE ……...82 GAMBAR 4.38 PERIKSA SEMUA ARCHIVED REDO LOG YANG DITERIMA OLEH STANDBY DATABASE …………………………………………………………………………….83 GAMBAR 4.39 PERIKSA SEMUA ARCHIVED REDO LOG YANG SUDAH DI-APPLY OLEH STANDBY DATABASE ………………………………………………………………..84 GAMBAR 4.40 PERIKSA APAKAH ADA GAP PADA ARCHIVED REDO LOG …………………...84
GAMBAR 4.41 PERIKSA KONDISI ORACLE DATA GUARD PADA PRIMARY DATABASE …...85 GAMBAR 4.42 PERIKSA KONDISI ORACLE DATA GUARD PADA STANDBY DATABASE …..86
DAFTAR TABEL TABEL 3.1 DESKRIPSI PARAMETER PADA PRIMARY DATABASE …………………………35 TABEL 3.2 DESKRIPSI PARAMETER PADA STANDBY DATABASE ………………………...46 TABEL 3.3 SYARAT STANDBY DATABASE …………………………………………………….49
DAFTAR PUSTAKA [1] Akhtar, Auf, dkk. Data Guard: A New Approach For Disaster Recovery & Rolling Upgardes. Computer Science and Engineering Department University of Bridgeport, Bridgeport, CT 06601. [2] Ardianto, Anugrah Dwi, dkk. Implementasi Clustering Untuk Mengatasi Kegagalan Sistem Basis data Pada Sisi Server. Telkom Polytechnic. [3] Ferdiyanto, Redo Dwi Bagus. Disaster Recovery Using Oracle Data Guard. Politeknik
Elektronika
Negeri
Surabaya
Institut
Teknologi
Sepuluh
Nopember. [4] Mardhiyah, Sitti. Implementation Of Physical Standby Database Using Data Guard Oracle9i. Gunadarma University. [5] Oracle Corporate. 2003. Oracle Data Guard Concepts and Administrator 10g Release 1. [6] Oracle Corporate. 2003. Oracle Data Guard Concepts and Administrator 10g Release 2. [7] Oracle Corporate. 2006. Oracle Data Guard Broker 10g Release 2. [8] Oracle Corporate. 2011. Oracle Data Guard 11g Data Protection and Availability for Oracle Database. [9] Rohmad. Data Guard 10g : Panduan Singkat Membuat Physical Standby Database.