好久没用oracle那台虚拟机了,今天要测试达梦数据库的迁移工具,于是又把压箱底的虚拟机给开起来了。老东西果然不负众望,客户端连不上,肯定是tnsname.ora文件的问题。下面是tnsname.ora文件内容:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = vm19)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = orcl)
)
)
我去,我啥时候喜欢用主机名来指定HOST了,原先一直是用IP啊。算了,就这么着吧。既然Oracle监听的本机用的是主机名,那改一下hosts文件就行了。我这虚拟机网络总是被我调来调去,估计是改tnsname.ora文件改烦了,所以换成主机名的。毕竟tnsname.ora文件那藏的可不是一般深啊!改hosts文件直接运行vi /etc/hosts就行了。改完主机名后,我本地的连接工具就能正常连接oracle了。既然Linux能用主机名来代替,那么windows为什么不能呢?
于是我把windows的hosts文件也修改了一下,把主机名跟虚拟机的IP地址绑定了。重新连接数据库,果然好使。说白了,主机名不过是个域名,hosts文件就是域名解析器。