今天,在一台Win10系统上安装了oracle11g服务端程序,然后通过另一台机器上的oracle客户端访问,结果报了好多的错误,当时就懵逼了。本以为只要在同一个局域网下客户端程序就能访问服务端应用,结果试着做了一下,还是失败了。但通过查找资料。发现了如下的问题:
一、首先作为服务端的机器上要安装了oracle11g 程序
二、其次是作为客户端的机器上要安装了oracle client程序
三、将服务端机器的防火墙关掉,这样才不至于拦截你客户端的连接请求
四、修改配置文件
1、修改服务端的tnsnames.ora配置文件
<pre name="code" class="html"># tnsnames.ora Network Configuration File: d:\app\xixi\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务端的IP)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
2、修改listener.ora配置文件
# listener.ora Network Configuration File: d:\app\xixi\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = d:\app\xixi\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:d:\app\xixi\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务端IP)(PORT = 1521))
)
注:修该完成之后记得重新启动监听服务,这样配置文件才能生效!!
五、修改客户端配置
1、如果你使用的PL/SQL工具,则修改客户端的tnsnames.ora配置文件
# tnsnames.ora Network Configuration File: d:\app\xixi\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务端的IP)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
2、如果使用的是Navicat连接,那就不用配置tnsnames.ora配置文件,直接在连接的时候直接输入服务端的IP、用户名、密码、数据库名就能正确连接,如果报ORA-12541错误,请检查服务端的配置是否正确,如果报连接超时,则关闭服务端的防火墙。