Oracle 远程连接TNS 超时问题

传说一般是由于防火墙问题造成的。最简单的方法是关闭防火墙。

解决方案如下:

Oracle在windows平台下使用的是Socket专用模式。要改为共享模式才行。

首先到你的远程数据所在的机器下

在运行处regedit

找到HKEY_LOCAL_MACHINE—>SOFTWARE—>ORACLE—>HOME0

添加一个字符串USE_SHARED_SOCKET 值为TRUE

然后去控制面板,例外处,添加一个例外端口:1521(这里的例外端口可以在你的Oracle Enterprise Manager
Console中点击数据库名,看看右边的port,就是那个值)

然后去你的Oracle安装目录,找一个类似init.ora的文件。这个文件可能有很多,找到你的数据库名所在的目录下的文件例如我的数据库名叫chicoDB,那
么找到oracle/admin/chicoDB下的那几个init.ora文件可能文件后面有一大串数字…在那些文件末尾添加一行

mts_dispatchers=“(address=(protocol=tcp)(host=chico)(port=1521))(dispatchers=1
)”

这里的host是你的主机名。

然后去你的Oracle Enterprise Manager Console关闭chicoDB,然后再启动它即可。

当然你的首要条件是已经建立的public database link, 已经在tnsnames.ora中添加的协议适配器。

如果不知道如何添加,参考我的blog:

http://blog.csdn.net/cctt_1/archive/2009/06/05/4245996.aspx