Selasa, 15 April 2008

Cara membuat koneksi dengan 2 database pada 2 komputer yang berbeda

(Sumber : indo-oracle)

Misal:
Server 1, nama Database Instance-nya "SID1", dengan Service : "SID1" juga.
Server 2, nama Database Instance-nya "SID2", dengan Service : "SID2" juga.
Di client, sudah ada connect string di tnsnames.ora, berturut2 SID1 (koneksi ke Server1:SID1) & SID2 (koneksi ke Server2:SID2) .

Kalau dari komputer client ingin meng-query data di SID1 & SID2 dengan menggunakan sebuah koneksi, entah itu dari Server1:SID1 atau Server2:SID2, maka dblink harus dibuat di server1:SID1 & Server2:SID2.

Asumsikan juga, di Server1 & Server2 sudah diset connect stringnya (di dalam file tnsnames.ora, dengan isi yg sama dengan tnsnames.ora yg ada di client)

Kemudian, buat database link nya
----------------------------------
Di Server1:SID1
----------------------------------
SQL> conn / as sysdba
SQL> GRANT CREATE DATABASE LINK to user_di_SID1;

SQL> conn user_di_SID1/ password_ nya

SQL> CREATE DATABASE LINK SID2_link CONNECT TO user_di_SID2
IDENTIFIED BY password_nya USING 'SID2';


----------------------------------
Di Server2:SID2
----------------------------------
SQL> conn / as sysdba
SQL> GRANT CREATE DATABASE LINK to user_di_SID2;

SQL> conn user_di_SID2/ password_ nya

SQL> CREATE DATABASE LINK SID1_link CONNECT TO user_di_SID1
IDENTIFIED BY password_nya USING 'SID1';


Nah , dari client, misal konek ke Server1:SID1, dan mengakses table
yg ada di Server2:SID2

SQL> connect user_di_SID1/ password_ nya@SID1
SQL> SELECT * FROM tbl_name@SID2_ link;


atau sebaliknya, konek ke Server2:SID2 dan akses ke table yg ada di
Server1:SID1

SQL> connect user_di_SID2/ password_ nya@SID2
SQL> SELECT * FROM tbl_name@SID1_ link;

Tidak ada komentar: