我在一台机器上安装了一个 Oracle 数据库,我正在尝试从另一台机器访问该数据库。
我尝试通过 Oracle SQL Developer Eclipse,甚至通过 JDBC 程序,但没有任何效果。我不确定这是否是防火墙问题(我已经排除了这个问题,因为两台机器都在同一个域中)或者与 Oracle 数据库设置有关。我知道在 MySQL 中你需要授予远程连接数据库的权限。我们是否也需要在 oracle SID 上设置类似的东西?
我收到的错误消息:
Io 异常:网络适配器无法建立连接
小智 4
Oracle 是一个企业数据库服务器,因此您不需要任何奇怪的设置即可使其工作,只需在数据库服务器或客户端上进行正确的配置就足够了。
当您遇到连接错误时,我建议首先确保客户端计算机可以 ping 数据库服务器(名称或 IP 地址在哪里) - 两者都尝试一下,因为可能未在客户端计算机的主机文件中配置名称。(请注意,由于安全原因,ping 可能会被禁用,但如果您收到回复,则表明连接良好。无回复可能并不意味着网络丢失,但您可以尝试从客户端计算机通过 ssh 或 telnet 到 dbhost作为备选)
unix> ping <dbhost>
Run Code Online (Sandbox Code Playgroud)
一旦确认客户端计算机可以看到数据库服务器,您就可以检查数据库服务器上的配置。
在数据库服务器上,如果您使用以下命令进行连接,则您将直接连接到数据库,而不使用 TNS。
unix> sqlplus user/pass
Run Code Online (Sandbox Code Playgroud)
如果您改为连接
unix> sqlplus user/pass@ORACLE_SID
Run Code Online (Sandbox Code Playgroud)
其中 ORACLE_SID 是数据库的标识符,您将使用 TNS,与您的客户端计算机相同。如果这在本地不起作用,那么它在远程计算机上也不起作用。
检查监听器是否正在运行
unix> lsnrctl status
Run Code Online (Sandbox Code Playgroud)
如果不是,以 oracle 用户身份启动
unix> lsnrctl start
Run Code Online (Sandbox Code Playgroud)
并再次尝试使用 user/pass@ORACLE_SID 进行连接
如果连接正常,请检查您的 JDBC 配置以确保您已正确指定连接字符串。
有关正确的 jdbc 连接字符串的帮助,请参阅http://javaeesupportpatterns.blogspot.de/2011/08/network-adapter-could-not-built.html 。
归档时间: |
|
查看次数: |
61543 次 |
最近记录: |