Database Links

1 Sep

1. Tujuan
Untuk membuat link antara dua server database oracle
2. Ringkasan Metoda
Menggunakan Database Link Oracle
3. Cara Pengerjaan
Database links adalah connection antara dua databases pada server yang sama atau berbeda. Database link digunakan untuk :
query data pada database yang berbeda (distributed query)
DML pada data di database yang berbeda (distributed transaction)
query / DML pada non Oracle database (transparrant gateway).
Anatomy dari Database Link :
a. Owner
b. Link name
c. Username/password
d. Host (Service Name)
OWNER
Database link OWNER seperti objects pada Oracle database … database links memiliki owner (user yang membuatlink) atau pemiliknya PUBLIC. Jika pemiliknya PUBLIC … database link dapat diakses oleh seluruh users pada database.
Syntax: CREATE public DATABASE LINK …
CREATE DATABASE LINK …

NAME
database link name adalah semua valid Oracle name. Jika global_names = TRUE pada init.ora dan database link name juga global name pada remote database (SELECT GLOBAL_NAME FROM GLOBAL_NAME).
Syntax: CREATE DATABASE LINK kbcook …

USERNAME
Database link username/password adalah clause OPTIONAL. Jika tidak di spefikasikan maka yang digunakan adalah username/password local database yang digunakan untuk connect di remote database.
Jika username dispefikasikan maka seluruh connections menggunakan link connected dari user yang dispecified.

Syntax: CREATE DATABASE LINK kbcook
CONNECT TO scott IDENTIFIED BY tiger …

HOST
Host adalah isian yang ada pada TNSNAMES.ORA dari database yang digunakan link.
Syntax: CREATE DATABASE LINK kbcook
CONNECT TO scott IDENTIFIED BY tiger
USING ‘rtcsol1_v805.us.oracle.com’

Letak TNSNAMES.ORA?
Jika $TNS_ADMIN environment variable didifinisikan maka letak directory dari TNSNAMES.ORA. berada di $ORACLE_HOME/network/admin. Directory alternatif dari tnsnames ada di */etc atau /var/opt/oracle.

Letak HOST pada TNSNAMES.ORA?
TNSNAMES.ORA :
RTCSOL1_V805.US.ORACLE.COM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rtcsol1)(PORT = 1521))
(CONNECT_DATA = (SID = V805))
)
Syntax: CREATE DATABASE LINK kbcook
CONNECT TO scott IDENTIFIED BY tiger
using ‘(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)
(HOST = rtcsol1)(PORT = 1521))
(CONNECT_DATA = (SID = V805))’

4. Pembuatan database link

Step 1: Di server PTUBSOR2
Edit tnsnames.ora
UBS2.LINUXUBS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 172.20.140.197)
(PORT = 1521)
)
)
(CONNECT_DATA =
(SID = ubs2)
)
)

Step 2: Dengan menggunakan SQL-Plus, Login user : System di server database PTUBSOR2
Step 3: Buat SQL statement seperti dibawah ini
CREATE PUBLIC DATABASE LINK UBS2.LINUXUBS CONNECT TO SCOTT IDENTIFIED BY TIGER USING ‘ubs2.linuxubs’;

Step 4: Buat SQL statement dengan menggunakan SQL-Plus, Login user : Scott di server database PTUBSOR2 untuk mengakses database ubs2.linuxubs seperti dibawah ini untuk test, apakah dblink telah berfungsi.
select * from scott.karyawan@ubs2.linuxubs;

Step 5: Buat SQL statement dengan menggunakan SQL-Plus, Login user : Scott di server database PTUBSOR2 untuk membuat view.
create view v_kry as
select * from scott.karyawan@ubs2.linuxubs;

Step 6: Buat SQL statement seperti dibawah ini untuk test, apakah view telah berfungsi.
select * from v_kry;

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: