Oracle Transparent Gateway
Oracle transparent gateway adalah salah satu produk oracle yang berguna untuk menghubungkan database oracle dengan database non oracle. Kompatibilitas gateway ini sangat luas dan multiple platform, diantaranya mencakup standard protokol APPC (Advanced Program-to-Program Communication), standard protokol DRDA (Distributed Relational Database Architecture) dari Open Group, IBM WebSphere MQ, Teradata, Sybase, SQL Server, dan database lain-lain yang support dengan standard prokokol yang ada. Untuk daftar database yang bisa disupport oleh oracle transparent gateway dapat dilihat di situs resmi oracle.
Implementasi koneksi Oracle Transparent Gateway dengan SQL Server
Dalam percobaan kali ini, implementasi koneksi oracle transparent gateway (selanjutnya disingkat OTG, biar ga capek nulisnya) dibatasi hanya dengan SQL Server saja. Mesin yang digunakan ada 3 yaitu :
- Sebagai database server dengan spesifikasi :
OS : Windows 2003 SP2
Computer name : JTIM-ORADB
IP : 192.168.1.1
DB : Oracle Database versi 10.2.0.1
Instance : orcl
Schmema user/password : scott/tiger - Sebagai oracle transparent gateway dengan spesifikasi :
OS : Win XP SP 3
Computer name : JTIM-OTG
IP : 192.168.1.2
OTG : Oracle Transparent Gateway versi 10.2.0.1
Gateway SID : tg4msql - Sebagai database SQL Server dengan spesifikasi :
OS : Windows 2003 SP2
Computer name : JTIM-SQL
IP : 192.168.1.3
DB : MS SQL Server 2000 SP4
DB Yang akan dikoneksikan : Northwind
DB user/password : sa/sa
Sebenarnya Oracle database dan OTG bisa diinstal dalam satu mesin asal oracle home-nya ditempatkan di folder yangberbeda. Dalam percobaan kali ini sengaja dibuat menggunakan 3 mesin supaya lebih mudah untuk menganalisa masalah apabila koneksi tidak berhasil dilakukan.
Environment ketiga mesin ini dianggap sudah siap digunakan (kecuali oracle transparent gateway). Di tulisan ini tidak membahas instalasi windows maupun instalasi database baik itu oracle maupun sql server.
Instalasi Oracle Transparent Gateway
Konfigurasi di Win XP : pertama-tama, yang harus dilakukan adalah menginstall OTG terlebih dahulu. Lakukan instalasi seperti menginstall oracle database, dan pada saat tampil menu list OTG pilih Oracle Transparent Gateway for Microsoft SQL Server. Kemudian di menu selanjutnya masukkan nama server sql : JTIM-SQL di isian Microsoft SQL Server, dan nama database sql : Northwind di isian Microsoft SQL Database, dan lanjutkan proses instalasi sampai dengan selesai. Setelah instalasi selesai, cek hasil instalasi di $oracle_home/tg4msql. Pada percobaan ini $oracle_home ditempatkan di drive D di folder D:\oracle\product\10.2.0\tg_1.
- File inittg4msql.ora
Buka file inittg4msql.ora dengan editor yang anda sukai yang berada di folder $oracle_home/tg4msql/admin. Isi file tersebut kurang lebih seperti ini :
# ——————————-
# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for SQL Server
#
# HS init parameters
#
HS_FDS_CONNECT_INFO=JTIM-SQL.Northwind
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
# ——————————-
Kemudian tambahkan dengan satu entry seperti dibawah ini :
HS_FDS_FEFAULT_OWNER=sa
dan ubah beberapa parameter sehingga menjadi seperti ini :
# ——————————-
# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for SQL Server
#
# HS init parameters
#
HS_FDS_CONNECT_INFO=JTIM-SQL.Northwind
HS_FDS_FEFAULT_OWNER=sa
HS_FDS_TRACE_LEVEL=DEBUG
# HS_FDS_RECOVERY_ACCOUNT=RECOVER
# HS_FDS_RECOVERY_PWD=RECOVER
# ——————————-
Parameter ini dibuat untuk memudahkan pengetesan koneksi yang sedang kita buat. Penulisan untuk HS_FDS_CONNECT_INFO sebenarnya bisa juga dibuat seperti ini :
HS_FDS_CONNECT_INFO=”SERVER=192.168.1.3;DATABASE=Northwind”
- File hosts
Kemudian edit file hosts di C:\Windows\system32\drivers\etc dan tambahkan dengan baris ip dan komputer name sql server seperti ini :
127.0.0.1 localhost
192.168.1.3 JTIM-SQL
- File listener.ora
Matikan listener terlebih dahulu, caranya dari command prompt ketikkan :
C:\> lsnrctl stop
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 – Production on 03-MAR-2009 14:46:53
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
The command completed successfully
Buka file listener.ora di folder $oracle_home/NETWORK/admin, dan edit file tersebut sehingga menjadi seperti ini :
# ———————-
# listener.ora Network Configuration File:
D:\oracle\product\10.2.0\tg_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\tg_1)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = tg4msql)
(ORACLE_HOME = D:\oracle\product\10.2.0\tg_1)
(PROGRAM = tg4msql)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = JTIM-OTG)(PORT = 1234))
)
)
# ———————-
Notes : Port standard oracle adalah 1521, dalam artikel ini sengaja dibuat menjadi port 1234.
Kemudian simpan konfigurasi file tersebut, dan jalankan listener dari command prompt :
C:\> lsnrctl start
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 – Production on 03-MAR-2009 14:54:42
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Starting tnslsnr: please wait…
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 – Production
System parameter file is D:\oracle\product\10.2.0\tg_1\network\admin\listener.ora
Log messages written to D:\oracle\product\10.2.0\tg_1\network\log\listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=JTIM-OTG)(PORT=1234)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
————————
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 – Production
Start Date 03-MAR-2009 14:54:45
Uptime 0 days 0 hr. 0 min. 3 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File D:\oracle\product\10.2.0\tg_1\network\admin\listener.ora
Listener Log File D:\oracle\product\10.2.0\tg_1\network\log\listener.log
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=JTIM-OTG)(PORT=1234)))
Services Summary…
Service “PLSExtProc” has 1 instance(s).
Instance “PLSExtProc”, status UNKNOWN, has 1 handler(s) for this service…
Service “tg4msql” has 1 instance(s).
Instance “tg4msql”, status UNKNOWN, has 1 handler(s) for this service…
The command completed successfully
C:\>
Konfigurasi listener sudah selesai dilakukan, dan OTG telah siap dipergunakan.
- File tnsnames.ora
Untuk melakukan pengetesan konfigurasi, edit file tnsnames.ora di folder $oracle_home/NETWORK/admin, dan tambahkan parameter yang ada sehingga menjadi seperti ini :
# ————–
# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\tg_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO))
)
tg4msql =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP) (HOST = JTIM-OTG) (PORT = 1234))
(CONNECT_DATA =
(SID = tg4msql))
(HS=OK))
# ————–
Simpan file tersebut, dan lakukan pengetesan koneksi OTG ini dari command prompt :
C:\> tnsping tg4msql
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 – Production on 03-MAR-2009 15:04:34
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
D:\oracle\product\10.2.0\tg_1\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=JTIM-OTG) (PORT=1234)) (CONNECT_DATA= (SID=tg4msql)) (HS=OK))
OK (30 msec)
Instalasi dan konfigurasi Oracle Transparent Gateway telah selesai dilakukan.
Konfigurasi di Server Database
Di server oracle database, edit file tnsnames ora di folder $oracle_home/NETWORK/admin, dan tambahkan parameter seperti di bawah ini :
tg4msql =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 192.168.1.2)
(PORT = 1234))
(CONNECT_DATA =
(SID = tg4msql))
(HS = OK))
Dan lakukan pengetesan koneksi server oracle database dengan komputer OTG dari command prompt, seperti contoh diatas seperti ini :
C:\> tnsping tg4msql
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 – Production on 03-MAR-2009 15:29:25
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
C:\oracle\product\10.2.0\tg_1\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.2)
(PORT=1234)) (CONNECT_DATA=(SID=tg4msql)) (HS=OK))
OK (30 msec)
Kemudian buat database link dari user schema yang ingin terkoneksi ke database sql server yaitu user scott dengan menggunakan nama dblink TESLINK :
C:\> sqlplus scott/tiger@ORCL
SQL*Plus: Release 10.2.0.1.0 – Production on Tue Mar 3 16:29:00 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production
With the Partitioning, OLAP and Data Mining options
SQL> create database link TESLINK connect to sa identified by sa using ‘TG4MSQL’;
Database link created.
SQL> select count(*) from orders@TESLINK;
COUNT(*)
———-
830
Implementasi koneksi Oracle Transparent Gateway dengan MS SQL Server telah berhasil.
Tags: database, Oracle, oracle transparant gateway, sql server

5 comments so far
Leave a reply