Heterogeneous connection between Oracle and Postgres.
DanatanNov 15 2010 — edited Nov 15 2010Hi All,
I'm trying to make an heterogeneous connection between Oracle and Postgres since few days but i still having this error : "lost RPC connection".
First of all : I'm using Windows 7, Oracle 10g and PostgreSQL 8.4.
I have done the following operations :
1) Create a System DNS named "PG". (Test connection is OK)
2) Create the file "initPG.ora" in "$ORACLE_HOME/hs/admin" :
# This is a sample agent init file that contains the HS parameters that are
# needed for an ODBC Agent.
#
# HS init parameters
#
HS_FDS_CONNECT_INFO = PG
HS_FDS_TRACE_LEVEL = ON
#
# Environment variables required for the non-Oracle system
#
#set <envvar>=<value>
3) Configure the file "listener.ora" (in "$ORACLE_HOME/NETWORK/ADMIN") :
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = PG)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
(PROGRAM = hsodbc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = Cédric-PC)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
4) Configure the file "tnsnames.ora" (in "$ORACLE_HOME/NETWORK/ADMIN") :
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Cédric-PC)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
PG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST = Cédric-PC)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = PG)
(HS = OK)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
5) Finally, i create my DB-Link and test it :
CREATE DATABASE LINK "CENTRALE_POSTGRES" CONNECT TO "user_login" IDENTIFIED BY "user_password" USING 'PG';
SELECT * FROM "dual"@CENTRALE_POSTGRES;
I got this error :
ORA-03135 : lost RPC connection.
As you can see, i have activated the trace level (HS_FDS_TRACE_LEVEL = ON), but the directory "$ORACLE_HOME/NETWORK/trace" still empty.
Any ideas ?
Regards