oracle用dblink远程查询的时候在sql窗口经常出现TNS:无法解析指定的连接标识符。有时候又可以。怎么破?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle用dblink远程查询的时候在sql窗口经常出现TNS:无法解析指定的连接标识符。有时候又可以。怎么破?相关的知识,希望对你有一定的参考价值。

在命令窗口是可以查询的。在命令窗口查询完了以后在sql窗口再查询就可以查询出来了。很郁闷,各位大神求指导啊!

可以先用TNSPING命令试一下

1.tnsping 命令可以检查tcp协议是否已同,俗称我们说的网络通不通
2.tnsping命令监听服务器上的监听是否已开启
3.tnsping命令不检测服务器上的监听的服务名,所以tnsping通,不代表就能连通。追问

不是太懂

追答

首先确定你的连接标识是不是有问题,以及网络是否连通,所以用tnsping命令:

参考技术A 估计是你的网络不是很稳定导致。

oracle中用dblink查询,有时候使用where中的字符串参数不起作用

oracle是否有缓存,每次查询是否需要去缓存
SELECT REPLACE(REPLACE(WM_CONCAT(A.SQLRESULT), ',and', ' and'), ',or', 'or')
FROM PT_FILTER_CONDITION_INFO@BC3 A
WHERE A.REPORTID = 参数1
AND A.USERID = 参数2

oracle的缓存是对完全一致的sql进行缓存,你参数都变了,查询结果是不可能一样的
你这sql想
拼接A.SQLRESULT的结果为一个字符串,同时进行替换

是否查询后的结果就是当前where条件对应的结果,直接试一下,只有一条数据和多条数据的情况
,看是否会改变,不行发截图
参考技术A 是否缓存 取决于 执行计划 和 执行时的状态以及buffer cache 大小 以及数据库版本,不能一概而论的

以上是关于oracle用dblink远程查询的时候在sql窗口经常出现TNS:无法解析指定的连接标识符。有时候又可以。怎么破?的主要内容,如果未能解决你的问题,请参考以下文章

oracle 创建好了dblink之后,该如何列出远程数据库中所有表的清单,查询语句是啥。

oracle 数据库 dblink怎么用

oracle中用dblink查询,有时候使用where中的字符串参数不起作用

通过oracle dblink,怎么执行远程数据库的存储过程。或者说可以执行吗?怎么弄?

Oracle数据库使用DBLINK导入远程Oracle数据库信息

如何解决dblink过多的问题