Wednesday, August 1, 2007

DISTRIBUTED DATABASE PART 2

Bismillah…..

Sedikit konsep sudah kita dapatkan dari bab sebelumnya….. lalu bagaimana konfigurasinya untuk membikin sistem kayak gini.
Ok akan kita lanjutkan, pada contoh konfigurasi kali ini kita akan menggunakan database Oracle sebagai server pusat distribusi (untuk database yang lain blum eksplorasi soalnya….:p).

Konfigurasi Homogenous

Untuk konfigurasi ini sangat simple sekali dilakukan… Misalnya kita akan membuat database terdistribusi seperti pada gambar di bawah. Sebelumnya pada server A dan server B diasumsikan sudah terdapat database dengan nama DB_A dan DB_B. Keduanya Memiliki user dan schema dengan nama ‘RISET’ dan memiliki password ‘RISET’ dan didalamnya memiliki sebuah tabel bernama ‘MAHAR’

Langkah-langkahnya adalah sebagai berikut:

  • Daftarkan nama service database oracle yang lain pada TNSNAME.ORA database server pusat.

[nama koneksi (terserah)] =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = [nama / IP server])(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = [nama database])
))
Pada lokasi: $ORACLE_HOME\server\NETWORK\ADMIN\tnsname.ora

  • Resrtart service TNSLISTENER yang ada pada daftar service-service.

  • Buat database link untuk kedua server tersebut

Syntax-nya kayak gini nih.

  • Untuk database link ke server A

create [public] database link DB_LINK_SERVERA connected to riset identified by riset using ‘DATABASE_A’;

  • Untuk database link server B

create [public] database link DB_LINK_SERVERB connected to riset identified by riset using ‘DATABASE_B’;

Pada syntax di atas dapat dilihat bahwa ada penggunaan kata ‘public’, apa maksudnya public disini? Public disini maksudnya adalah apakah database link tersebut bisa digunakan oleh user lain atau tidak. Kalau kita tambahkan ‘public’ berarti database link tersebut bisa digunakan oleh server yang lain. Sedangkan ‘DATABASE_A’ dan ‘DATABASE_B’ adalah nama koneksi service oracle lain yang sudah terdaftar dalam TNSNAME server pusat.

Username dan password untuk database link diletakan setelah ‘connected to’ dan ‘identified by’. Ingat Oracle tidak case sensitive, dan untuk menuliskan username dan password tidak perlu dimasukkan tanda pentik.

  • Cek database link.

Nah, selanjutnya bagaimana caranya mengecek apakah database link yang kita buat itu jalan atau nggak?? Caranya begini:
Jalankan query yang isinya melakukan select ke salah satu tabel yang ada di server lain yang terhubung dengan database link.

select * from [nama tabel]@[database link]

Contoh:

select * from MAHAR@[DB_LINK_SERVERA

Jika hasil dari query tersebut muncul dan tidak terjadi error, maka pembuatan database link tersebut berhasil dan kita dapat melakukan operasi query dan DML ke berbagai tabel yang ada pada server yang lain

Selamat mencoba……(to be continue………)
[Sumber: Oracle Documentation]

2 comments:

Anonymous said...

create [public] database link DB_LINK_SERVERA connected to riset identified by riset using ‘DATABASE_A’;


Mas, yang "connected to" bukankah seharusnya "connect to"...?

CMIIW

maharf said...

ups.... sori keblabasen...
iya yang bener "connect to"
thx