Dear All,
I am trying to setup Oracle Database Gateway for MS SQL Server(I don't have admin access to the MS SQL Server). When I try to test the dblink connection, I get the following error.
I issued select * from dual@xyz;
ORA-28546: connection initialization failed, probable Net8 admin error
ORA-28511: lost RPC connection to heterogeneous remote agent using SID=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=dg4msql)))
ORA-02063: preceding 2 lines from xyz
28546. 0000 - "connection initialization failed, probable Net8 admin error"
My setup is the following.
1. Oracle 11gR2 running on Oracle Linux 6, the same version gateway is installed on the same server, but different home directory.
2. Oracle DB home directory is /u01/app/oracle/product/11.2.0/dbhome_1, gateway home directory is /u01/gateway.
3. I use the same listener.ora file for both the db and the gateway.
4. the contents of my listener.ora, tnsnames.ora and the initdg4msql.ora are below.
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
#(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = db.abc.com.tw)(PORT = 1522))
)
)
mssql =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME=db.abc.com.tw)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME=orcl)
)
)
SID_LIST_mssql =
(SID_LIST =
(SID_DESC =
(SID_NAME=dg4msql)
(ENVS=LD_LIBRARY_PATH=/u01/gateway/dg4msql/driver/lib:/u01/gateway/lib)
(PROGRAM_NAME=/u01/gateway/bin/dg4msql)
)
)
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = db.abc.com.tw)(PORT = 1522))
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = db.abc.com.tw)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.abc.com.tw)
)
)
dg4msql =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP) (HOST=localhost)(PORT = 1521))
(CONNECT_DATA=(SID=dg4msql))
(HS=OK)
)
/u01/gateway/dg4msql/admin/initdg4msql.ora
HS_FDS_CONNECT_INFO=[192.168.0.1]:1433//XIETEST
# alternate connect format is hostname/serverinstance/databasename
HS_FDS_TRACE_LEVEL=255
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
dblink was created using statement below.
CREATE DATABASE LINK "xyz.abc.COM.TW"
CONNECT TO SA IDENTIFIED BY
USING 'dg4msql';
Couple more things, that I have done to check the work above.
[oracle@db admin]$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=61 time=7.61 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=61 time=7.41 ms
^C
--- 192.168.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1818ms
rtt min/avg/max/mdev = 7.417/7.516/7.615/0.099 ms
[oracle@db admin]$ tnsping dg4msql
TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 11-SEP-2013 10:53:11
Copyright (c) 1997, 2009, Oracle. All rights reserved.
Used parameter files:
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP) (HOST=localhost)(PORT = 1521)) (CONNECT_DATA=(SID=dg4msql)) (HS=OK))
OK (0 msec)
[oracle@db admin]$ lsnrctl status mssql
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 11-SEP-2013 10:54:23
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias mssql
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date 11-SEP-2013 10:09:46
Uptime 0 days 0 hr. 44 min. 37 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/db/mssql/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Services Summary...
Service "dg4msql" has 1 instance(s).
Instance "dg4msql", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
Obviously, I would like to get this setup to work, but I also have couple other questions regarding this setup.
1. When installing the gateway, it asks to run the root.sh script. the root.sh script as for the following.
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: n
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: n
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: n
is the above answer correct?
Thanks for reading.