暂无图片
Oracle透明网关建立后创建dblink连接报错
我来答
分享
jackyimi
2022-01-19
Oracle透明网关建立后创建dblink连接报错

请教一个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)

  )

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
cqiwen

应该还是透明网关的配置问题。另外,LISTENER1522的HOST = 127.0.0.1 改为主机名或者改为局域网IP试试。

暂无图片 评论
暂无图片 有用 0
打赏 0
jackyimi

您好,谢谢回复.我试过了,还是不行.

暂无图片 评论
暂无图片 有用 0
打赏 0
cqiwen

感觉你的透明网关配置有问题,重点检查下windows上的防火墙有没有开放1522端口

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
奇怪的 ORA-00979: 不是Group BY表达式问题
回答 3
把select的第一个字段改一下,用那个变量。insertintorindcrcardinf(datadt,instid,canclcode,thmnthissind,crdtcardcnt,crdt
11g安装到这里报错:invoking taget agent nmh's 查了一下说是要修改ins_emagent.mk的这个参数 ,加lnnz11
回答 2
root执行以下步骤:suoraclesedi's/^\(\s\$(MKEMAGENTNMECTL)\)\s$/\1lnnz11/g'$ORACLEHOME/sysman/lib/insemagent
ORACLE 11G ASM_POWER_LIMIT的取值范围
回答 2
已采纳
不是说数据库版本,而是ASM兼容性。11g默认是11.2.0.0.0SQL>colnamefora30SQL>colvaluefora30SQL>setline345SQL>s
Oracle9i数据库无法正常关闭
回答 1
执行关闭数据库命令之前,先杀掉所有连接进程,多切几次归档,保证数据落盘。psef|grepvgrep|grepLOCALNO|awk'{print$2}'|xargskill9检查是否存在大事务运行。
Oracle报错显示无法从套接字读取更多数据,怎么解决?
回答 1
请描述清楚问题,这是在执行什么操作的时候报错的?
Oracle数据库游标使用完后如何处理?
回答 2
已采纳
在使用完游标之后,一定要将其关闭,关闭游标的作用是释放游标和数据库的连接,将其从内存中删除,游标删除后将释放系统资源。
Oracle ASM 磁盘,MOUNT_STATUS=CLOSED HEADER_STATUS=MEMBER GROUP_NUMBER=0
回答 3
这个里面不是说具体看位于/home/grid/base/diag/crs/racpronode2/crs/trace/ocssd.trc这个文件吗
oracle RAC 在一个节点上这么杀掉其他节点的死锁
回答 1
如果是11g及以上版本,查询会话信息如果要杀掉实例上的“71,20925”的会话,那么在任意一个节点上执行:“ALTERSYSTEMDISCONNECTSESSION&39;71,20925,@&39
一般Oracle 生产环境是一个库加多个表空间吗?
回答 3
已采纳
不管生产还是测试,Oracle都是一个库多个表空间,一对多的关系。
如何处理 Oracle SQL 中的单引号?
回答 4
insertintot(name)values(q’[tom’clack]’);