oracle listener 路径
- 格式:docx
- 大小:3.79 KB
- 文档页数:4
Oracle数据库监听器(LISTENER)和本地服务名(Tnsname)配置分类:Oracle 基础知识2009-11-24 10:12 8315人阅读评论(7) 收藏举报一、监听器(LISTENER)监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。
既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。
二、本地服务名(Tnsname)Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。
本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。
Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。
三、Oracle网络连接配置方法配置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle 服务端或客户端的配置)。
在Windows下,点击“开始/程序/Oracle - OraHome92/Configuration and Migration Tools/Net Manager”启动Oracle网络管理器工具,在Linux/Unix下,利用netmgr命令来启动图形化Oracle网络管理器,如:$ netmgrWindows下启动Net Manager图形窗口如下图示:图(一)1、 Oracle监听器配置(LISTENER)如图(一)示,选中树形目录中监听程序项,再点击左上侧“+”按钮添加监听程序,点击监听程序目录,默认新加的监听器名称是LISTENER(该名称也可以由任意合法字符命名)。
选中该名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。
oracle listener troubleshooting小结-回复Oracle Listener是Oracle数据库的网络服务程序,负责接收客户端连接请求,并将请求转发给相应的数据库实例。
在使用Oracle数据库时,可能会遇到一些Oracle Listener的故障,例如无法启动、无法连接等问题。
本文将对Oracle Listener的故障排除进行详细分析,并提供相应的解决方案。
一、Oracle Listener不能启动的故障1. 检查监听器日志文件在Oracle Listener的配置文件中,可以指定日志文件的路径和名称。
检查该日志文件,查看是否有任何错误或提示信息。
如果存在错误,根据错误提示进行相应的修复。
2. 检查监听器的配置文件监听器的配置文件通常为listener.ora,位于Oracle数据库安装目录下的NETWORK/ADMIN目录中。
使用文本编辑器打开该文件,检查其中的配置信息是否正确。
主要关注以下内容:- 监听器监听的端口是否正确配置- 监听器监听的服务是否正确配置- 监听器的日志文件是否正确配置- 监听器的日志级别是否合适通过终端或命令提示符窗口运行“lsnrctl status”命令,检查监听器的运行状态。
如果监听器未运行,可以使用“lsnrctl start”命令启动监听器。
4. 检查防火墙设置防火墙可能会阻止Oracle Listener的正常运行。
确保防火墙未阻止监听器端口的访问。
如果需要,可以将监听器端口添加到防火墙的例外列表中或者关闭防火墙。
5. 检查操作系统的资源限制监听器可能受到操作系统资源限制的影响导致无法启动。
检查操作系统的资源限制设置,尤其是文件描述符限制,如果设置过低,可以适当调整。
二、无法连接到Oracle Listener的故障1. 检查网络连接检查客户端和服务器之间的网络连接是否正常。
确保客户端能够正常访问服务器,并且没有任何网络层面的阻塞。
如何解决oracle中监听无法启动找不到系统路径!2007-09-15 11:33今天上午,在登入oracle时空然我提示找不到监听.在启动监听服务时出现无法启动OracleOraHome92TNSListener服务错误3系统找不到指定的路径!从客户端连接到服务器,出现了这个错误,ora12541-TNS 没有监听器于是,在服务器中启动OracleOraHome92TNSListener服务,显示“在本地计算机无法启动OracleOraHome92TNSListener服务,错误3,系统找不到指定路径”。
原因:Windows优化大师将Oracle的监听服务给优化了还有一种造成本地oracle无法启动的原因是安装时的主机名与当前主机名不同,也就是说安装完oracle后更改了主机名造成。
解决办法1;打开注册表(regedit)找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentContorlSet/Services/OracleOraHome92T NSListener找到后单击,在右侧里面单击右键,新建一个(可扩充字符串值)起名字为 ImagePath 在数值数据中写入C:\oracle\ora92\BIN\TNSLSNR 后退出注册表,重新启动即可。
(其中C:\oracle\ora92\BIN\TNSLSNR 是你oracle安装目录中的一个.exe文件:方法2:进入注册表中修改ImagePath在运行处执行REGEDIT进入注册表到HKEY_LOCAL_MACHINESYSTEM CurrentControlSet ServicesOracleOraHome92TNSListener发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:fOracleOra92BINTNSLSNR退出注册表。
启动监听器即可!进入注册表中修改ImagePath在运行处执行REGEDIT进入注册表到HKEY_LOCAL_MACHINESYSTEM CurrentControlSet ServicesOracleOraHome92TNSListener发现ImagePath关键值没有了,增加他,选择可扩充字符串值,编辑字符串的数值数据为:fOracleOra92BINTNSLSNR退出注册表。
Oracle数据库监听配置与报错解决方法作者:范美卉张俊萌来源:《电脑知识与技术》2023年第24期关键词:监听日志;Oracle数据库;监听器中图分类号:TP311 文献标识码:A文章编号:1009-3044(2023)24-0073-030 引言想要使用Oracle数据库,首先需要用户与数据库建立连接,而怎么在两者之间建立连接,Oracle使用了一个叫网络服务的概念,从而客户端或者中间层的应用服务器与数据库服务器能建立连接,并能在两者之间传递数据。
在客户端,网络服务作为后台运行的进程,在数据库服务器端,网络服务则通过一个叫“监听器”的组件接收来自客户端的连接请求。
监听器(LIS⁃TENER)是位于服务器端的、独立运行的一个后台进程,运行在服务器端,但独立于数据库服务器单独运行,在数据库没有启动的时候,监听器也能独立运行。
1 Oracle 数据库监听配置Oracle监听负责监听客户端传入的连接请求,同时也负责调整服务器的连接负荷。
客户端试图连接数据库服务器时,监听器将接收到客户端的请求并将其传递给服务器进行处理。
一旦客户端与服务器建立连接,它们之后将直接进行通信,而不再需要监听器的介入,监听器将保持空闲状态。
dbca建库后一般会有默认配置好的监听,默认服务端口是1521,通常一个库一个监听就足够,但如果需要处理大量并发请求数,就可能需要配置多个监听,非默认监听的端口号设置成大于1024,不同监听之间服务名和端口号不能一样[1]。
配置监听器有两种方法。
1.1 通过图形界面工具Net Manager如图1所示,选中图中的Oracle Net配置下的本地树形目录中的监听程序项,再点击左侧绿色的“+”按钮添加监听程序,点击监听程序目录,新加的监听器名称默认为LISTENER。
选中该名称,窗口右侧栏的下拉选项中含有四个选项:一般参数、监听位置、数据库服务、其他服务,选中“监听位置”,点击添加地址按钮。
在出现的网络地址栏的协议下拉选项中选中“TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连接,建议输入IP地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口[2]。
Oracle 12c连接PDB时,listener和tnsnames.ora配置1、配置监听首先要明确,所有的PDB都使用1个监听,配置多个实际上启动时也只有第1个有意义。
LISTENER =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = ora12c_A)(PORT = 1521)) )接下来使用SID_LIST_LISTENER来进行静态注册服务。
SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = ora12c) #该服务是我配置的cdb信息(SID_NAME = ora12c))(SID_DESC =(GLOBAL_DBNAME = pdborcl)#该服务是我配置的pdb信息(SID_NAME = ora12c)))ADR_BASE_LISTENER = /opt/oracle2、tnsnames.ora配置观察发现,在tnsnames中配置pdb跟CDB,即原来11g的配置完全一样。
这里SERVICE_NAME = pdborcl使用得是PDB的名字,可以在v$pdbs中查看。
ORA12C =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = ora12c_A)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = ora12c)))pdborcl =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = ora12c_A)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = pdborcl)))3、为了保险,检查下sqlnet.oraNAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)这一句是为了保证优先使用TNSNAMES解析。
处理Oracle监听⽂件listener.log问题 如果连接时候变得较慢查看Oracle⽇志记录,可能是因为此⽂件太⼤,超过2G,需要定期清理,(如果多⽤户,记得⽤root,可能没权限)查看listener.log?find / -name listener.log经查看,竟然⾼达2G得⽇志数据,由于⼀些⽼旧的OS不⽀持2GB以上的⽂件,故当listener.log⽂件超过2GB时,会出现⽆法处理新的连接,新的操作系统虽然不会出现这个问题,但我们依然需要对其进⾏定期处理清理。
Listener log⽇志⽂件处理[oracle@localhost home]$ lsnrctlLSNRCTL> set log_status offConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))LISTENER parameter "log_status" set to OFFThe command completed successfullyLSNRCTL> show log_statusConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))LISTENER parameter "log_status" set to OFFThe command completed successfullyLSNRCTL> exit[oracle@localhost home]$ find -name listener.loghome/oracle/app/oracle/diag/tnslsnr/localhost/listener/trace/listener.log[oracle@localhost ~]$ cd /home/oracle/app/oracle/diag/tnslsnr/localhost/listener/trace/[oracle@localhost trace]$ mv listener.log listener.log.20191127[oracle@localhost trace]$ lslistener.log.20191127 ora_2617_140154513196800.trc[oracle@localhost trace]$ lsnrctlLSNRCTL> set log_status onConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))LISTENER parameter "log_status" set to ONThe command completed successfullyLSNRCTL> show log_statusConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))LISTENER parameter "log_status" set to ONThe command completed successfullyLSNRCTL> reloadConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))The command completed successfullyLSNRCTL> exit[oracle@localhost trace]$[oracle@localhost home]$ lsnrctlLSNRCTL> set log_status offLSNRCTL> show log_statusLSNRCTL> exit[oracle@localhost home]$ find -name listener.log[oracle@localhost trace]$ mv listener.log listener.log.20191127LSNRCTL> set log_status onLSNRCTL> reload我们通过重命名⽇志⽂件之后,会⾃动⽣成⼀个新的listener.log⽂件。
Oracle 监听器Listener资料Oracle 监听器Listener 是一个重要的数据库服务器组件,在整个Oracle 体系结构中,扮演着重要的作用。
它负责管理Oracle 数据库和客户端之间的通讯,它在一个特定的网卡端口(默认是TCP 1521端口)上监听连接请求,并将连接转发给数据库,下面的部分,会从几个方面对监听器进行简单介绍。
1.监听器的功能从当前的Oracle 版本看,Listener 主要负责下面的几方面功能:1. 监听客户端请求。
监听器运行在数据库服务器之上,与Oracle 实例(可为多个)相关关联,是一个专门的进程process,在Windows 的服务项目或者Linux 的运行进程列表中,都会看到对应的运行进程。
Windows 上名为TNSLSNR,Linux/Unix 平台上是lsnrctl。
监听器守候在服务器制定端口(默认为:1521),监听客户端的请求。
2. 为客户端请求分配Server Process。
监听器只负责接听请求,之后将请求转接给Oracle Server Process。
在Oracle 的服务模式下,客户端进程是不允许直接操作数据库实例和数据,而是通过一个服务进程Server Process(也称为影子进程)作为代理。
监听器接受到请求之后,就向操作系统(或者Dispatcher 组件)要求fork (或分配)一个Server Process 与客户端相连。
3. 注册实例服务。
本质上讲,Listener 是建立实例和客户端进程之间联系的桥梁。
Listener 与实例之间的联系,就是通过注册的过程来实现的。
注册的过程就是实例告诉监听器,它的数据库数据库实例名称instance_name 和服务名service_names。
监听器注册上这样的信息,对客户端请求根据监听注册信息,找到正确的服务实例名称。
目前Oracle 版本中,提供动态注册和静态注册两种方式。
监听器文件listener.ora的设置和tnsnames.ora设置分类:oracle学习2011-09-19 23:33 1276人阅读评论(0) 收藏举报oracle数据库networkservice网络list监听器文件listener.ora的设置:监听器配置文件位置D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\listener.ora内容:LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)))(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = gaohaiyang)(PORT = 1521)))))需要注意是HOST的配置,一般情况下HOST=hostname,如果oracle所在主机连入网络(局域网或者因特网),还可以配置为主机IP地址,例如192.168.3.152但是在联网的时候不能设置为127.0.0.1或者localhost,否则连接时会出现如下错误:C:\Documents and Settings\Administrator>sqlplus pwgh_sz/pwgh_sz@orclSQL*Plus: Release 10.1.0.2.0 - Production on 星期一9月19 23:16:56 2011 Copyright (c) 1982, 2004, Oracle. All rights reserved.ERROR:ORA-12541: TNS:no listenerEnter user-name:如果oracle所在主机没有连入网络,则可以设置为127.0.0.1tnsnames.ora设置:tnsnames.ora文件的位置D:\oracle\product\10.1.0\Db_1\network\admin\tnsnames.ora内容:ORCL_SZ =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))需要注意到有网络服务名,在上面的例子中就是ORCL_SZ,使用sqlplus连接数据库时指定此名字,如:sqlplus pwgh_sz/pwgh_sz@ORCL_SZHost一般设置为oracle服务器的地址,如:192.168.0.100,但是如果要连接的数据库在本机上,则还可以设置为hostname。
oracle listener 路径
Oracle Listener 路径
Oracle数据库是一种关系型数据库管理系统,广泛应用于企业级应用程序。
Oracle数据库由多个组件组成,其中一个重要的组件就是Oracle Listener(监听器)。
Oracle Listener是一个网络服务,用于接收客户端应用程序的连接请求,并将这些请求转发给数据库实例进行处理。
在Oracle数据库中,Listener的路径是指Listener 的配置文件所在的路径。
Listener的配置文件名为listener.ora,它通常位于$ORACLE_HOME/network/admin目录下。
$ORACLE_HOME是Oracle数据库软件的安装目录,该目录包含了Oracle数据库的所有安装文件和相关配置文件。
在listener.ora文件中,可以定义Listener的监听地址、监听端口、监听协议等信息。
在listener.ora文件中,可以配置多个监听地址。
每个监听地址由以下几部分组成:
1. 协议:Oracle Listener支持多种协议,如TCP/IP、IPC(Inter-Process Communication)、SDP(Socket Direct Protocol)等,可以根据需要选择合适的协议。
协议的配置方式为:(PROTOCOL=协议名称)。
2. IP地址:监听器所在主机的IP地址,可以是IPv4地址或IPv6地址。
IP地址的配置方式为:(HOST=IP地址)。
3. 端口:监听器监听的端口号,客户端应用程序通过该端口与监听器进行通信。
端口的配置方式为:(PORT=端口号)。
4. 服务名称:监听器将请求转发给的数据库实例的服务名称。
服务名称的配置方式为:(SERVICE_NAME=服务名称)。
下面是一个示例的listener.ora文件内容:
```
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/product/12.1.0/dbhome_1) (PROGRAM = extproc)
)
)
```
在上述示例中,listener.ora文件定义了一个名为LISTENER的监听器。
该监听器使用TCP协议,监听IP地址为192.168.0.1,端口号为1521。
此外,该监听器还使用IPC协议,使用名为EXTPROC1521的KEY进行通信。
SID_LIST_LISTENER部分定义了一个名为PLSExtProc的数据库实例。
该实例使用了一个名为extproc的程序。
在实际应用中,根据需求可以配置多个监听器,并在listener.ora 文件中进行相应的配置。
监听器的路径即为listener.ora文件所在的路径。
通过编辑listener.ora文件,可以灵活地配置监听器的监听地址和相关参数,以满足不同的需求。
Oracle Listener路径即为listener.ora文件所在的路径。
listener.ora文件中定义了监听器的监听地址、监听端口、监听协议等信息。
通过编辑listener.ora文件,可以配置多个监听地址,以满足不同的需求。
理解和掌握Oracle Listener路径对于管理和维护
Oracle数据库非常重要。