2012-02-16 30 views
1

我在一台机器上安装了oracle数据库,我试图从其他机器访问相同的数据库。我尝试通过Oracle SQL开发人员eclipse,甚至通过JDBC程序,没有任何工作。我不确定它是否是防火墙问题(我排除了这一点,因为这两台机器都在同一个域中)或与Oracle数据库设置有关。我知道在MySQL中,您需要授予远程连接数据库的权限。我们是否也需要在oracle SID上设置类似的东西?上的错误信息如何允许远程访问oracle数据库?

更多细节,我得到:IO异常:你有一个监听器运行的Oracle数据库的网络适配器无法建立连接

+4

这是一个数据库管理问题。请尝试http://dba.stackexchange.com/ – 2012-02-16 17:37:53

+0

感谢您的网站详细信息。 – Chetan 2012-02-16 17:46:34

+0

您正在使用哪个JDBC客户端?你有没有安装Oracle客户端?如果您安装了Oracle客户端,您是否尝试过tnsping? – 2012-02-16 19:24:09

回答

2

?它必须先接受请求,然后才能连接到它。检查$ORACLE_HOME/network/admin看看是否有一个名为listener.ora的文件。这是第一步。

如果存在,请检查侦听器的状态。在命令行,登录如Oracle,请输入:

lsnrctl status 

如果设置了一系列看起来像这样的消息:

TNS-12541: TNS:no listener 
TNS-12560: TNS:protocol adapter error 
TNS-00511: No listener 
Solaris Error: 146: Connection refused 

然后侦听器未启动。在这种情况下,启动监听器:

lsnrctl start 

然后尝试再次连接。

+0

我检查了状态,看起来像是在上。我收到的消息:服务“xxxxxxxxxxxxxxxxxx”有1个实例。 实例“orcl”,状态READY,有1个处理程序(s)用于此服务... 命令已成功完成 – Chetan 2012-02-17 07:16:31