前言

环境:Oracle11g Centos7.9

3个重要的文件

oracle的监听服务主要涉及三个文件:服务端文件listener.ora、客户端文件tnsname.ora、sqlnet.ora。三者的默认位置都在:$ORACLE_HOME/network/admin/
tnsname.ora配置文件是一个用于解析名称的客户端文件,服务器上通常有一个副本以便在服务器上运行客户端(sqlplus就是客户端)。
sqlnet.ora配置文件是可选的,可能存在于服务端或客户端,它设置的各种默认值会影响所有客户机和服务器。
listener.ora配置文件存在于Oracle数据库服务端,默认位置为:$ORACLE_HOME/network/admin/listener.ora。即Oracle服务端需要开启一个监听器来实时监听有哪些客户端来请求连接我服务端,这个监听器的信息配置对应的就是listener.ora文件,此文件中定义了Oracle服务端所需要监听的端口协议以及实例SID。

如何配置监听

Oracle配置监听可以使用两种图形化工具:Net Manager和Net Configuration Assistant。下面在Linux环境下结合Net Manager来配置并讲解listener.ora文件。(window环境下大同小异)。

Linux下命令行输入:netmgr 即可调出Net Manager配置工具。如下图所示,Net Manager导航树分为三个分支。Profile分支用于创建或编辑sqlnet.ora文件,用于设置可以应用于Oracle客户端和服务端的选项。Server Naming分支用于在tnsnames.ora文件中篇配置客户端的名称解析。Listens分支用于在listener.ora配置数据库侦听器。现在,首先创建一个监听器:


选择listens后点击左边的加号,输入监听器的名称保存即可,(此处设置监听器名称为LISTENER),创建了一个监听器就需要配置它,点击LISTENER,默认顶部选择Listening Locations,即必须首先要定义监听哪台主机哪个端口,输入host和port,如上图所示,此处host输入的服务器主机名,建议输入IP地址。此时listener.ora就会创建LISTENER语句:

LISTENER =          #监听器名称Lisener,就是NetManager创建的名称
(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle11g)(PORT = 1521))(ADDRESS =……可以配置多个监听地址)#tcp协议,监听主机oracle11g的端口1521
)


如上图所示,顶部选择database services
输入Global Database Name 、Oracle Home Directory、SID
即就定义了该监听器要监听的数据库。
Global Database Name 、SID在DBCA创建数据库就定义了,Oracle Home Directory会自己加载/u01/app/oracle/product/11.2.0/db_1。
此时listener.ora就添加SID_LIST_LISTENER该项信息内容,如下所示:

LISTENER =          #监听器名称Lisener,就是NetManager创建的名称
(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle11g)(PORT = 1521))
)SID_LIST_LISTENER =
(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = wuhan)(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)(SID_NAME = wuhan))
)

注意:SID_LIST+监听器名称为Oracle默认的命名规则,它定义了该LISTENER监听器为哪些数据库实例提供服务,一个监听器可以监听多个数据库实例,需要监听多个数据库实例,只需要在netManager中database services中再添加一个即可。或者直接在SID_LIST 中指定多个SID_DESC即可。

tnsnames.ora配置文件

下面讲解tnsnames.ora配置文件。
我们知道,一个工具如plsql或SQL plus需要连接远程或本机的oracle服务器,那么客户端是如何去连接的呢,答案是通过解析字符串去连接的,该字符串定义在tnsnames.ora中。该文件默认位置为:$ORACLE_HOME/network/admin/tnsnames.ora。首先需要配置tnsnames.ora文件。

如图所示,选择 Service Naming后点击右边+号,这就创建了一个客户端连接字符串,输入Service Name、Host Name、Port Number即可,这时就在tnsname.ora创建了一个连接字符串:

DEP = (DESCPIRPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle11g)(PORT = 1521)))(CONNECT_DATE = (SERVICE_NAME =dep)))

这样客户端工具SQL plus或远程的plsql就能连接数据库服务器了,也就是说使用sqlplus sa/manager001@dep的时候, sqlplus就能知道dep是什么含义,并进行解析连接dep字符串了,同理windows的客户端PL/SQL Developer中database栏就会出现dep数据库了,plsql就会自己去tnsnames.ora中寻找dep字符串来自己解析连接远程数据库了,如下图所示:

sqlnet.ora文件就不讲了,Net manager 工具的第一个Profile分支就是用来配置sqlnet.ora文件的,它主要包括日志文件的存放位置、客户端连接超时时间等等一个参数。

以上配置文件中出现的host都建议填写IP地址

以上都是在同一台机器上安装的服务端和客户端,那么当客户端与服务端不在同一台机器上时,如何安装的呢?

我们知道。Oracle分为客户端和服务端,当已经在远程服务器中安装好Oracle服务端之后,需要在另外一台电脑上安装客户端+PLSQL DEV工具才能远程连接服务端,注意,PLSQL DEV工具仅仅是一个第三方工具,它并不是Oracle的客户端,如果你仅仅安装了PLSQL DEV工具而没有安装客户端那么是无法连接远程服务端的。Oracle的客户端工具可以在Oracle的官网中下载并安装。

oracle的监听服务详解相关推荐

  1. oracle一般监听配置文件,oracle监听配置文件详解

    tnsnames.ora 监听配置文件详解 监听配置文件 为了使得外部进程 如 CAMS后台程序 能够访问 Oracle 数据库 必须配 置 Oracle 网络服务器环境 配置 Oracle 网络服务 ...

  2. watch深度监听数组_vue watch普通监听和深度监听实例详解(数组和对象)

    vue watch普通监听和深度监听实例详解(数组和对象) 下面通过一段代码给大家介绍vue watch的普通监听和深度监听,具体代码如下所示: var vm=new Vue({ data:{ num ...

  3. Oracle客户端监听服务配置方法

    Oracle客户端监听服务配置方法 可直接修改tnsnames.oRA文件 Oracle客户端中一般有两个tnsnames.oRA文件,配置监听要修改的是Oracle客户端家目下的$ORACLE_HO ...

  4. oracle10g无监听配置文件,Oracle 10g学习笔记(七) tnsnames.ora 监听配置文件详解

    监听配置文件 为了使得外部进程 如 CAMS后台程序 能够访问 Oracle 数据库 必须配 置 Oracle 网络服务器环境 配置 Oracle 网络服务器环境是通过配置 listener.ora ...

  5. tnsnames.ora 监听配置文件详解

    今天是重要的一天.将XML数据导入ORACLE遇到很多问题,学了好多,其中很长时间花在网络配置上,刚开始学,具体原因不知道,先把搜集到的好文章存下来,以后慢慢研究. 监听配置文件            ...

  6. oracle停监听服务,ORACLE监听服务启动后又停止了的解决

    ORACLE监听服务启动后又停止了的解决 今天碰到的问题: 首先,连接数据库时报错:"Io 异常: The Network Adapter could not establish the c ...

  7. centos oracle 修改监听服务名_Oracle架构详解

    01 前言 学习任何一门科学,都要从他的背景和宏观体系开始,那么数据库也不例外. 体系结构为什么重要,因为体系结构是对一个系统的框架描述,只有从宏观上掌握它的物理组成.文件组成和各种文件组成,在实际工 ...

  8. Oracle 监听配置详解(转载)

    使用ORACLE的SQL*Net V.2连接客户机和服务器,需配置每个客户机和服务器.在服务器上需配置的文件有:listener.ora./etc/services,在客户机上需配置tnsnames. ...

  9. oracle监听器配置详解,Oracle 监听配置详解

    客户端不需要知道数据库名字和实例名字,只需要知道数据库对外提供的服务名(service_name)就可以申请连接到数据库.这个服务名字可以设置成和实例名字一样,也可以根据业务需求设计.在数据库启动过程 ...

  10. centos oracle 修改监听服务名_Oracle-Oracle DB、监听和oem开机启动

    1.Windows Oracle提供了伴随操作系统自动重启的功能,在Windows中,可以修改"我的电脑-->管理-->服务-->OracleService$ORACLE_ ...

最新文章

  1. Windows+Git+TortoiseGit+COPSSH 安装图文教程
  2. HP-UX Root密码被锁定的非关机情况下解决方案
  3. 触发transition的几种方式--转
  4. 二级计算机为让利消费者,计算机二级office题库训练题(2)
  5. poj 3038 Children of the Candy Corn bfs dfs
  6. 问题记录:如何比较两个字符串的相似度
  7. 计算机多媒体应用软件有超媒体特点吗,计算机应用基础第三套试卷98分
  8. elementui 加载中_ElementUI cascader级联动态加载回显和搜索看这个就够了
  9. 空谈Saas都扯淡,让你看看真正的云计算
  10. mysql用户 11_MySQL-快速入门(11)用户管理
  11. 前端学习(2771):图片上传
  12. 如何让梯形变成平行四边形_开放的课堂 创新的天地——平行四边形的面积教学片段与反思...
  13. alert获取输入框内容_获取由 AlertDialog 生成的对话框中EditText的文本内容
  14. javascript设计模式研究学习-设计模式类别
  15. Unitest框架的使用(四)HTMLTestRunner输出测试报告
  16. 开放地址法开放地址法
  17. hi模板文件报乱码问题
  18. 技术随想--不求安稳,超越自我
  19. 佳能g2810打印机扫描怎么用_佳能g2810打印机说明书
  20. 大数据是什么?与云计算有什么关系?

热门文章

  1. 最简单解决jpa自动生成表后字段乱序问题
  2. Anaconda3安装以及常用命令
  3. 判断一个字符串出现次数最多的字符,并返回这个字符和次数
  4. js知识梳理1:理解对象的属性特性
  5. 微信内置浏览器不支持 onclick 如何解决?(原因是因为内面中的内容或者标签大部分是动态生成的)...
  6. (HDU)1089 --A+B for Input-Output Practice (I)(输入输出练习(I))
  7. beta 发布的相关评论
  8. JQuery中$.ajax()方法参数详解 转载
  9. BZOJ 1011: [HNOI2008]遥远的行星( )
  10. Win7下如何破解Visual Studio2008 90天试用版