请教一个Oracle透明网关的问题(oracle连接sqlserver)
之前dblink是可以连接的,tnsnames中加入了一个新服务后,不能连接这个新连接名,然后删除了这个新服务,之前的dg4msql还在。
我是在windows服务里面关闭了oracle11g的透明网关监听,再启动的时候就不能启动了
我通过net manager 删除了监听,建了一个LISTENER1522的监听,监听就启动起来了
删除dblink后重新创建,使用
drop public database link test;
create public database link test connect to sa identified by "test123$" using 'dg4msql';
select 1 from dual@test;
第 1 行出现错误:
ORA-28545: 连接代理时 Net8 诊断到错误
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: 紧接着 2 lines (起自 TEST)
------------------
透明网关的配置如下:
IP规划
192.168.1.149 sqlserver ip
192.168.1.143 oracle ip 数据库SID ORCL
Oracle数据库和Oracle透明网关在同一个机器192.168.1.143上,通过odbc,使用pos用户连接上了sqlserver,服务名testdb有驱动了。
透明网关的配置
D:\product\11.2.0\tg_1\dg4msql\admin\initdg4msql.ora
HS_FDS_CONNECT_INFO=[192.168.1.149]//testdb
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
D:\product\11.2.0\tg_1\NETWORK\ADMIN\listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = dg4msql)
(ORACLE_HOME = D:\product\11.2.0\tg_1)
(PROGRAM = dg4msql)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.143)(PORT = 1522))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
)
)
ADR_BASE_LISTENER = D:\product\11.2.0\tg_1
D:\product\11.2.0\tg_1\NETWORK\ADMIN\tnsnames.ora
改为
dg4msql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.143)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = dg4msql)
)
(HS = OK)
)
Oracle数据库的配置D:\app\Admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\Admin\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\Admin\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:\app\Admin\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
(SID_DESC =
(SID_NAME = dg4msql)
(ORACLE_HOME = D:\app\Admin\product\11.2.0\dbhome_1)
(PROGRAM = dg4msql)
)
)
LISTENER1522 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.143)(PORT = 1522))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
)
)
ADR_BASE_LISTENER1522 = D:\product\11.2.0\tg_1
Oracle服务器配置tns
D:\app\Admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
dg4msql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.143)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = dg4msql)
)
(HS = OK)
)