Oracle客户端监听服务配置方法
监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。
方法1:使用Net Manager工具配置监听服务
- 01
我们登录oracle数据的时候可能会经常遇到:TNS 无监听程序,或者安装好Plsql等工具后发现,database选项为空白。 究其原因,一般都是因为监听程序未配置的问题。
- 02
Net Manager这个工具是oracle客户端程序自带的,只要你安装oracle客户端一般都有。 但是也有个别例外,比如:绿色版的oracle客户端好像就没有,反正我没找到过,如果没有这个工具的,可以直接移步方法2了。 我们可以通过:开始菜单-->Oracle目录-->配置和移植工具-->Net Manager。 注意事项: 1.建议右键“以管理员的方式”运行Net Manager,否则可能会出现无法添加的问题。 2.如果D:\app\shaiya\product\11.2.0\client_1\network\admin\sample目录下的tnsnames.oRA文件不存在了,哪怕以管理员身份运行,也会出现无法添加的问题,可以从其它地方拷贝一个tnsnames.oRA文件到该目录或者自己创建一个。
- 03
选中“服务命名”,然后点击绿色的“+”号。
- 04
输入您oracle服务器的网络服务名(数据库别名),然后点击“下一步”。
- 05
通信协议一般为:TCP/IP协议,以服务器实际所用协议为准。
- 06
主机名:一般为oracle数据库所在服务器的IP地址;端口号:一般默认为1521,以实际使用端为准。
- 07
服务名:一般也称为库名。(每个Oracle数据库或者服务都有一个服务名。Oracle数据库的服务名通常是全局数据库名)
- 08
如果跟数据库服务器网络通的话,可以点击测试,来验证是否添加成功。 如果暂时无法测试点击完成即可!
- 09
如下图左侧所示,在“服务命名”子树中已经可看到我们新增的“Network_service_name”,右侧为这条配置的相关信息。
- 10
点击菜单栏“文件(E)”,然后选择“保存网络配置”,完成最后一步操作。
- 11
打开Plsql在“Database”的下拉菜单中即可看到,新增的“Network_service_name”选项。
方法2:直接修改tnsnames.oRA文件
- 01
Oracle客户端中一般有两个tnsnames.oRA文件,配置监听要修改的是Oracle客户端家目下的network/admin/tnsnames.oRA。 例如: D:\app\shaiya\product\11.2.0\client_1\network\admin\tnsnames.oRA
- 02
如果实在找不到的话,可以直接到Oracle客户端安装磁盘,进行文件搜索“*.ora”或者“tnsnames.ora”。 新安装的客户端如果没有配置过监听,admin目录下可能没有tnsnames.oRA这个文件,但是admin\sample\tnsnames.oRA有,我们可以把sample目下的文件复制一份到admin目录下。
- 03
然后,以记事本的方式打开admin目录下的tnsnames.oRA,删除全部内容,并安装下面的格式想里面写入网络服务名、传输协议、IP地址、端口和数据库名。 ------------------------------线下为配置文件内容-----------------------------ORCL_192.168.8.250 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.250)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) ------------------------------线上为配置文件内容----------------------------- #ORCL_192.168.8.250为网络服务名也叫数据库别名。 #TCP为连接协议、192.168.8.250为服务器IP、1521为服务端口。 #orcl为库名。 注意事项: 我们直接选择保存文件可能保存不了,可以先保存到别的位置,然后再复制过来替换掉历史的tnsnames.oRA。
- 04
打开Plsql在“Database”的下拉菜单中即可看到,新增的“ORCL_192.168.8.250”选项。
- 05
如果按照上面方法配置成功了,Plsql工具的database依旧为空的话,可以检查一下pslql的配置是否正确。