不关oracle配置的事,如果A机能ping通C机,那么A机肯定能连到C机上.
因此请检查:
1 A能ping通C吗?(从你写的情况看,TNS超时,A应不能通C)
2 如果AC真的不通,你可以把A机的网关设为:10.5.205.12,再ping
如果ping通了,那么恭喜你,A就能连到C的ORACLE了.
解决方案 »
- 刚安装oracle,在DOS下输入用户名,却不能输入口令,请高手帮忙!
- 如何写一条把多个表记录合并的SQL语句
- 求oracle中sql语句中取数值精度函数.
- oracle9i中imp导入后好像不能覆盖原来的数据,为什么?如何才能覆盖呢?
- 添加问题成功 oracle根据表中的某个字段,按照这个字段把它分范围查询
- 将表空间改为脱机(恢复)后,不能再联机了,如何办?
- 如何对表进行分析?(是分析索引么?)
- 呼唤版主,散分
- 请教一个select 语句
- linux下安装biee出现先决条件检查错误问题 如何解决?
- ORA-25150:altering of extent parameters not permitted
- 怎样将DELPHI中一个数据集的数据导入已经存在的EXCEL文件中
在内部可以PING通外部的地址如ping www.sohu.com,可以通,但是外部却是不可能ping 通我的私有IP 的。
“把A机的网关设为:10.5.205.12”是没有道理的,因为A不能让10.5.205.12来给自己路由,10.5.205.12也没有路由的功能。
只要确保能PING通
配置TNSNAMES.ORA就可以了
所有要解决A ping C通的问题。
ping通并不表示数据库能连接成功,因为数据库连接的时候,要开启很多未知随机端口,但防火墙一般是把这些端口给禁了,所以肯定是连接不到数据库了。
你需要在防火墙设置那里开启A<-->C的所有端口。否则不行
客户端通过1521(默认端口)向数据库server发动一个连接请求,然后server收到这个请求后,数据库server会与客户端重新建立一个连接,这个连接的端口是随机的,绝对不是1521。
你可以通过nt的命令netstat来查看这个端口
c在防火墙内部ip为Cip1
a能访问c的ip为Cip2则在c上的listener的host,设置为 host = 主机名
其实主机名也可以是随意的一个名字,不过为了内部同网段的访问方便而已就设置成主机名了因为a并不认识该主机名,于是在a的hosts下增加解析该主机名为 Cip2
在a的tnsnames.ora 中host也为Cip2
windows机器下 C:\WINNT\system32\drivers\etc 这个目录下的hosts文件
修改一下就可以了我以前遇见和你一样的问题
就这么解决的
坚信一个原则,能ping 通就能tnsping通,能tnsping通就应该能连接上数据库。除非端口有限制
tnsping 10.5.205.12 通,但net8连数据库仍然报错:正在连接...ORA-12535: TNS: 操作超时
测试未成功。这是为什么?ORA-12535这个错误可能有什么原因引起呢?
我知道如果ping 不通是会报这个错误的。
是这样的,假设a为外部网络,c为内部网络,b是中间防火墙,因此c是能ping通a,但a不能ping通c。
biti_rainy(biti_rainy)说的对:能ping 通就能tnsping通,能tnsping通就应该能连接上数据库。除非端口有限制。
你现在tnsping 10.5.205.12 是没有用的,因为还是ping不同10.5.169.2。
现在有个技术叫vpn,就是进入企业局域网内,像在内部网一样访问局域网机器,同样也可以ping通局域网内任何一台机器。
windows2000就可以装vpn,装起来很简单。在路由和远程访问中设置。在网上查查相关资料吧。
昨天一个前辈高手告诉我,我这种用法没问题,他也这样做过,问题是,它怎么就会超时呢?
Cause: The MTS_DISPATCHERS parameter is set in the initialization file, which initiated the configuration of the multi-threaded server. Action: Remove the MTS_DISPATCHERS parameter from the initialization file and restart the instance 11
你现在a地能ping通10.5.169.2(c地)吗?
从A不能直接PING通C.
TNSPING B的包实际上是C 接收的。下面是listener.log日志文件的一部分:
--这是在C本机连接的记录
25-7月 -2002 11:27:47 * (CONNECT_DATA=(SERVICE_NAME=yjy.world)(CID=(PROGRAM=D:\Program Files\Oracle\jre\1.1.7\bin\jrew.exe)(HOST=YJY)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.5.169.2)(PORT=3750)) * establish * yjy.world * 0
--这是A到C 发起的连接
25-7月 -2002 11:38:09 * (CONNECT_DATA=(SERVICE_NAME=yjy.world)(CID=(PROGRAM=C:\Program Files\Oracle\jre\1.1.7\bin\jrew.exe)(HOST=HRMS)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.5.13.194)(PORT=4852)) * establish * yjy.world * 0
--这是TNSPING测试
25-7月 -2002 11:38:53 * ping * 0
25-7月 -2002 11:39:16 * ping * 0
25-7月 -2002 11:39:19 * ping * 025-7月 -2002 11:39:28 * (CONNECT_DATA=(SERVICE_NAME=yjy.world)(CID=(PROGRAM=C:\Program Files\Oracle\jre\1.1.7\bin\jrew.exe)(HOST=HRMS)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.5.13.194)(PORT=4858)) * establish * yjy.world * 0
~~~~~~~
establish是不是表明已经连接上了?
25-7月 -2002 11:46:12 * ping * 0
25-7月 -2002 11:46:17 * ping * 0
25-7月 -2002 11:47:06 * ping * 0
25-7月 -2002 11:47:35 * ping * 0
您不愿意采用vpn这种又方便又实用的技术真是可惜。不过也可以尝试其他方法。
gz。
请把 mts_dispatchers注释掉!!或者把其中host按照listener中一样的进行设置
或者,索性,把a地的网关设成b地址
即tns的NA层上的验证没有通过,结果使连接disable了。
to jiezhi(相逢何必曾相识) :
看到了你的帖子,问题解决了拜托给告诉我一下!!!
[email protected]