(1)这种端口会开放给公网吗?一般公网ip的防火墙机制是不会打开1521端口的,这里的防火墙不一定是你自己开的防火墙,而是云的防火墙,一般这种端口真的很难开放到公网上。
假设,假设啊,你的ip地址被别人知道了,然后别人就可以通过你的ip地址直接访问你的数据库(毕竟ip地址是公网,谁都可以访问,如果端口不封闭,那么这个数据库不用碰库就能被爆掉),你觉得数据放在这里会安全吗?
(2)tns文件是本地(客户端)文件,不是服务端的,个人觉得先tnsping (具体用法是tnsping 监听名(就是tns名),另外个人习惯啊,可听可不听,你的host=那里(tns文件)写ip应该更好,你的本机应该也是lacalhost吧)一下,看看是不是通的,如果同接证明我第一条白说,应该是另外一种可能,如果不通,那么就说明端口肯定没开,在云服务器上写java吧。
你也说了,改成公网ip后就监听起不来了,个人觉得应该是端口封闭了,所以以上是最可能的。如果是端口封闭了,可以考虑(4),当然个人强烈不建议把数据库放在公网上,感觉随时都可能被黑。
(3)listener.ora文件的host不要改成ip,这个host就是主机名,个人觉得改成ip还是算了。
(4)个人觉得,你可以考虑改变监听端口,数据库默认是1521,你可以改一个端口试试,不能用常用的或者有特殊通讯需求的端口,比如你可以改为9527,类似这种乱七八糟的端口,只要两边对应就可以实现,我记得我曾经同时启动两台数据库,一个用1521端口,一个1522端口,然后起一个监听监听两个端口,但是1521的因为端口限制不能访问,但是1522可以,因为端口没限制。
你好的
你看看主机的防火墙关了没有
祝你好运……
望采纳
你检查一下看是不是服务器防火墙没把oracle默认端口号 1521加进去。
阿里云服务器一般配置一下安全组,把1521端口号开放。
oracle数据库的监听配置一般在D:\app\product\11.1.0\db_1\NETWORK\ADMIN\tnsnames.ora
配置大概就这样
d0tcs =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.100.133.105)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = d0tcs)
)
)