有需要连接远程服务器上的oracle服务,针对遇到的问题进行记录,以下是关于客户端配置,服务器端配置进行了记录。
前提必须做的是
如果要连接远程服务器,服务器上的监听文件listener.ora文件中:Listener项的HOST值 localhost要去掉,这样客户端连接服务器配置监听后才能连接上服务器。
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 去掉)(PORT = 1521))
)
)
然后再做配置
- 一种方式是修改两个文件的配置
找到本机上两个文件的位置如 E:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN
文件夹下的两个文件:listener.ora,tnsnames.ora
listener.ora内容如下:LISTENER1为新增配置的连接远程服务器的内容。
(Listener 中HOST的值,如果您本机上有oracle服务端,别人客户端要连接你的Oracle服务时你的listener.ora 文件中的 listener 中就要把HOST的值删除。此处做了双向配置。)
# listener.ora Network Configuration File: E:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
LISTENER1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.162)(PORT = 1521))// 远程服务器Ip及端口
)
ADR_BASE_LISTENER1 = E:\app\product\11.2.0\dbhome_1\log
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 该处删除如其他客户端连接你的oracle服务器)(PORT = 1521))
)
)
ADR_BASE_LISTENER = E:\app
tnsnames.ora内容如下,WETH为新增配置的连接远程服务器的内容
# tnsnames.ora Network Configuration File: E:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
WETH = // WETH 远程oracle服务名称 ,不是sid
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.162)(PORT = 1521))//远程服务器IP及端口
)
(CONNECT_DATA =
(SERVICE_NAME = WETH)
)
)
AMS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ams)
)
)
LISTENER_AMS =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
2 另外一种是 通过oracle客户端工具配置。
Oracle安装目录下找到Net Manager监听工具
通过第1步 添加,第2步 添加完成。第2步添加的时候可以校验配置监听配置是否连接成功。注意关闭防火强。