BAB 2 LANDASAN TEORI
2.1
Proses Bisnis Dalam operasional sebuah organisasi bisnis, proses bisnis merupakan hal 1
utama yang harus ditata dengan jelas dan benar. Hal ini termuat dalam buku karangan Satzinger, Jackson, dan Burd (2010, p134-135), Proses bisnis adalah suatu sistem yang harus dimengerti oleh seorang analis untuk memecahkan masalah pada sistem serta meningkatkan efektifitas dan efisiensi dari sistem yang sebelumnya dengan mencari fakta yang komprehensif. Proses bisnis dibagi menjadi tiga event yang berbeda, yaitu: a. Operating events Merupakan kegiatan-kegiatan pengoperasian yang dijalankan di dalam sebuah proses bisnis untuk menyediakan barang dan jasa kepada customers. b. Information events Dibedakan menjadi tiga kegiatan, yakni: - Recording events Melibatkan pengumpulan data yang menggambarkan operating events dan menyimpannya di dalam data repository. - Maintaining events Kegiatan penyimpanan referensi-referensi data terkini mengenai sumber daya yang dimiliki, pihak eksternal yang melakukan kegiatan bisnis dengan organisasi, dan karyawan yang bekerja.
7
8
- Reporting events Pembuatan laporan memberikan informasi serta pengukuran untuk mendukung kegiatan-kegiatan organisasi seperti planning, controlling, dan evaluating. c. Decision/management events Merupakan aktivitas-aktivitas di mana manajemen membuat keputusan mengenai planning, controlling, dan evaluating proses-proses bisnis. PT. Indesso Niagatama menggunakan mySAP ERP untuk menjalankan proses bisnis mereka. mySAP ERP merupakan sebuah solusi bisnis dari SAP yang mencakup proses bisnis accounting, human resources dan logistic untuk perusahaan utama dan cabangnya. mySAP ERP memungkinkan perusahaan untuk dapat mengatur proses administrasi serta pengoperasian di dalam perusahaan yang lebih baik, dan juga meningkatkan efisiensi dan profitabilitas. mySAP ERP didesain sedemikian rupa agar perusahaan dapat mengimplementasikan fungsi bisnis yang sesuai keperluan bisnis mereka, sehingga mempermudah pembaharuan apabila ada perubahan kedepannya dan menghemat biaya dalam perusahaan.
Gambar 2.1 Arsitektur mySAP ERP (Technical Concepts for mySAP ERP 2005, p5)
9
Pada gambar 2.1, kotak berwarna kuning muda merupakan fitur-fitur baru yang ada di dalam mySAP ERP edisi 2005 dan di kotak berwarna kuning tua menunjukkan item-item yang dapat dioperasikan pada SAP ERP Central Component (SAP ECC). Dan di dalam area SAP NetWeaver, kotak warna biru tua secara teknis terintegrasi dengan SAP ECC. SAP telah menetapkan standar baru pada sistem mySAP ERP yang terbagi menjadi empat bagian, yaitu : • mySAP ERP Financials Fungsi utama dari mySAP ERP Financials adalah untuk menggunakan dana perusahaaan secara efektif dan meningkatkan profitabilitas dalam jangka panjang. • mySAP ERP Human Capital Management Fungsi utama dari mySAP Human Capital Management adalah untuk mengelola karyawan secara efektif untuk mencapai kesuksesan dari perusahaan. • mySAP ERP Operations mySAP ERP Operations meliputi operasi dasar dari perusahaan seperti penjualan, pengiriman, produksi, dan maintenance. Proses sistem yang di dalam mySAP ERP Operations berjalan dengan terintegrasi secara menyeluruh. • mySAP Corporate Services my SAP Corporate Services menangani proses bisnis yang ada di dalam perusahaan seperti real estate management, asset management, manajemen produk dan portofolio, health and safety management, dan quality management.
2.2
Sistem Informasi Sistem adalah kumpulan-kumpulan objek yang saling berhubungan dan
berinteraksi satu sama lain. Seperti yang disampaikan oleh Satzinger, Jackson, dan Burd (2010, p6), sistem adalah sekumpulan komponen yang saling berhubungan
10
yang berfungsi bersama-sama untuk mencapai suatu hasil. Komponen-komponen yang ada dalam sistem seperti objek saling berkaitan dan membentuk satu kesatuan untuk mencapai suatu tujuan yang sama. Berdasarkan uraian diatas, maka dewasa ini sistem dimanfaatkan sepenuhnya oleh organisasi bisnis untuk menjalankan dan mengembangkan bisnisnya dengan penerapan informasi. Seperti yang disampaikan oleh Satzinger, Jackson, dan Burd (2010, p6-7), sistem informasi adalah sekumpulan komponen yang saling berhubungan yang mengumpulkan, memproses, menyimpan, dan menyediakan informasi yang dibutuhkan untuk menyelesaikan tugas bisnis sebagai output. Sistem informasi merupakan sistem yang terintegrasi, artinya adanya hubungan manusia dengan komputer untuk mendapatkan informasi yang dibutuhkan untuk pengambilan keputusan. Sistem berhubungan dengan unsur-unsur yang terdiri dari manusia, konsep dan prosedur-prosedur yang dihubungkan dengan urutan dari suatu kegiatan, sedangkan sistem informasi adalah hubungan antara manusia dan komputer yang bertujuan untuk mengolah suatu data menjadi informasi.
2.3
Data Center Data Center merupakan fasilitas yang digunakan untuk penempatan
beberapa kumpulan server atau sistem komputer dan sistem penyimpanan data (storage) yang dikondisikan dengan pengaturan catudaya, pengatur udara, pencegah bahaya kebakaran dan biasanya dilengkapi pula dengan sistem pengamanan fisik. Kriteria dalam perancangan data center : •
Availability Data center diciptakan untuk mampu memberikan operasi yang berkelanjutan dan terus-menerus bagi suatu perusahaan baik dalam keadaan normal
11
maupun dalam keadaan terjadinya suatu kerusakan yang berarti atau tidak. Data center harus dibuat sebisa mungkin mendekati zero-failure untuk seluruh komponennya. •
Scalability and flexibility Data center harus mampu beradaptasi dengan pertumbuhan kebutuhan yang cepat atau ketika adanya servis baru yang harus disediakan oleh data center tanpa melakukan perubahan yang cukup berarti bagi data center secara keseluruhan.
•
Security Data center menyimpan berbagai aset perusahaan yang berharga, oleh karenanya sistem keamanan dibuat seketat mungkin baik pengamanan secara fisik maupun pengamanan non-fisik.
2.4
Database
2.4.1 Data dan Database Data adalah kumpulan file atau data nyata yang masih mentah sehingga perlu diolah lebih lanjut menjadi informasi. Seperti yang disampaikan oleh Connolly dan Begg (2010, p65), database adalah sekumpulan data yang saling berhubungan dan deskripsi tentang data tersebut dirancang untuk memenuhi kebutuhan informasi dari suatu perusahaan. Database menunjukkan entitas, atribut, dan hubungan antara entitas-entitas. Entitas merupakan sebuah distinct object (orang, tempat, konsep, dan peritstiwa) di dalam perusahaan yang mewakili sebuah database. Atribut merupakan properti yang menggambarkan beberapa aspek dari objek yang ingin direkap. Istilah database mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem
12
manajemen basis data (DBMS). Jika konteksnya sudah jelas, banyak administrator dan programmer menggunakan istilah basis data untuk kedua arti tersebut. Sebuah data perlu disusun sesuai dengan tempatnya, agar tidak rancu ketika mengelolanya. Oleh sebab itu diperlukan sebuah database. Berikut ini merupakan sifat-sifat database yang dapat diuraikan sebagai berikut : 1. Kesatuan (integritas) dari file-file yang terlibat. Data-data yang ada pada database saling terintegrasi sehingga memudahkan user lain untuk mengakses file yang sama dan mencegah adanya file yang rangkap atau ganda. 2.
Internal Data-data pada database dapat diakses oleh komputer yang berbeda dan perubahan data terjadi hanya di satu tempat sehingga data lebih konsisten.
3. Terbagi atau share Elemen-elemen database dapat dibagikan pada para user baik secara sendiri – sendiri maupun secara serentak dan pada waktu yang sama (Concurrent sharing). Database baru dapat berjalan dengan baik dan memberikan keuntungan pada orgranisasi, kalau didukung oleh komponen-komponennya. Adapun enam jenis komponen-komponen dari database adalah : 1. Hardware Berupa perangkat komputer seperti media penyimpanan (disk) 2. Operating System Perangkat lunak yang digunakan untuk mengendalikan sumber daya (resources) dan melakukan operasi dasar dalam sistem komputer 3. Data
13
Data berfungsi sebagai jembatan antara komponen mesin (hardware dan software) dan manusia (user) 4. DBMS (Database Management System) Merupakan sistem software yang digunakan untuk mengontrol akses ke dalam database 5. User Merupakan orang-orang yang berinteraksi dengan sistem. 6. Software Merupakan perangkat lunak untuk mendukung jalannya suatu aplikasi.
2.4.2
Client Server Client-server computing adalah model komputer yang terdistribusi dimana
client melakukan permintaan layanan dari server. Client dan server berjalan pada komputer yang berbeda yang terhubung melalui jaringan. Contoh sederhana dari client-server computing adalah pengambilan informasi dari internet. Jenis arsitektur client server terbagi menjadi dua yaitu : • Two-tier architecture : arsitektur ini mudah diimplementasikan dan biasanya digunakan pada lingkungan yang tidak luas (satu atau dua server). Akan tetapi, two-tier architecture kurang terukur dibandingkan dengan three-tier architecture
14
Gambar 2.2 Two Tier Architecture (http://www.microsoft.com/msj/1298/ntUnix/ntunixfig01.gif) Pada gambar 2.2 menjelaskan dimana client yang menjalankan aplikasi dan server yang menangani database. Client akan membawa request dari user, memeriksa sintaks, dan melakukan generate database request ke dalam bahasa SQL atau bahasa database lainnya. Kemudian akan dilanjutkan dengan mengirimkan pesan tersebut kepada server, dan
menunggu respon dari end user. Server akan
menyetujui dan memproses request dari database, dan kemudian akan mengirim balik hasilnya kepada client. • Three-tier architecture : arsiktektur yang digunakan untuk sejumlah besar client dan server. Arsitektur ini dapat melakukan cache berkali-kali pada data dalam server yang digunakan untuk memastikan performa yang baik.
15
Gambar 2.3 Three Tier Architecture (http://pic.dhe.ibm.com/infocenter/pim/v6r0m0/topic/com.ibm.wpc.ins.doc/3Tie rArchy_B.gif) Pada gambar 2.3, client hanya bertanggung jawab terhadap user interface dari aplikasi dan memproses proses yang sederhana seperti memasukkan validasi. Application Server sebagai inti dari proses bisnis logic dan data processing yang terhubung diantara client dan database server melalui Local Area Network (LAN) atau Wide Area Network (WAN). Satu Application Server bisa digunakan untuk melayani beberapa client.
2.4.3 Oracle Database Oracle database merupakan suatu platform tunggal terintegrasi yang mendukung SQL, XML, dan procedural languages (PL/SQL, Java, dan C/C++) di dalam package yang sederhana dengan performa dan skalabilitas yang tinggi. Seperti
16
yang disampaikan oleh Cyran (2005, p1-1), Oracle Database adalah sekumpulan data yang diperlakukan sebagai suatu unit. Oracle Database merupakan database pertama yang di desain untuk enterprise grid computing, merupakan cara yang paling fleksibel dan efektif untuk mengelola informasi dan aplikasi. Enterprise grid computing membentuk sekumpulan besar standar untuk industri, penyimpanan dan server yang modular. Oracle database terdiri dari empat versi yaitu : •
Oracle Database Standard Edition One : memberikan kemudahan penggunaan, kemampuan, dan performa untuk tingkat departemen, dan aplikasi web. •
Oracle Database Standard Edition : memberikan kemudahan penggunaan , kemampuan dan performa dari versi Standard Edition One, dengan mendukung skala yang lebih luas.
•
Oracle Database Personal Edition : mendukung pengembangan untuk pengguna tunggal yang memerlukan kompatibilitas dengan Oracle Database Standard Edition One, Oracle Database Standard Edition, dan Oracle Database Enterprise Edition.
•
Oracle Database Enterprise Edition : menyediakan performa, availability, scalability, dan keamanan yang diperlukan oleh aplikasi yang critical seperti aplikasi Online Transaction Processing (OLTP) yang mempunyai traffic tinggi, proses query data warehouse yang intensif, dan yang memerlukan tuntutan akan kebutuhan aplikasi berbasis internet.
2.4.3.1 Physical Database Structures Menurut Cyran (2005, p1-8), terdapat beberapa physical database structure di dalam Oracle database yaitu :
17
•
Datafiles Datafiles berisikan semua data di dalam database. Data pada logical database seperti table dan indeks, tersimpan secara physical di dalam datafiles yang ditempatkan pada database Karakteristik dari datafiles adalah : - Datafile dapat terhubung dengan satu database -
Datafile
dapat
mempunyai
beberapa
karakteristik
yang
memungkinkan mereka secara otomatis diperluas ketika database kehabisan space -
Satu atau lebih datafiles dari logical unit database storage dinamakan tablespace
Di dalam data files berisi tentang data-data aktual yang terdapat didalam database. Data-data aktual ini mencakup tabel dan indeks yang menyimpan data, kamus data, informasi tentang struktur data, dan segment roolback. data files memiliki blok pertama yang biasanya disebut header yang berisi tentang informasi
dari
chekpoint
structure
yang
berfungsi
untuk
membantu
pemeliharaan dan recovery dengan mudah. Gambar data files bisa dilihat pada gambar 2.4
18
Gambar 2.4 Data Files (http://docs.oracle.com/cd/E11882_01/server.112/e25789/img/cncpt284.gif) •
Control files Setiap Database Oracle mempunyai control file. Control file berisi entri yang menentukan struktur fisikal dari database. Contohnya control file berisi informasi seperti nama database, nama dan lokasi dari datafile dan redo log files,time stamp dari database. Oracle dapat melakukan multiplex control file yang secara bersamaan dan memelihara sejumlah copy control file yang identik, untuk melindungi dari kegagalan yang melibatkan control file.
Gambar 2.5 Control Files (http://flylib.com/books/3/396/1/html/2/images/fig03_03.jpg)
19
Pada gambar 2.5, control file berisi informasi tentang file-file yang merupakan bagian dari database seperti data files dan redo log files. Didalam control files terdapat : - Nama database : dibuat untuk mencatat atau menentukan inisialisasi parameter dari DB_NAME atau digunakan untuk perintah database create - Database Identifier : dicatat pada saat database dibuat - Time Stamp : Format timestamp hampir sama dengan format date dalam SQL, perbedaan timestamp dengan date adalah format standarnya. Format standar dari date adalah yyyy-mm-dd sedangkan format standar timestamp adalah yyyy-mm-dd hh:mm:ss - Nama dan lokasi data files dan online redo log files : informasi ini diganti atau diubah ketika data files atau redo log ditambahkan, diubah atau dihapus. - Informasi dari Tablespace : informasi ini akan diubah atau diganti ketika tablespace diubah atau diganti. - Redo log history : dicatat selama switch log - Lokasi dan status archived logs : dicatat ketika archived log terjadi - Lokasi dan status backup : dicatat oleh Recovery Manager - Current log sequence number : dicatat ketika switch log terjadi - Informasi checkpoint : dicatat ketika titik checkpoint dibuat •
Redo log files Setiap Oracle Database mempunyai dua atau lebih redo log files. Sekumpulan redo log files biasanya yang secara kolektif dikenal sebagai redo log untuk database. Redo log terdiri dari redo entries (bisa dikenal sebagai redo records). Fungsi utama dari dari redo log adalah untuk merekap semua perubahan dari dalam data. Cara kerja redo log adalah log writer (LGWR) yang akan mencatat
20
isi di dalam redo log. Ketika redo log telah penuh, maka LGWR akan pindah ke redo log selanjutnya untuk melakukan pencatatan. Pada saat redo log terakhir telah penuh, maka LGWR akan kembali ke redo log awal untuk melakukan penulisan. Proses kerja redo log bisa dilihat pada gambar 2.6
Gambar 2.6 Cara Kerja Redo Log (Fogel, p10-3) •
Archive log files Oracle secara otomatis melakukan otomatisasi pengarsipan redo log ketika database berada dalam mode ARCHIVELOG. Dengan menjalankan archive log, maka kita bisa melakukan proses pengarsipan redo log file. Keuntungan apabila menjalankan database dalam keadaan archive log adalah : - Dapat menjamin pemulihan semua transaksi yang telah di-commit pada saat terjadi failure pada operating system atau disk. - Bisa melakukan backup database yang masih dalam keadaan open dan masih dalam penggunaan.
21
- Dapat menjaga standby database seperti kondisi terkini yang ada pada database asli dengan terus meng-apply archive redo log dari database asli ke standby database.
Gambar 2.7 Proses Archiving Pada Redo Log (Fogel, p11-3) Pada gambar 2.7, ARC0 bertugas untuk melakukan proses archiving dari redo log yang telah terisi menjadi archive redo log. Archive redo log tersebut akan disimpan secara berurutan dimana urutan paling akhir merupakan kondisi transaksi yang paling baru. •
Parameter files Parameter files berisikan daftar konfigurasi parameter untuk instance dan database. Berikut ini merupakan gambar dari parameter file :
22
Gambar 2.8 Parameter File (http://docs.oracle.com/cd/B10500_01/rac.920/a96596/pss81002.gif) Pada gambar 2.8 menjelaskan dua node dengan instance DB1 dan DB2. Tiap instance diaktifkan, maka akan membaca parameter file tiap instance sendiri yaitu initdb1.ora dan initdb2.ora. Dua parameter itu terus melanjutkan pembacaan ke arah inisialisai parameter tunggal yaitu initdb.ora. •
Alert and trace log files Setiap server dan proses dapat di write ke trace file yang terkait. Ketika internal error terdeteksi oleh proses, maka informasi error tersebut akan ditulis ke dalam trace file. Beberapa informasi yang ditulis di dalam trace file dimaksudkan untuk database administrator sedangkan informasi lainnya untuk Oracle Support Services.
•
Backup files Backup file digunakan untuk mengembalikan file-file yang hilang akibat kegagalan sistem. Server mengelola backup dan recovery, contohnya seperti melakukan penjadwalan backup, proses recovery dan menerapkan backup file yang benar ketika recovery diperlukan.
23
Gambar 2.9 Backup dan Recovery (http://docs.oracle.com/cd/B19306_01/server.102/b14220/img/cncpt207.gif) Pada gambar 2.9
digambarkan mengenai konsep recovery dan backup jika
terjadi kegagalan media. Database backup yang telah diambil adalah mulai dari SCN 100-SCN 500 yang telah dicopy ke media penyimpanan. Jika terjadi kegagalan pada database, maka otomatis akan melakukan recovery data sebelumnya dari backup yang sudah dilakukan yaitu SCN 100 - SCN 500.
2.4.3.2 Struktur Logical Database Menurut Cyran (2005, p1-10), terdapat beberapa bagian logical database structure yaitu : •
Tablespaces Database dibagi menjadi logical storage units yang disebut tablespaces, yang mengelompokkan logical structure yang terkait secara bersamaan. Contoh dari tablespaces biasanya melakukan pengelompokkan semua objek aplikasi untuk menyederhanakan beberapa operasi administratif.
24
Sebuah tablespace juga dapat berfungsi sebagai online (accessible) atau offline (no accessible). Umumnya tablespaces bersifat online sehingga user dapat mengakses informasi di dalam tablespace. Akan tetapi, kadang-kadang tablespace dapat bersifat offline untuk membuat sebagian database tidak tersedia ketika pihak lain mencoba mengakses database.
Gambar 2.10 Tablespace (Cyran, p3-1) Database, tablespaces, dan datafile mempunyai beberapa perbedaan yaitu : - Oracle database terdiri dari satu atau lebih logical storage units yang disebut tablespace, dimana menyimpan semua data pada database secara kolektif. - Tiap tablespace dalam oracle database terdiri dari satu atau lebih file yang disebut datafile dan merupakan physical structure yang menyesuaikan dengan operating system dimana oracle itu dioperasikan. - Data pada database secara kolektif disimpan di dalam datafile yang ada di dalam tiap tablespace pada database.
25
•
Oracle data blocks Pada saat tingkat granularity berada pada keadaan yang terbaik, Oracle database akan disimpan di dalam data blocks. Satu data block sesuai dengan jumlah byte tertentu yang ada pada space dalam disk database.
Gambar 2.11 Format Data Block (Cyran, p2-3) Penjelasan mengenai format data block pada gambar 2.11 adalah sebagai berikut: - Header (common and variable) Header berisikan informasi yang umum seperti alamat dari blok dan tipe dari segment (contoh data atau indeks). - Table directory Bagian ini berisikan informasi tentang row yang dimiliki table pada blok tersebut. - Row directory Berisikan informasi tentang jumlah row yang sebenarnya di dalam blok (termasuk lokasi dari tiap row di dalam row data area). - Overhead
26
Overhead merupakan sebutan secara kolektif untuk data block header, table directory, dan row directory. - Row data Bagian ini berisikan data dari table atau indeks. - Free space Free space dialokasikan untuk menambah row baru dan meng-update row yang membutuhkan tambahan ukuran seperti meng-update null value menjadi non null value. Berikut ini merupakan gambar hubungan antara segment, extent, dan data block :
Gambar 2.12 Hubungan Antara Segment, Extent, dan Data Blocks (Cyran, p2-2) •
Extents Tingkatan selanjutnya dari logical database space adalah extent. Extent adalah nomor spesifik pada data block yang berdekatan, didapatkan melalui alokasi tunggal dan digunakan untuk menyimpan tipe informasi yang spesifik.
•
Segments
27
Diatas extent, tingkatan logical adalah segment. Segment adalah kumpulan dari alokasi yang diperluas untuk beberapa struktur logical. Dibawah ini akan dijelaskan beberapa jenis segments : -
Data segment Tiap tabel nonclustered mempunyai data segment. Semua tabel data disimpan di data segment yang diperluas.
-
Index segment Tiap index mempunyai index segment yang menyimpan semua data. Untuk index yang dipartisi, tiap partisi mempunyai index segment.
-
Temporary segment Temporary segment dibuat oleh Oracle ketika SQL statement
memerlukan
temporary database area untuk menyelesaikan proses eksekusi. Ketika statement telah selesai melakukan proses eksekusi, temporary segment yang diperluas akan kembali ke dalam sistem untuk penggunaan di waktu yang akan datang. -
Rollback segment Versi Oracle yang baru dirilis menggunakan rollback segment untuk meng-undo informasi. Informasi yang ada di dalam rollback segment digunakan ketika database recovery menghasilkan informasi database yang read-consistent dan untuk rolling back transaksi yang tidak terikat untuk user.
2.4.3.3 Oracle Instance Sebuah server database Oracle terdiri dari oracle database dan instance database. Setiap kali database dijalankan, SGA dialokasikan, maka oracle background prosess akan dijalankan. Instance merupakan kombinasi dari
28
background process dan memori buffer yang dijalankan. Didalam instance (lihat pada gambar 2.13 halaman 29) terdapat : -
System Global Area (SGA) adalah area memori yang terdapat di server database yang mengakses ke Oracle Database dan mendapatkan permintaan data yang dibutuhkan. Komponen-komponen SGA terdiri dari • Shared Pool Menyimpan berbagai jenis dari berbagai jenis program data seperti PL/SQL SQL, code, sistem parameter dan data dictionary. Sistem shared pool akan terlibat dalam semua proses yang terjadi di oracle database • Stream Pool Berfungsi untuk menyediakan memori untuk Oracle Stream yang berfungsi untuk mengeluarkan pesan error atau membersihkan proses yang sudah tidak diperlukan lagi. • Large Pool Merupakan memori yang berfungsi untuk menampung objek-objek yang memerlukan memori yang besar. • Java Pool Merupakan memori yang digunakan untuk menyimpan kode java dan dalam Java Virtual Machine (JVM) • Buffer Cache Merupakan memori yang menyimpan copy data blok yang dibaca dari data file. • Redo Buffer Menyimpan perubahan-perubahan yang dilakukan terhadap database seperti melakukan DML statement.
29
-
Background Processes merupakan sistem multiprocess oracle yang berfungsi untuk memaksimalkan kinerja dari user. Background Processes terdiri dari : • Database Writer (DBWR) : menulis data dari database buffer cache ke data files • Log Writer (LGWR) : menulis data dari redo log buffer ke redo log files • System Monitor (SMON) : melakukan maintenance terhadap Oracle Instance • Process Monitor (PMON) : mengawasi user process yang mengakses database • Archiver (ARC) : Archiver membaca redo log, setelah itu membuat salinan dari redo log tersebut. • Checkpoint (CKPT) : meng-update data file header dan control files ke LGWR ketika proses checkpoint selesai. • Recover (RECO) : memulihkan data atau transaksi sampai pada titik kegagalan terjadi
User
User
User
User
User Process
Shared Pool
Stream Pool
Large Pool System Global Area (SGA
Java Pool
Recover (RECO)
Process Monitor (PMON)
Buffer Cache
Sytem Monitor (SMON)
Redo Buffer
Database Writer (DBWR)
Log Writer (LGWR )
Archiver (ARC0)
Gambar 2.13 Oracle Instance
Oracle Processes (Background Processes)
30
2.4.3.4 System Change Number (SCN) Dalam sistem database oracle dikenal dengan sebuah istilah yang berfungsi untuk mencatat waktu dari aktivitas sistem database. Istilah itu disebut dengan System Change Number (SCN). Seperti yang disampaikan oleh Fogel (2008, p3214), SCN merupakan sebuah sistem yang menyerupai catatan waktu yang biasa digunakan dalam database untuk menjamin konsistensi data transaksi. Database menggunakan SCN untuk mengkoordinasikan transaksi antar database yang berbeda. SCN penting untuk transaksi karena berfungsi sebagai timestamp untuk mensinkronisasi transaksi, bahkan jika transaksi gagal. Administrator dapat menggunakan SCN ini untuk mengkoordinasikan perubahan yang dibuat ke database global. SCN global yang digunakan untuk commit transaksi juga dapat digunakan untuk mengidentifikasi transaksi yang dilakukan, misalnya, dalam proses recovery yang di distribusikan.
2.4.3.5 Flashback Database Flashback database adalah sebuah solusi continuous data protection (CDP) yang terintegrasi dengan database Oracle. Flashback database menyediakan suatu cara yang cepat untuk mengembalikan sebuah database ke SCN sebelumnya dengan menggunakan struktur data pada on-disk yang disebut flashback logs.
2.5
Database Management System (DBMS ) Menurut Connolly dan Begg (2010, p66), DBMS merupakan sistem software
yang memungkinkan user untuk menentukan, membuat, mengelola, dan mengontrol akses ke dalam database. Contoh dari DBMS modern adalah Microsoft Access, Oracle, SQL Server, dan DB2. DBMS menyediakan fasilitas-fasilitas sebagai berikut:
31
•
Memungkinkan pengguna untuk menentukan database melalui Data Definiton Language (DDL). DDL memungkinkan user untuk menentukan tipe data, struktur, dan constraint pada data yang disimpan di dalam database.
•
Memungkinkan user untuk melakukan insert, update, dan mengambil data dari database menggunakan Data Manipulation Language (DML).
•
Menyediakan akses yang terkontrol ke dalam database, seperti : - Sistem sekuritas berguna untuk menghindari pengguna yang tidak dikenal untuk mengakses database. - Sistem integritas yang mengelola konsistensi dari data yang disimpan. - Sistem control yang konkurensi dimana memperbolehkan mengakses database secara share. - Sistem kontrol recovery yang memulihkan database ke kondisi sebelum terjadinya failure pada hardware atau software. - Katalog yang dapat diakses oleh pengguna dimana berisikan deskripsi dari data yang ada di dalam database. Menurut Conolly dan Begg (2010, p68-71), terdapat lima jenis DBMS
environment yaitu hardware, software, data, procedures, dan people
Data Hardware
Software
Procedure
People
Gambar 2.14 DBMS Environment Pengelolaan data secara fisik tidak dilakukan oleh pemakai secara langsung, tetapi ditangani oleh sebuah Perangkat Lunak yang khusus atau spesifik. Perangkat lunak inilah disebut DBMS yang akan menentukan bagaimana data diorganisasi, disimpan, diubah dan diambil kembali. Selain itu juga menerapkan mekanisme pengamanan data, pemakaian data secara bersama, konsistensi data, dan sebagainya.
32
Menurut al-bahra bin ladjamudin (2005, p131), manfaat dari DBMS adalah sebagai berikut : •
Kepraktisan Sistem yang berbasis kertas akan menggunakan kertas yang sangat banyak untuk menyimpan informasi, sedangkan DBMS menggunakan media penyimpanan sekunder yang berukuran kecil tetapi padat informasi.
•
Kecepatan Mesin dapat mengambil atau mengubah data jauh lebih cepat dari pada manusia.
•
Mengurangi kejemuan Orang cenderung menjadi bosan kalau melakukan tindakan-tindakan berulang yang menggunakan tangan (misalnya harus mengganti suatu informasi). DBMS memudahkan user untuk mengambil data dan melakukan perubahan
data melalui statement DDL dan DML. DBMS juga mempunyai sistem sekuritas untuk mencegah akses database oleh user yang tidak memiliki hak akses. Database yang diakses dapat dipakai atau di-share sehingga user lain dapat mengakses data yang sama sehingga data tetap terdistribusi.
2.6
Data Guard Oracle Data Guard dapat menjamin high availability, data protection (sebuah
fitur yang berfungsi untuk meminimalisir resiko kehilangan data), dan disaster recovery (kemampuan untuk melindungi data dari bencana yang tidak direncanakan) bagi data perusahaaan. Oracle data guard digunakan sebagai solusi sistem high availability untuk menjaga keberlangsungan proses bisnis suatu perusahaan. Seperti yang dikatakan oleh Weygant (2001, p11), high availability adalah suatu bentuk jaminan terhadap kehilangan yang terjadi di dalam bisnis akibat downtime dari komputer. Dari sudut pandang yang lain, high availability memberi kesempatan baru
33
yang memungkinkan perusahaan untuk menyediakan pelayanan ke pelanggan yang lebih baik dan kompetitif. High availability sering terlihat sebagai jaminan terhadap kerusakan seperti : • Kehilangan pendapatan akibat gangguan dari sistem • Ketidakpuasan pelanggan terhadap kualitas pelayanan dari perusahaan. • Kesempatan yang hilang akibat gangguan pada sistem yang berdampak pada terhambatnya proses bisnis perusahaan. Data guard menyediakan layanan-layanan untuk membuat, mengelola serta melakukan monitoring terhadap satu atau lebih standby database agar production database dapat bertahan dari bencana dan kerusakan data. Jika production database mengalami downtime karena sebab tertentu, maka data guard akan mengalihkan tugas dan fungsinya kepada standby database maka downtime dapat diminimalisir. Dengan data guard, administrator dapat dengan bebas meningkatkan performance dari production database dengan menyerahkan proses backup dan operasi reporting kepada standby database. Susunan data guard terdiri atas : 1.
Primary database Menurut Schupmann (2008, p1-2), primary database merupakan sebuah konfigurasi data guard yang berisikan satu production database dan berperan sebagai primary. Production database adalah database utama yang diakses oleh kebanyakan aplikasi dan digunakan untuk memproses transaksi seharihari. Database ini juga yang diakses oleh sebagian besar aplikasi. Primary database juga dapat merupakan instance tunggal dari oracle database atau oracle real application cluster database. Fungsi dari primary database adalah untuk menyimpan data-data penting perusahaan. Sebagai contoh : transaksi dari perusahaan biasanya membutuhkan sebuah primary database untuk
34
menyimpan transaksi-transaksi yang dilakukan oleh komputer yang berbeda. Transaksi-transaksi tersebut disimpan dalam primary database yang dapat diakses oleh aplikasi perusahaan. 2.
Standby database. Menurut Schupmann (2008, p1-2), standby database merupakan sebuah salinan yang konsisten dari primary database. Dengan menggunakan backup dari primary database, kita dapat membuat hingga sembilan standby database dan menggabungkannya di dalam konfigurasi data guard. Setelah dibuat, data guard akan secara otomatis mengelola setiap standby database dengan mengirimkan redo data dari primary database dan menyetujui redo data tersebut ke dalam standby database. Standby database terdiri dari dua jenis yang berbeda yaitu : •
Physical standby database Physical standby database merupakan salinan yang secara fisik sama dengan primary database baik secara tiap blok, skema, dan indeks.
Gambar 2.15 Physical Standby Database (http://docs.oracle.com/cd/B28359_01/server.111/b28281/img/haovw0 22.gif) Penjelasan pada gambar 2.15, physical standby database akan menerima redo log dari primary database dengan menggunakan redo apply. Proses redo apply ini dilakukan agar physical standby database tetap
35
synchronize dengan primary database. User hanya dapat melihat data melalui physical stanby database tetapi tidak bisa melakukan perubahan data seperti update, insert dan delete. Selain itu, user juga dapat melakukan backup melalui physical standby database dimana isi dari backup tersebut sama dengan isi dari primary database. •
Logical standby database Logical standby database pada awalnya dibuat sebagai salinan yang sama dengan primary database, tetapi kemudian dapat diubah menjadi struktur yang berbeda. Logical standby database diupdate dengan menjalankan perintah SQL. Ini memungkinkan user untuk mengakses standby database untuk melakukan query dan membuat laporan setiap saat.
Gambar 2.16 Logical Standby Database http://docs.oracle.com/cd/B28359_01/server.111/b28281/img/haovw0 22.gif Berdasarkan gambar 2.16, dapat dijelaskan bahwa pada logical standby database, redo data yang diterima dari primary database diubah ke SQL statement dan dikirm ke logical standby database. User dapat melihat dan melakukan perubahan data pada logical standby database. Database pada konfigurasi data guard dihubungkan dengan menggunakan Oracle Net dan disarankan terpisah secara geografis. Production dan standby database dapat dikelola dengan menggunakan SQL command-line interfaces atau
36
Data Guard Broker interfaces, yaitu Data Guard Manager Utility (DGMGRL) dan graphical user interface yang terintegrasi dalam Oracle Enterprise Manager Grid Control. Berikut ini merupakan gambar arsitektur dari proses kerja data guard :
Gambar 2.17 Arsitektur Data Guard (Oracle Database 10g Disaster Recovery for the Enterprise, p8) Pada gambar 2.17, di bagian primary database, oracle data guard menggunakan Log Writer Process (LGWR) atau Archiver Process (Arcn) untuk mengumpulkan transaksi redo data dan mengirimkan data tersebut ke standby, dan Fetch Archive Log Process (FAL) menyediakan mekanisme client-server untuk mengirimkan archive log ke standby meliputi hilangnya komunikasi antara primary dan standby yang akan dilakukan sinkronisasi gap yang terjadi secara otomatis. Pada bagian standby database, Oracle Data Guard mengunakan Remote File Server (RFS) untuk menerima redo record dari primary database, Managed Recovery Process (MRP) untuk menyetujui informasi redo dari physical standby database, dan Logical Standby Process (LSP) untuk menyetujui informasi redo dari hasil terjemahan SQL ke logical standby database. Jika data guard broker diaktifkan maka Oracle data guard juga menggunakan Data Guard Broker Monitor (DMON) untuk mengelola
37
serta mengawasi primary database dan standby database dalam sebuah konfigurasi tunggal. Menurut Anil (2012, p2231-5268), keuntungan yang akan diperoleh apabila menggunakan oracle data guard adalah sebagai berikut : Disaster recovery, data protection, dan high availability. Data guard menyediakan disaster recovery secara menyeluruh dan efisien dan solusi high availability. Kemudahan dalam mengelola switchover dan failover memungkinkan untuk melakukan pergantian peran antara primary database dan standby database, meminimalisir downtime yang terjadi pada primary database baik secara terencana ataupun tidak terencana. Data protection secara menyeluruh. Standby database menyediakan suatu perlindungan untuk menghadapi kerusakan data dan kesalahan pengguna. Kerusakan fisik yang terjadi pada primary database tidak akan dikirim kepada standby database. Dengan demikian, maka kerusakan logical atau kesalahan pengguna yang menyebabkan primary database rusak dapat diatasi. Pada akhirnya, redo data akan divalidasi ketika telah disetujui ke dalam standby database. Penggunaan sumber daya sistem yang lebih efisien. Table pada standby database di-update dengan redo data yang diterima dari primary database dapat digunakan untuk keperluan lain seperti backup, reporting, summations, dan queries, sehingga mengurangi beban kerja CPU dan I/O cycles yang melakukan tugas ini. Dengan logical standby database, pengguna dapat melakukan manipulasi table dalam skema yang tidak diupdate dari primary database. Logical standby database dapat tetap terbuka ketika table di-update dari primary database, dan table hanya dapat diakses secara read-only.
38
Fleksibilitas dalam perlindungan data untuk menyeimbangkan kebutuhan availability dengan performa. Oracle data guard menawarkan cara proteksi, availability, dan performa secara maksimum untuk membantu perusahaan dalam menyeimbangkan kebutuhan data availability dengan performa. Mendeteksi jarak dan resolusi yang ada secara otomatis. Jika koneksi antara primary database dengan satu atau lebih standby database terputus, redo data yang dihasilkan oleh primary database tidak bisa dikirim ke standby database. Setelah koneksi terhubung kembali, archive redo log yang hilang (bisa disebut juga gap) akan secara otomatis terdeteksi oleh data guard, dimana mereka akan secara otomatis mengirimkan archive redo log yang hilang kepada standby database. Standby database akan sinkron dengan primary database, tanpa adanya intervensi dari DBA. • Manajemen yang simple dan secara terpusat. Data guard broker menyediakan graphical user interface dan command-line interface untuk otomatisasi tugas manajemen dan operasional yang ada pada database di dalam data guard configuration. Data guard broker juga mengawasi semua sistem yang ada di dalam data guard configuration. • Integrasi dengan database oracle. Data guard merupakan sebuah fitur yang telah tersedia di dalam Oracle Database Enterprise Edition dan tidak memerlukan instalasi secara terpisah.
39
Sedangkan kekurangan oracle data guard adalah sebagai berikut : • Hubungan jaringan yang rusak diantara observer dan primary server Tidak dapat digunakan jika sambungan terputus antara observer dan primary database atau jaringan yang menyebabkan kegagalan primary database akan diisolasi dengan mencoba menggunakan fast-start failover • Kegagalan instance Jika single-instance primary database (baik RAC atau non-RAC) atau jika semua instance RAC primary database gagal, maka observer akan menjalankan fast-start failover • Shutdown Abort Jika single-instance primary database (baik RAC atau non-RAC) atau jika semua instance RAC primary database ditutup dengan menggunakan opsi abort, maka observer akan menjalankan fast-start failover • Offline data files Jika observer menentukan bahwa satu atau lebih file data dalam primary database yang diambil oleh database telah offline karena kesalahan I / O, maka observer akan menjalankan fast-start failover • Corrupted dictionary merupakan corruption dictionary kritis dari objek database. Saat ini, keadaan ini dapat dideteksi hanya ketika database terbuka • Corrupted control files Setiap database yang memerlukan log-shipped (log yang dikirimkan) harus diatur melalui rencana pemeliharaan yang terpisah.
40
Konfigurasi data guard menggunakan RPO (Real Point Objective) dan RTO (Real Time Objective) sebagai acuan dasar untuk memenuhi kebutuhan perusahaan dalam menentukan waktu pemulihan data dan tingkat kehilangan data yang bisa di tolerir oleh sebuah perusahaan. Seperti yang disampaikan oleh Carpenter, Meeks, dan Kim (2009, p33), RPO berfungsi untuk mengurangi tingkat kehilangan data apabila terjadi kegagalan akibat koneksi jaringan dengan mempertimbangkan berapa banyak data yang hilang supaya tidak berpengaruh besar terhadap perusahaan. RPO merupakan solusi yang memberikan toleransi terhadap tingkat kehilangan data yang kita atur, contohnya selama dua jam data tersebut bisa hilang. RPO biasanya digunakan untuk mengambil keputusan bisnis untuk beberapa aplikasi yang datanya yang tidak boleh hilang atau merupakan data-data penting perusahaan seperti data transaksi. RPO dapat ditingkatkan dengan menjalankan backup sesering mungkin, tetapi permasalahannya adalah jumlah waktu yang dibutuhkan untuk menyelesaikan backup tersebut. Sedangkan pengertian RTO menurut Carpenter, Meeks, dan Kim (2009, p34) adalah waktu yang dibutuhkan untuk mengembalikan data yang hilang sehingga dapat meminimalkan kerugian yang diterima perusahaan. RTO dianggap lebih penting dari RPO karena berhubungan dengan pengembalian data perusahaan akibat downtime. Sebuah perusahaan biasanya memiliki persyaratan untuk RTO dalam proses bisnis mereka untuk mengatasi berbagai masalah kehilangan data dalam perusahaan tersebut yang biasanya berdampak pada kerugian fisik perusahaan
2.6.1 Redo Log Redo log files merupakan komponen yang penting dari database untuk melakukan database recovery, Redo log mencatat semua perubahan yang terjadi di database. Jika pada saat oracle mengalami kegagalan dan data yang diperbaharui
41
belum tersimpan di datafile, oracle akan menggunakan redo log file untuk melakukan recover data yang telah diperbaharui. Oracle akan mengembalikan posisi transaksi terakhir saat sebelum oracle mengalami kegagalan. Redo Log terdiri dari dua jenis yaitu online redo log dan archived redo log yang diperlukan dalam pembuatan data guard : •
Online redo log Setiap instance dari Oracle primary database dan logical standby database memiliki Online redo log untuk melindungi database jika terjadi kegagalan
•
Archived redo log Sebuah archived redo logs diperlukan agar data transaksi pada standby database tetap konsisten dengan yang ada di primary database. Primary database, dan physical and logical standby databases semua menggunakan archived redo logs. Database oracle ditetapkan, secara default, untuk berjalan dalam modus ARCHIVELOG sehingga archiver atau pengarsipan (ARCN) melakukan proses salinan otomatis setiap Redo log penuh secara online redo log untuk satu atau lebih file archived redo logs.
Sebuah database oracle dapat dijalankan dengan dua mode, yaitu : • NOARCHIVELOG NOARCHIVELOG berfungsi untuk melindungi database dari instance failure tetapi tidak melindungi database akibat kerusakan atau kegagalan media. Jika terjadi kerusakan media, maka dapat menggunakan recovery instance untuk mengembalikan transaksi yang hilang yang telah tersimpan ke dalam online redo log. Ketika dalam keadaan NOARCHIVELOG, database masih berjalan normal tetapi tidak dapat melakukan online backup. • ARCHIVELOG
42
Ketika database dalam keadaan ARCHIVELOG maka redo log akan diaktifkan secara otomatis. Database control file menunjukkan bahwa redo log tidak dapat digunakan oleh LGWR sampai redo log tersebut di archive atau diarsipkan. Jika semua database berjalan dalam mode ARCHIVELOG, maka dapat melakukan recover database yang telah terdistribusi.
2.6.2 Standby Redo Log Standby redo log sebenarnya sama dengan online redo log, kecuali standby redo log digunakan untuk menyimpan redo data yang diterima dari database lain. Standby redo log diperlukan apabila kita mau implementasikan beberapa fitur, yaitu : • Proteksi data dengan maximum protection dan maximum availability. Proteksi data digunakan untuk mencegah kehilangan data yang disebabkan akibat kerusakan atau gangguan yang terjadi pada database. Dengan adanya proteksi data, maka dapat mengurangi tingkat kehilangan data. Penjelasan tentang proteksi data akan dibahas pada bab dua (subbab 2.6.5 halaman 45) • Real-time apply. Dengan real time apply, maka redo log yang dihasilkan oleh primary database akan segera diterima dan disetujui oleh standby database tanpa menunggu standby redo log file di-archive terlebih dahulu. • Cascaded destinations Dengan adanya cascaded destinations maka physical standby database dapat mengirimkan redo data yang diterima dari primary database ke standby database. Penggunaan dari cascaded destinations akan mengurangi proses kerja dari primary database. Sebagai contoh dari penggunaan cascaded destinations adalah dengan
menerapkan
redo
transport
service
dengan
synchronous
atau
43
asynchronous pada data guard. Penjelasan tentang redo transport service bisa dilihat pada bab dua (subbab 2.6.6 halaman 47) Standby redo log memberikan beberapa keuntungan, yaitu : • Standby redo log dapat ditaruh di raw device yang merupakan suatu media penyimpanan yang belum memiliki file system seperti NTFS dan FAT32, dimana ini penting jika primary dan standby database ada di dalam real application cluster • Standby redo log dapat di multiplexing (mengirimkan lebih dari satu informasi) dengan menggunakan bagian dari multiplexing tersebut yang akan meningkatkan kehandalan dari archived log • Ketika failover, data guard dapat melakukan recover dan menyetujui lebih banyak redo data dari standby redo log daripada archived log itu sendiri. •
Proses ARCn (sebagai contoh oracle memiliki 10 ARCn yang diaktifkan, maka ARCn memiliki 10 proses yang dimulai dari ARC0 sampai ARC9) atau LGWR di primary database dapat mengirim redo data secara langsung ke standby redo log dimana akan menghilangkan kebutuhan untuk mendaftar sebagian archived log file.
2.6.3 Real Time Apply Real time apply merupakan sebuah fitur dari data guard yang memungkinkan standby database memiliki suatu kesamaan yang dekat dengan primary database, yaitu dengan memungkinkan pelaporan secara up-to-date dan real time. Real time apply juga akan membuat proses switchover dan failover menjadi lebih cepat, dan juga mengurangi downtime di dalam bisnis baik secara terencana maupun tidak terencana.
44
2.6.4 Apply Service Apply service merupakan penerapan redo apply secara otomatis ke standby database untuk menjaga sinkronisasi dari primary database dan memungkinkan transaksional data yang konsisten. Data Guard menawarkan dua metode yang berbeda untuk menerapkan Redo ke standby database yaitu : Redo Apply (Physical Standby) dan SQL Apply (Logical Standby). Redo Apply dan SQL Apply memiliki kemampuan transisi yang sama untuk mensinkronisasi standby database dengan cepat ke primary. Data Guard Redo Apply merupakan konfigurasi dari data guard untuk memberikan perlindungan data yang optimal untuk mencegah kerusakan fisik yang dapat terjadi pada primary database yang diterapkan ke standby database. Redo Apply memelihara sebuah Standby Database yang merupakan tempat block-by-block dan replika physical dari primary database. Sebagai proses dari RFS dimana Standby menerima primary redo log dan menulisnya ke sebuah standby redo log, Redo Apply menggunakan Media Recovery untuk membaca redo records dari standby redo log ke dalam memori dan menerapkan perubahan langsung ke Standby Database. Media Recovery Coordinator (MRP0) mengelola recovery session, menggabungkan redo yang dilakukan oleh SCN dari beberapa instance. Data Guard menggunakan Oracle proses untuk memvalidasi redo sebelum diterapkan ke standby database. Physical standby database dikelola dengan menggunakan Redo Apply yang merupakan pilihan terbaik untuk disaster recovery (DR) berdasarkan simplicity, transparency, high performance, dan superior data protection. Keuntungan dari Physical standby databases meliputi: -
Melengkapi aplikasi dan data transparency – tidak ada pembatasan tipe data
-
Tingkat performa yang tinggi, pengolahan database lebih sederhana.
45
-
Sistem Oracle akan melakukan pemeriksaan redo log yang masuk kedalam standby
database
terlebih
dahulu
yang
bertujuan
untuk
memberikan
perlindungan terbaik terhadap physical corruption terutama data yang hilang pada waktu penulisan. -
Dapat dimanfaatkan untuk up-to-date read-only queries dan reporting sekaligus memberikan disaster recovery (DR)
-
Mampu melakukan backup dari primary database sambil memberikan disaster recovery (DR)
-
Mampu mengeksekusi upgrade database secara bergulir dimulai dari Oracle Database 11g
2.6.5 Data Protection Mode Oracle data guard menyediakan tiga jenis perlindungan data yaitu maximum protection, maximum availability, dan maximum performance. Untuk mengetahui perbedaan ketiga jenis perlindungan dalam mengatasi resiko kehilangan data, maka dapat dilihat dari table dibawah ini : Tabel 2.1 Perbandingan Tipe Data Protection Protection Mekanisme redo Resiko kehilangan data Mode transport Maximun Zero data loss, Double LGWR SYNC Protection failure protection Maximun Zero data loss, Single LGWR SYNC Availability failure protection Maximun Minimal data loss – LGWR ASYNC or Performance usually 0 to few second ARCH
Dibawah ini merupakan penjelasan dari tabel 2.1 diatas : -
Maximun Protection Maximun Protection menyediakan tingkat proteksi data paling tinggi untuk
primary database, memastikan tidak ada data yang hilang sebagai solusi dari disaster
46
recovery. Ketika menjalankan maximum protection, redo record akan dikirimkan secara bersamaan dengan proses log writer (LGWR) dari primary database ke standby database, dan transaksi tidak akan di commit di primary database sampai ada kepastian bahwa data yang dikirim tersebut telah ada setidaknya di satu server standby. Jenis proteksi ini harus dikonfigurasikan setidaknya dengan dua standby database. -
Maximun Availability Maximun availability juga menawarkan tingkat proteksi tertinggi untuk primary
database dengan memastikan tidak ada data hilang akibat komponen yang rusak. Proses kerja maximum availability sebenarnya sama kayak maximum protection. Akan tetapi pada jenis proteksi ini, jika tidak ada konektivitas ke standby database karena adanya masalah jaringan, proses di dalam primary database akan tetap berjalan. Perbedaaan di standby database mungkin akan jauh berbeda daripada primary database, tetapi ketika standby database kembali terhubung, database akan secara otomatis melakukan sinkronisasi tanpa terjadi kehilangan data. -
Maximun Performance Maximun performance merupakan pengaturan awal dari data proteksi di dalam
data guard. Jenis proteksi ini menawarkan proteksi data yang lebih sedikit, tetapi mempunyai performa yang tinggi melebihi maximum availability. Proses kerja jenis proteksi data ini adalah primary database mengirimkan data transaksi, redo data secara tidak bersamaan ke standby database dengan log writer (LGWR). Proses commit pada primary database tidak akan menunggu penulisan data sampai selesai pada standby database. Jika standby database tidak bisa digunakan, maka proses pada primary database akan tetap berjalan tanpa berdampak pada performanya. Akan tetapi, pada beberapa kejadian, akan muncul pesan error yang bisa dilihat dari
47
alert log. Apabila terjadi kerusakan pada primary, mungkin saja ada beberapa transaksi yang di commit pada primary belum selesai dikirimkan ke dalam standby sehingga akan terjadi kehilangan data.
2.6.6 Redo Transport Services Data guard Redo Transport Services mengkoordinasikan transmisi dari redo dari primary database ke standby database. Pada waktu yang sama proses LGWR (Log Writer) dari primary database akan menulis redo ke ORL (Online Redo Log), sebuah proses Data Guard yang terpisah yang dinamakan LNS (Log Network Server) membaca dari redo buffer pada SGA (System Global Area) dan mengirim redo ke Oracle Net Services untuk ditransmisi ke standby database. Arsitektur Data Guard yang fleksibel memungkinkan sebuah primary database untuk mentransmisi redo secara langsung maksimum ke sembilan standby database. Data Guard juga terintegrasi dengan baik dengan Oracle RAC. Sebuah Oracle RAC database memiliki dua atau lebih servers (node), yang masing-masing menjalankan Oracle Instance mereka sendiri dan semua memiliki akses ke database oracle yang sama. Primary dan standby database dapat menjadi Oracle RAC database. Setiap instance primary database yang aktif menghasilkan rangkaian dari redo nya sendiri dan memiliki proses LNS (Log Network Server) tersendiri untuk mentransmisi redo ke standby database.
48
Gambar 2.18 Proses Redo Transport (Carpenter, Meeks, and Kim, 6)
Pada gambar 2.18 Redo records yang ditransmisikan oleh LNS diterima pada standby database oleh RFS (Remote File Server). RFS menerima redo pada standby database dan menuliskannya pada sequential file yang dinamakan SRL (Standby Redo Log File). Data Guard mendukung dua metode redo transport yaitu menggunakan proses LNS : synchronous dan asynchronous.
2.6.6.1 Synchronous Redo Transport Synchronous Transport (SYNC) juga dikenal dengan metode “zero data loss” karena LGWR tidak akan memperbolehkan proses commit sampai LNS dapat mengkonfirmasikan bahwa redo diperlukan untuk proses recovery terhadap transaksi yang telah ditulis pada disk di standby. Proses SYNC dapat dilihat pada gambar berikut :
Gambar 2.19 Proses SYNC (Carpenter, Meeks, and Kim, p6)
49
Keterangan dari gambar 2.19 adalah : 1.
User melakukan commit pada sebuah transaksi dan menghasilkan sebuah redo record di SGA. LGWR membaca redo record dari log buffer, kemudian menuliskannya ke dalam online redo log file dan menunggu konfirmasi dari LNS.
2.
LNS membaca redo record yang sama dari log buffer dan mentransmisikannya ke standby database menggunakan Oracle Net Services. RFS menerima redo pada standby database dan menuliskannya ke standby redo log file.
3.
Ketika RFS menerima write-complete dari disk, RFS akan mentransmisikan pernyataan ke proses LNS pada primary database, yang akan menyampaikan kepada LGWR bahwa transmisi telah selesai. LGWR kemudian mengirim pernyataan commit kepada user. Proses SYNC memang menjamin perlindungan terhadap setiap transaksi
pada database, tetapi ini juga akan berpengaruh pada performa di primary database Alasannya adalah LGWR harus menunggu konfirmasi bahwa data telah diproteksi pada standby sebelum dapat lanjut ke proses transaksi selanjutnya. Semua ini tergantung pada ukuran dari redo-write, bandwidth dari jaringan, round-trip-time (RTT) dari jaringan dan perfoma I/O pada standby untuk menulis ke SRL (Standby Redo Log File).
2.6.6.2 Asynchronous Redo Transport Asynchronous transport (ASYNC) berbeda dengan SYNC. Pada ASYNC, LGWR akan tetap melakukan commit meskipun adanya bandwidth terbatas yang menghalangi redo dari transaksi sebelumnya untuk dikirim ke standby database.
50
Gambar 2.20 Proses ASYNC (Carpenter, Meeks, and Kim, p8) Pada gambar 2.20 diatas, pada saat user melakukan commit, maka akan masuk ke primary database, proses transportasi dari ASYNC memungkinkan database utama untuk melakukan buffer dari sejumlah besar redo buffer, tanpa perlu menghentikan transmisi. Terjadinya overhead I/O tidak akan memberikan dampak performa dari primary database yang berhubungan dengan LNS ASYNC yang membaca dari Online Redo Log. Setelah itu RFS (Remote File Server) akan menerima data dari online redo log melalui jaringan yang ditransmisi dari standby database dan menerima redo data yang akan ditransfer ke standby redo log dan disimpan pada standby database. Kelemahan ASYNC adalah potensi dari tingkat kehilangan data.
2.6.7 Switchover Switchover adalah suatu proses dimana primary database dan standby database melakukan pertukaran peran tanpa mengatur ulang online redo logs dimana primary database akan berubah menjadi standby database dan standby database akan berubah menjadi primary database. Biasanya proses switchover dilakukan apabila perusahaan ingin melakukan maintenance pada primary database seperti upgrade system, menambah memori atau CPU yang memerlukan downtime. Manfaat
51
dari switchover adalah untuk meminimalkan downtime dari primary database untuk mencegah gangguan terencana dan tidak terencana. Proses switchover ini menjamin tidak ada data yang hilang. Selama proses switchover dilakukan pada primary database, proses bisnis untuk sementara akan dialihkan kepada standby database yang berfungsi sebagai primary database sementara. Contoh proses switchover dapat dilihat pada gambar 2.21 dibawah ini :
Sebelum Switchover
Sesudah Switchover
Gambar 2.21 Proses Switchover (Schupmann, p7-4 – 7-5) 2.6.8 Failover Failover berfungsi untuk mengubah sebuah standby database menjadi primary role pada saat primary database mengalami failure. Jika primary database tidak dioperasikan dengan menggunakan mode maximum protection atau maximum availability sebelum mengalami failure, maka akan terjadi kehilangan beberapa data. Jika flashback database diaktifkan pada primary dan standby database maka pada database yang failed akan di reinstated (proses pemulihan) sebagai sebuah standby database yang baru setelah primary database yang failure itu diperbaiki. Contoh proses failover dapat dijelaskan pada gambar 2.22 dibawah ini :
52
Gambar 2.22 Proses Failover (Schupmann, p76) 2.6.9 Fast-Start Failover Fast-start failover merupakan kemampuan untuk melakukan failover secara otomatis dan cepat ke standby database yang telah tersinkronisasi tanpa harus melakukan langkah-langkah secara manual yang kompleks untuk failover Pada saat proses fast-start failover, primary database yang lama akan dikonfigurasikan secara otomatis menjadi standby database yang baru sehingga Data Guard dapat mengembalikan konfigurasi disaster protection dengan mudah, sehingga meningkatkan efisensi dalam pengelolaan Data Guard. Fast-start failover observer merupakan third party dari konfigurasi primary atau standby database dalam Data Guard. Fungsi utamanya adalah untuk melakukan failover secara otomatis ketika suatu kondisi mengijinkan untuk melakukan failover. Kondisi-kondisi yang menyebabkan terjadinya proses fast-start failover : •
Server pada primary mengalami crash atau shutdown
•
Primary database instance mengalami failure
•
Shutdown abort pada primary database
•
Data file dalam kondisi offline
•
Network failure
Hubungan antara primary dan standby database dan observer dapat dilihat pada gambar 2.23 dibawah ini :
53
Gambar 2.23 Hubungan Primary Database, Standby Database dan Observer (Rich, p5-16) Pada gambar 2.23, observer akan mengawasi primary database dan standby database. Apabila terjadi failed pada primary database, maka observer akan mencoba untuk menghubungkan kembali primary database tersebut dalam waktu yang telah ditentukan (default 30 detik). Apabila observer masih bisa belum terhubung dengan primary database dalam jangka waktu yang telah ditentukan maka observer akan melakukan fast-start failover dengan mengubah role standby menjadi primary database. Apabila observer dapat terhubung dengan primary database yang failed tersebut setelah melakukan fast-start failover, maka observer akan melakukan perubahan primary database yang failed tersebut menjadi standby database dengan proses reinstated.
2.6.10 Data Guard Broker Data Guard Broker adalah sebuah kerangka kerja manajemen terdistribusi yang mengotomatisasi pembuatan, pemeliharaan, dan pemantauan konfigurasi data guard. Ada beberapa keuntungan menggunakan data guard broker : 1. Disaster protection Dengan mengotomatisasi banyak tugas manual yang diperlukan untuk mengatur dan memonitor konfigurasi, Data guard broker meningkatkan perlindungan data, dan kemampuan perlindungan dari bencana yang tidak diinginkan. Akses
54
dimungkinkan melalui klien untuk setiap sistem dalam konfigurasi Data Guard, menghilangkan titik tunggal kegagalan. Jika database utama gagal, data guard broker mengotomatisasi proses untuk salah satu dari Standby database untuk mengganti primary database dan mengambil alih proses produksi. Dengan adanya fitur perlindungan dari data guard akan membuat data guard lebih mudah untuk melindungi data yang ada. 2. Higher availability and scalability with Oracle Real Application Clusters (RAC) Databases Oracle Data Guard broker meningkatkan perlindungan dari kejadian yang tidak diinginkan dengan mempertahankan salinan atau copy data transactionally yang konsisten dari primary database. Data Guard dikonfigurasi dengan solusi dari Oracle High Availability seperti Real Application Clusters (RAC) database, lebih meningkatkan ketersediaan (availability) dan skalabilitas dari setiap salinan atau copy yang didapatkan dari primary database. 3.
Automated creation of a Data Guard configuration Data guard broker dapat digunakan untuk membuat konfigurasi data guard yang terdiri dari primary database dan (physical atau logical, snapshot, RAC atau nonRAC) standby database. Data guard broker secara otomatis melakukan komunikasi antar database dalam konfigurasi data guard dengan menggunakan Oracle Net Services. Database pada data guard broker dapat bersifat lokal atau remote yang dihubungkan dengan LAN atau tersebar secara geografis yang dihubungkan dengan WAN.
4.
Easy configuration of additional standby databases Oracle Enterprise Manager menyediakan Add Standby Database wizard untuk membantu dalam membuat proses penambahan database. Hal ini juga membuat
55
semua perubahan konfigurasi Oracle Net Services yang diperlukan untuk mendukung layanan redo transport services dan log apply services di seluruh konfigurasi. 5.
Simplified, centralized, and extended management • Menyederhanakan pengelolaan semua komponen dari konfigurasi, termasuk primary dan standby database, Redo transport service, dan log apply service. • Mengkoordinasikan transisi state database dan properti update database dinamis dengan data guard broker dan mencatat perubahan dalam file konfigurasi broker yang mencakup profil dari semua database di konfigurasi. • Mempermudah kontrol dari konfigurasi protection mode (maximize protection, maximize availability, or maximize performance). • Mengaktifkan Enterprise Manager untuk memverifikasi operasi yang berguna untuk memastikan bahwa redo transport services dan log apply services dapat berfungsi dengan baik.
6.
Simplified switchover and failover operations Fast-start failover memungkinkan data guard broker untuk menentukan apakah failover diperlukan dan untuk memulai failover ke database target telah ditetapkan sebelumnya, tanpa memerlukan campur tangan DBA. Fast-start failover dapat diatur tanpa kehilangan data atau dengan jumlah kehilangan data sesuai dengan yang telah ditentukan. Fast-start failover memungkinkan untuk meningkatkan availability dengan mengurangi intervensi (campur tangan DBA) secara manual, sehingga mengurangi biaya manajemen. Failover manual memberikan kontrol atas kapan tepatnya failover terjadi dan tujuannya standby database. Data guard broker
56
melakukan koordinasi peralihan peran pada semua database sesuai dengan yang telah di konfigurasi 7.
Built-in monitoring and alert and control mechanisms Data guard broker menyediakan built-in validation yang memonitor kondisi semua database yang di konfigurasi. Dari setiap sistem yang dikonfigurasi akan terhubung ke database apapun dan dapat digunakan untuk mendapatkan informasi diagnostik serta mendeteksi masalah dengan pemantauan terpusat, pengujian, dan alat-alat kinerja. Kemampuan untuk memantau database lokal dan remote (local and remote databases) dan merespon kegiatan secara signifikan ditingkatkan dengan mekanisme pemeriksaan kondisi data guard broker dan integrasi yang erat dengan sistem Enterprise Manager Oracle.
8. Transparent to application Pemakaian data guard broker sudah dapat digunakan untuk database apapun karena data guard broker bekerja secara transparan (secara langsung) dengan aplikasi, perubahan kode aplikasi tidak diperlukan untuk mengakomodasi konfigurasi yang di kelola dengan data guard broker.
2.6.11
Data Guard Manager Utility (DGMGRL) DGMGRL berfungsi untuk mengontrol dan memonitor konfigurasi data
guard dari prompt DGMGRL atau script, sebagian besar kegiatan yang digunakan untuk mengelola dan memantau database dalam konfigurasi dapat menggunakan perintah DGMGRL. DGMGRL juga mencakup perintah untuk membuat proses monitoring primary dan standby database secara terus menerus dan mengevaluasi apakah failover diperlukan dan memulai fast-start failover ketika dibutuhkan.
57
2.7
Cost and Benefit Analysis Cost and benefit analysis merupakan analisis dari dampak dari tindakan atau
program yang dirancang untuk melihat apakah program tersebut melebihi investasi yang telah ditentukan. Seperti yang disampaikan oleh Schniederjans and Hamaker (2004, p140), cost and benefit merupakan perkiraan dan evaluasi dari keuntungan bersih yang berhubungan dengan tindakan alternatif. Teknik cost and benefit sering digunakan untuk membandingkan keuntungan atau manfaat yang terkait dengan investasi dengan nilai dari biaya investasi. Hasil analisis dari biaya investasi yang dikeluarkan untuk menganalisis keuntungan berdasarkan manfaat, biaya dan resiko yang terjadi. Cost and benefit biasanya berhubungan dengan investasi dengan mempertimbangkan tingkat keuntungan atau kerugian suatu keputusan dengan mempertimbangkan biaya dan manfaat yang dihasilkan. Rasio yang digunakan dalam cost and benefit ini adalah berhubungan dengan finansial atau keuangan karena berhubungan dengan biaya yang dikeluarkan dan tingkat keuntungan. Fungsi dari cost and benefit analysis adalah meminimalkan biaya yang dikeluarkan dan dapat menghasilkan keputusan yang dapat menguntungkan perusahaan.
2.8
Technology Acceptance Model (TAM) Menurut Chen (2011, p124-125), TAM merupakan “metode yang digunakan
untuk melakukan penelitian dan memprediksi tingkat kepuasan terhadap sistem informasi dan teknologi informasi yang bersifat individu.” Metode TAM dikembangkan berdasarkan model TRA (Theory Reason Action) yang menentukan penilaian berdasarkan keyakinan atau tingkah laku seseorang mengenai efek atau dampak negatif yang ditimbulkan dari penggunaan sistem informasi dan teknologi
58
informasi. Seperti yang disampaikan oleh wu (2011, p135), ide dasar TAM 1 adalah konsisten dengan TRA berdasarkan sikap dan tujuan yang menjadi penentu kepercayaan terhadap teknologi. Terdapat enam faktor penentu dalam metode TAM seperti pada gambar 2.33 yaitu : • External Variable Biasanya mempengaruhi persepsi user tentang kemudahan penggunaan sistem informasi atau teknologi informasi. • Perceived Usefulness adalah user percaya bahwa sistem informasi atau teknologi informasi akan memudahkan user untuk menggunakannya. • Perceived ease of use (PEOU) adalah user percaya bahwa dengan adanya sistem informasi atau teknologi informasi maka dapat meningkatkan performa dalam kinerja mereka dan mudah untuk dipelajari. • Attitude toward using adalah cara pandang seseorang berupa penerimaan atau penolakan terhadap penggunaan sistem informasi atau teknologi informasi • Behavioral Intention to Use adalah perilaku seseorang yang menunjukkan kepuasan terhadap sistem informasi atau teknologi informasi yang digunakan. • Actual Behaviour Disesuaikan dengan kondisi dan waktu yang digunakan untuk mempelajari dan memahami tentang sistem informasi atau teknologi informasi yang digunakan. Semakin mudah digunakan, maka user akan tertarik untuk menggunakannya.
Kemudahan
dan
manfaat yang
dimaksud
adalah
59
kemudahan yang dirasakan oleh pengguna memiliki pengaruh positif terhadap sistem informasi dan mempengaruhi niat individu untuk menggunakan sistem informasi atau teknologi informasi tersebut.
Gambar 2.24 TAM 1 (http://www.vvenkatesh.com/it/IT%20Images/tam.gif) Jenis TAM yang dipakai di bab empat adalah TAM1 karena ingin mengetahui sikap, perilaku dan kepercayaan dari client PT. Indesso Niagatama terhadap Oracle Data Guard dan dampak negatif yang ditimbulkan dengan mempertimbangkan faktor eksternal terhadap kemudahan pemakaian serta manfaat yang diperoleh dengan menggunakan data guard. Contoh penggunaan TAM1 dalam penelitian yaitu seorang peneliti ingin mengetahui respon user terhadap penggunaan internet, maka peneliti tersebut melakukan penelitian terlebih dahulu untuk mengetahui variabelvariabel seperti usia, gender dan profesi yang mempengaruhi user dalam menggunakan internet. Setelah itu, peneliti menyusun hipotesis yang akan digunakan untuk membuat kuisioner yang akan disebarkan kepada responden. Setelah kuisioner disebarkan, maka hasil dari kuisioner tersebut dihitung. Hasil dari perhitungan kuisioner tersebut dapat digunakan sebagai acuan untuk mengetahui respon user terhadap penggunaan internet.
2.9
Pengumpulan dan Analisis Kebutuhan Menurut Connolly dan Begg (2010, p317), ada beberapa teknik dalam
pengumpulan data dengan menggunakan teknik fact-finding yaitu -
Meneliti Dokumentasi (examining documentation)
60
Dokumentasi berfungsi untuk memberikan informasi pada bagian dari sebuah perusahaan tentang data-data atau informasi-informasi dari perusahaan tersebut. Dengan memeriksa dokumen seperti formulir, laporan dan file yang terkait, maka dapat diperoleh beberapa informasi dan pemahaman mengenai sistem yang digunakan perusahaan saat ini. -
Wawancara (interview) Wawancara merupakan teknik yang sering digunakan dan biasanya paling berguna didalam teknik fact-finding karena berhubungan langsung dengan pewawancara. Tujuan diadakan wawancara adalah untuk mencari fakta-fakta, memverifikasi fakta, mengklarifikasi fakta, dan mengumpulkan ide-ide atau pendapat. Keuntungan menggunakan teknik wawancara menurut Connolly dan Begg (2010, p318) adalah 1. Memungkinkan orang yang diwawancarai merespon secara bebas dan terbuka terhadap pertanyaan-pertanyaan yang diberikan. 2. Memungkinkan pewawancara untuk menindaklanjuti atau menambahkan komentar atau pertanyaan yang diberikan oleh orang yang diwawancarai. 3. Memungkinkan pewawancara untuk melihat secara langsung bahasa tubuh atau body language dari orang yang diwawancara. Sedangkan kerugian menggunakan teknik wawancara menurut Connolly dan Begg (2010, p318) adalah 1. Teknik wawancara sangat memakan waktu yang lama sehingga dinilai tidak praktis 2. Mengandalkan ketrampilan dalam berkomunikasi. 3. Sangat bergantung kepada kesediaan orang yang diwawancarai untuk berpartisipasi dalam wawancara.
61
-
Observasi (observation) Observasi merupakan teknik pencarian fakta yang efektif untuk memahami sistem karena berhubungan langsung atau ikut berpartisipasi dalam melakukan kegiatan untuk belajar tentang sistem tersebut. Observasi biasanya dilakukan untuk mengetahui secara langsung kegiatan atau aktivitas yang dilakukan oleh individu. Keuntungan dalam menggunakan observasi menurut Connolly dan Begg (2010, p319) adalah 1. Memungkinkan kebenaran fakta dan data yang didapatkan 2. Pengamat dapat melihat secara langsung kegiatan atau aktivitas yang dilakukan. 3. Pengamat dapat memperoleh data yang menggambarkan secara langsung kegiatan dan lingkungan dari target observasi Sedangkan kerugian dalam menggunakan observasi menurut Connolly dan Begg (2010, p319) adalah 1. Orang-orang atau individu akan melakukan kegiatan yang berbeda ketika mengetahui bahwa mereka sedang diamati. 2. Memakan waktu yang lama 3. Beberapa tugas mungkin tidak dilakukan seperti biasanya.
-
Penelitian (research) Teknik penelitian biasanya mendapatkan informasi melalui jurnal, buku referensi dan internet. Penelitian berfungsi untuk mendapatkan informasi tentang pemecahan dari suatu masalah yang sama. Keuntungan dalam menggunakan penelitian menurut Connolly dan Begg (2010, p319) adalah 1. Dapat menghemat waktu jika solusi sudah tersedia.
62
2. Peneliti dapat melihat bagaimana orang lain memecahkan masalah yang sama. 3. Menyimpan penelitian yang up-to-date sesuai dengan perkembangan yang ada. Sedangkan kerugian dalam menggunakan penelitian menurut Connolly dan Begg (2010, p320) adalah 1. Membutuhkan akses ke sumber informasi yang sesuai. 2. Pada akhirnya tidak dapat membantu dalam memecahkan masalah karena masalah tersebut tidak didokumentasikan.
-
Kuesioner (questionnaires) Menurut Connolly dan Begg (2010, p320), kuesioner adalah suatu dokumen khusus yang memungkinkan fakta yang dikumpulkan dari sejumlah orang dengan mempertahankan jawaban atau tanggapan mereka. Keuntungan menggunakan teknik kuesioner memurut Connolly dan Begg (2010, p320) adalah 1. Responden dapat mengisi dan mengembalikan kuisioner mereka sewaktuwaktu. 2. Cara yang relatif murah untuk mengumpulkan data dari sejumlah responden. 3. Responden lebih cenderung memberikan fakta-fakta nyata sebagai tanggapan yang dirahasiakan. 4. Tanggapan dari responden dapat ditabulasikan dan dianalisis dengan cepat.
63
Sedangkan kerugian menggunakan teknik kuesioner memurut Connolly dan Begg (2010, p320) adalah 1. Jumlah responden dapat rendah, mungkin sekitar 5% sampai 10% kuisioner dapat dikembalikan. 2. Mungkin tidak memberikan kesempatan untuk menyesuaikan ulang atau menjelaskan pertanyaan yang telah disalahartikan. 3. Tidak bisa mengamati dan mengalisa bahasa tubuh responden