最近项目组来湖南长沙出差,一个同事A还有我,现场已经有一个同事B待了半年了。
因为测试服务器没有图形界面,捣鼓了好几天的静默模式安装数据库都失败了,无奈何只能使用B电脑的数据库来做测试数据库(以前的项目也是拿他的电脑数据库做测试数据库的)。
用了几天没啥问题,突然B要离职了·······
没办法只能把测试数据库挪到我电脑上,启动虚拟机,配置IP地址,结果端口不通。
非常奇怪的问题:我电脑访问虚拟机可以,A和B的电脑访问虚拟机可以,但是测试服务器就是访问不到(不同网段),鉴于客户处网络管理严格比较复杂,放弃了找寻原因,直接使用A的电脑数据库。
结果依然不行,以前的数据库是11g的,A电脑上是10的,直接exp出来的dmp不能使用。(此处后面使用plsql工具导出再导入解决了)
无奈何使用我电脑数据库,结果依然奔溃:数据库启动后,telnet 127.0.0.1 1521是通的,但是telnet
实际地址缺不通,测试服务器无法访问我电脑数据库。
根据解决思路,首先检查了防火墙设置,防火墙关闭的。然后检查了本地安全策略,没有启用任何安全策略。
排除了防火墙和安全策略的原因后,问题指向了路由控制。由于客户处的网络路由我们没办法进入查看,决定想办法解决A电脑不能导入11g导出的dmp文件这个问题。启动A的数据库之后,试了下发现可以正常telnet通。
由此得知网络侧应该没有做相关限制,我电脑的问题应该还是出在我自己的电脑上。
苦思冥想百思不得其解后,我把远程桌面开启了,telnet 127.0.0.1 3389 通的,telnet 实际地址 3389 通的!!!
问题确认了,是数据库的问题,查看数据库监听配置文件:
把host的localhost改成实际地址后,问题解决了!!!
最后想了下改实际地址也不方便,换个地址就不好使了,于是最终结果就是把host改成了计算机名,问题得以解决。