Disusun oleh:
Tengku Kemal Yusron Hasibuan 21120116120002
Muhammad Muharrik Al-Islamy 21120116130036
Abda Rafi Hamaminata 21120116140053
Fahmi Maghrizal Mochtar 21120116140062
Disusun Oleh :
Mengetahui,
Ketua Departemen Teknik Komputer Dosen Pembimbing
Dr. R. Rizal Isnanto, S.T., M.M., M.T. Dr. R. Rizal Isnanto, S.T., M.M., M.T.
NIP 197007272000121001 NIP 197007272000121001
ii
LEMBAR PENGESAHAN
PENERAPAN METODE REPLIKASI MASTER TO MASTER LEVEL
TABLE PADA ORACLE DATABASE 11g 2.0.1 PADA SISTEM OPERASI
CENTOS 7
DI PT. DES TEKNOLOGI INFORMASI
Disusun Oleh :
Mengetahui,
Manager Value At Service Pembimbing Lapangan
iii
ABSTRAK
Pada akhir kerja praktik, telah berhasil diterapkan metode replikasi master to
master level table pada Oracle Database 11g 2.0.1 pada Sistem Operasi CentOs 7
dan telah berjalan secara stabil.
iv
KATA PENGANTAR
Puji syukur kehadirat Tuhan Yang Maha Esa atas berkah, rahmat, dan
karunia-Nya sehingga Laporan Kerja Praktik yang berjudul “Penerapan Metode
Replikasi Master To Master Level Table Pada Oracle Database 11g 2.0.1 Pada
Sistem Operasi CentOS 7” ini dapat terselesaikan dan tersusun dengan baik.
Laporan Kerja Praktik ini disusun berdasarkan hasil pelasksanaan Kerja Praktik
(KP) di PT. DES Teknologi Informasi Semarang pada tanggal 14 Desember 2018
sampai dengan 25 Januari 2019.
Dalam Penyusunan laporan ini, tak lupa kami ucapkan terima kasih
diberikan kepada :
1. Tuhan Yang Maha Esa, yang telah memberikan rahmat dan karunia-Nya,
2. Keluarga di rumah, yang selalu mendukung dan mendoakan saya,
3. Bapak Dr. R. Rizal Isnanto, S.T., M.M., M.T. selaku Ketua Departemen
Teknik Sistem Komputer, Fakultas Teknik, Universitas Diponegoro
Semarang sekaligus Dosen Pembimbing KP atas arahan dan bantuan yang
telah diberikan,
4. Ibu Dania Eridani, S.T., M.Eng. selaku Koordinator Kerja Praktik,
5. Bapak Aris Dianto, A.Md. selaku Manager PT. DES Teknologi Informasi,
6. Mas Ahmad Nizar Shiddiqi selaku pembimbing lapangan yang telah
memberikan ilmu dan pengalaman yang luar biasa,
7. Seluruh teman Sistem Komputer angkatan 2016 yang telah membantu
dan mendukung penyusunan laporan ini,
8. Semua pihak yang telah membantu dalam pelaksanaan Kerja Praktik hingga
pembuatan laporan Kerja Praktik ini.
Laporan Kerja Praktik ini diharapkan dapat membantu pembaca dalam
mengetahui proses dan hasil Kerja Praktik dalam bidang Jaringan dan Keamanan
Komputer.
Penulis menyadari bahwa laporan ini masih jauh dari kata sempurna, oleh
karena itu kritik dan saran yang membangun diperlukan untuk evaluasi laporan
yang telah tersusun ini.
v
Semarang, 11 Februari 2019
Penulis,
vi
DAFTAR ISI
vii
BAB IV PENUTUP .......................................................................................... 36
4.1. Kesimpulan ................................................................................................ 36
4.2. Saran .......................................................................................................... 37
Daftar Pustaka ................................................................................................... 38
viii
DAFTAR GAMBAR
ix
Gambar 3.34 Test Ping antar Server ......................................................................................... 32
Gambar 3.35 Kondisi Running pada Propagation dan Capture ............................................... 32
Gambar 3.36 Pengujian DDL pada Level Tabel ....................................................................... 32
Gambar 3.37 Pengujian DML pada Level Tabel ...................................................................... 33
Gambar 3.38 Inisialisasi Truncate pada Tabel .......................................................................... 33
Gambar 3.39 Pengujian DML pada Level Tabel ...................................................................... 33
Gambar 3.40 Pengujian DML pada Level Tabel ...................................................................... 33
Gambar 3.41 Pengujian DML pada Level Tabel ...................................................................... 33
Gambar 3.42 Pengujian DML pada Level Tabel ...................................................................... 34
Gambar 3.43 Pengujian DML pada Level Tabel ...................................................................... 34
Gambar 3.44 Pengujian DML pada Level Tabel ...................................................................... 34
Gambar 3.45 Pengujian DML pada Level Tabel ...................................................................... 34
Gambar 3.46 Pengujian DML pada Level Tabel ...................................................................... 35
Gambar 3.47 Pengujian DML pada Level Tabel ...................................................................... 35
x
BAB I
PENDAHULUAN
Perkembangan ilmu pengetahuan dan teknologi yang sangat pesat ini membuat PT.
DES Teknologi Informasi sebagai perusahaan yang bergerak di bidang layanan
berbasis data, pengembangan infrastruktur jaringan, dan aplikasi dengan bisnis
utama jasa layanan internet ini mempunyai suatu sumber daya baik teknologi yang
maju maupun sumber daya manusia yang handal yang dapat memenuhi keinginan
pelanggan dalam hal jasa layanan internet yang prima.
Jasa layanan internet yang diselenggarakan oleh PT. DES Teknologi Informasi
tentunya tidak lepas dari adanya suatu jaringan komputer yang tertata, terintegrasi,
serta handal. Dan juga terdapat pertukaran, pembaharuan dalam data-data yang
digunakan PT.DES Teknologi Informasi maupun customer sehingga diperlukan
suatu cara atau metode yang dapat menghidari data-data tersebut dari redudansi
baik itu kerusakan dan bahkan kehilangan data. Metode Replikasi merupakan
metode yang dapat menanggulangi permasalahan tersebut, karena secara garis besar
metode ini akan membuat suatu salinan dari data tersebut, baik dari tingkat
database, skema, dan table dari data-data tersebut. Sehingga ketika terjadi redudansi
1
2
terhadap suatu data, maka sudah terbuat dengan otomatis suatu salinannya sehingga
dapat menjaga keamanan data tersebut.
1.2. Tujuan
Tujuan melaksanakan Kerja Praktik di PT. DES Teknologi Informasi adalah :
1. Memenuhi kewajiban melaksanakan mata kuliah Kerja Praktik pada semester
6 sesuai dengan kurikulum yang ada pada Universitas Diponegoro.
2. Melakukan penerapan metode replikasi pada Database Oracle 11g 2.0.1 yang
merupakan jenis database yang biasa digunakan oleh PT. DES Teknologi
Informasi.
3. Melakukan simulasi dan mengidentifikasi seberapa kompleksnya fitur dalam
penerapan metode replikasi pada Database Oracle 11g 2.0.1 yang merupakan
jenis database yang biasa digunakan oleh PT. DES Teknologi Informasi.
2.1. CentOS7
CentOS 7 merupakan akronim dari Community ENTerprise Operating System
version 7 adalah sebuah distribusi linux bersifat opensource yang dirilis pada tahun
2014 dengan menyediakan platform komputasi berkelas enterprise yang memiliki
kompatibilitas kode biner sepenuhnya dengan kode sumber sistem operasi induknya
yakni Red Hat Enterprise Linux (RHEL). RHEL merupakan distribusi linux yang
berbayar dan menyediakan akses terhadap pembaharuan atas perangkat lunak dan
berbagai jenis dukungan secara teknis. Para pengembang CentOS sebenarnya
menggunakan kode sumber dari RHEL yang dikompilasi untuk membuat sebuah
produk final yang sangat mirip dengannya. Sebagian besar distribusi Linux ini
merupakan gabungan dari sejumlah perangkat lunak yang didistribusikan oleh Red
Hat dibawah lisensi perangkat lunak bebas. Kelebihan dari distribusi Linux ini yaitu
sangat mudah untuk dilakukan modifikasi, serta karena merupakan turunan dari
RHEL sehingga membuat tingkat keamanannya terus-menerus bertambah dengan
diperbaharui setiap waktu.
2.2. Replikasi
Replikasi database server merupakan sebuah metode yang digunakan untuk
menyalin dan mendistribusikan data dari satu database ke database yang lain. Yang
kemudian akan mensinkronisasikan antar database untuk menjaga konsistensi isi
masing-masing data. Dengan replikasi, data dapat didistribusikan ke lokasi yang
berbeda dan pengguna yang jauh melalui LAN, WAN, Dial-up Connection,
wireless connections, dan internet.
3
4
beberapa privileges khusus yang tidak disahkan oleh akun SYSTEM atau
peranan DBA.
4. Membuat Database Links
Stream Administrator membuat sebuah koneksi antar kedua titik basis data
yang akan direplikasi.
BAB III
PELAKSANAAN KERJA PRAKTIK
9
10
Instalasi package
Package di bawah ini perlu di-install agar dapat melakukan instalasi dan
compiling.
yum install --nogpgcheck binutils -y
yum install --nogpgcheck compat-libstdc++-33 -y
yum install --nogpgcheck compat-libstdc++-33.i686 -y
yum install --nogpgcheck gcc -y
yum install --nogpgcheck gcc-c++ -y
yum install --nogpgcheck glibc -y
yum install --nogpgcheck glibc.i686 -y
yum install --nogpgcheck glibc-devel -y
yum install --nogpgcheck glibc-devel.i686 -y
yum install --nogpgcheck ksh -y
yum install --nogpgcheck libgcc -y
yum install --nogpgcheck libgcc.i686 -y
yum install --nogpgcheck libstdc++ -y
yum install --nogpgcheck libstdc++.i686 -y
yum install --nogpgcheck libstdc++-devel -y
yum install --nogpgcheck libstdc++-devel.i686 -y
yum install --nogpgcheck libstdc++ -y
yum install --nogpgcheck libaio -y
yum install --nogpgcheck libaio.i686 -y
yum install --nogpgcheck libaio-devel -y
yum install --nogpgcheck libaio-devel.i686 -y
yum install --nogpgcheck libXext -y
yum install --nogpgcheck libXext.i686 -y
yum install --nogpgcheck libXtst -y
yum install --nogpgcheck libXtst.i686 -y
yum install --nogpgcheck libX11 -y
yum install --nogpgcheck libX11.i686 -y
11
Setelah selesai melakukan edit pada file config untuk SELinux, lakukan
reboot atau jalankan perintah di bawah ini.
# setenforce Permissive
Unzip file zip dari setup Oracle Database di “/u01/setup” serta lakukan
chown dan chmod pada hasil unzip tersebut.
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_1of2.zip
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export
LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdb
ms/jlib; export CLASSPATH
13
Bila sudah diatur variabel nya, jalankan installer Oracle Database 11g
yang telah di-unzip.
./runInstaller
14
Buat listener untuk database dengan masuk ke menu “Add“ dan masuk
ke dalam form membuat sebuah listener. Nama dari listener dan port
listener tidak perlu diubah, dan biarkan menggunakan default value.
.
Gambar 3.16 Proses Konfirugasi DBCA Database Oracle
Berikan password yang sama untuk semua user agar pengaturan dapat
dilakukan dengan mudah.
e. Setelah itu, kembali ke halaman depan dari EM dan pilih submenu user
yang terdapat pada menu server, dan pilih create pada kanan atas.
Dimana nanti name dimasukan dengan “STRMADMIN” dan
passwordnya disesuaikan. Kemudian, pilih default tablespace dengan
27
c. Pada halaman pembuatan queue, pilih normal queue lalu klik continue, di
halaman selanjutnya aka nada 4 text field, dimana nama dari stream nya di
isi dengan APPLY_QUEUE, queue table diisi dengan
STRMADMIN.APPLY_QUEUE, queue user tetap pada STRMADMIN,
dan terakhir description diisi APPLY_QUEUE lalu klik Finish, kemudian
membuat 1 stream lagi, dimana data diisi seperti pembuatan
APPLY_QUEUE, dimana kalimat Apply diganti menjadi Capture, maka
nama akan menjadi CAPTURE_QUEUE, queue table menjadi
STRMADMIN.CAPTURE_QUEUE, user tetap pada STRMADMIN, dan
description menjadi CAPTURE_QUEUE.
d. Menjalankan perintah SQL sebagai Konfigurasi untuk membuat Rule
Replication Level Table. Semua script harus dijalankan satu persatu agar
dapat melihat akan terjadi error atau tidak.
BEGIN
DBMS_APPLY_ADM.CREATE_APPLY(
queue_name => 'strmadmin.apply_queue',
apply_name => 'apply_emp_dep',
apply_captured => FALSE);
END;
/
BEGIN
DBMS_STREAMS_ADM.ADD_TABLE_RULES(
table_name => 'pekerja.mahasiswa',
streams_type => 'apply',
streams_name => 'apply_emp_dep',
queue_name => 'strmadmin.apply_queue',
source_database => 'sid_lawan');
END;
/
BEGIN
DBMS_STREAMS_ADM.ADD_TABLE_PROPAGATION_RULES(
table_name => 'pekerja.mahasiswa',
streams_name => 'send_emp_dep',
source_queue_name => 'strmadmin.capture_queue',
destination_queue_name =>
'strmadmin.apply_queue@sid_lawan',
source_database => 'sid_sendiri',
queue_to_queue => TRUE);
END;
/
BEGIN
DBMS_STREAMS_ADM.ADD_TABLE_RULES(
table_name => 'pekerja.mahasiswa',
streams_type => 'sync_capture',
31
DECLARE
iscn NUMBER;
BEGIN
iscn := DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER();
DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN@sid_lawan(
source_object_name => 'pekerja.mahasiswa',
source_database_name => 'sid_sendiri',
instantiation_scn => iscn);
END;
/
BEGIN
DBMS_APPLY_ADM.SET_TABLE_INSTANTIATION_SCN (
source_object_name => 'pekerja.mahasiswa',
source_database_name => 'pekerja.mahasiswa',
instantiation_scn => &iscn);
END;
/
Jalankan perintah CRUD SQL pada level tabel di user yang dibuat untuk
membuat table, pada salah satu server dan check replikasi pada server
satunya.
3.3. Pengujian Replikasi Database Oracle 11g 2.0.1 Level Table
Pengujian ini dilakukan pada dua server yang masing-masing memiliki Service id
bernama pdesnet dan pdesnet4 pada tabel mahasiswa dibawah skema pekerja.
Tahap awal ialah memastikan kedua server dapat berkomunikasi. Caranya adalah
dengan menggunakan perintah tnsping lalu disertai Service id server tujuan.
Kemudian, pastikan juga kedua komponen replikasi yakni propagation dan capture
aktif seperti pada gambar dibawah :
Pada awalnya, dilakukan perintah DDL (Data Definition Language) yaitu Truncate
untuk mengosongkan seluruh isi data tabel dari masing-masing server.
Pada contoh ini akan dilakukan sebuah fungsi DML (Data Manipulation Language)
yakni Insert, Update, Delete pada kedua sisi server.
Yang pertama adalah fungsi Insert untuk melakukan penambahan record pada tabel
mahasiswa oleh server SID pdesnet4.
Selanjutnya adalah penambahan record kembali yang dilakukan oleh server SID
pdesnet
diperiksa apakah data ikut diperbaharui. Pada skenario ini, server SID pdesnet4
yang dimatikan.
Pengujiannya adalah dengan menambahkan record pada server SID pdesnet dengan
fungsi Insert sebagai berikut :
36
37
4.2. Saran
1. Untuk pengembangan yang berkelanjutan, disarankan untuk
menggunakan versi dari Database Oracle yang terbaru dan sesuai
dengan kebutuhan
2. Dapat menggunakan metode third-party dalam penerapan replikasi
yang berbayar, namun menggunakan metode third-party diyakini
memiliki fitur yang mudah untuk digunakan
3. Disarankan untuk dikembangkan lagi ruang lingkup percobaannya,
dikarenakan pada percobaan kali ini baru bias menerapkan metode
replikasi pada level table
4. Untuk penerapan replikasi yang memiliki fitur yang lebih kompleks,
disarankan menggunakan Oracle 12c Golden Gate
DAFTAR PUSTAKA
38