oracle 监听器详解
Oracle监听器密码设置方法(LISTENER)
Oracle监听器密码设置⽅法(LISTENER)监听器也有安全?Sure!在缺省的情况下,任意⽤户不需要使⽤任何密码即通过lsnrctl ⼯具对Oracle Listener进⾏操作或关闭,从⽽造成任意新的会话都将⽆法建⽴连接。
在Oracle 9i 中Oracle监听器允许任何⼀个⼈利⽤lsnrctl从远程发起对监听器的管理。
也容易导致数据库受到损坏。
1. 未设定密码情形下停⽌监听[oracle@test ~]$ lsnrctl stop listener_demo92 -->停⽌监听,可以看出不需要任何密码即可停⽌LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 26-JUN-2011 08:22:26Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))The command completed successfully2. 重新启动监听并设置密码[oracle@test ~]$ lsnrctlLSNRCTL for Linux: Version 9.2.0.8.0 - Production on 26-JUN-2011 08:24:09Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.Welcome to LSNRCTL, type "help" for information.LSNRCTL> set current_listener listener_demo92 -->设置当前监听器Current Listener is listener_demo92LSNRCTL> start -->启动过程也不需要任何密码,启动的详细信息省略LSNRCTL> change_password -->使⽤change_password来设置密码Old password:New password:Reenter new password:Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))Password changed for listener_demo92The command completed successfullyLSNRCTL> save_config -->注意此处的save_config失败Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))TNS-01169: The listener has not recognized the passwordLSNRCTL> set password -->输⼊新设定的密码验证Password:The command completed successfullyLSNRCTL> save_config -->再次save_config成功Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))Saved listener_demo92 configuration parameters.Listener Parameter File /oracle/92/network/admin/listener.oraOld Parameter File /oracle/92/network/admin/listener.bakThe command completed successfully-->增加密码之后可以看到listener.ora⽂件中有⼀条新增的记录,即密码选项(注:尽管使⽤了密码管理⽅式,仍然可以⽆需密码启动监听)[oracle@test admin]$ more listener.ora#----ADDED BY TNSLSNR 26-JUN-2011 05:12:48---PASSWORDS_listener_demo92 =#--------------------------------------------3. 尝试未使⽤密码的情况下停⽌监听[oracle@test ~]$ lsnrctl stop listener_demo92LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 26-JUN-2011 06:09:51Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))TNS-01169: The listener has not recognized the password -->收到错误信息,需要使⽤密码认证4. 使⽤密码来停⽌监听[oracle@test ~]$ lsnrctlLSNRCTL> set current_listener listener_demo92Current Listener is listener_demo92LSNRCTL> stopConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))TNS-01169: The listener has not recognized the passwordLSNRCTL> set passwordPassword:The command completed successfullyLSNRCTL> stopConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))The command completed successfullyLSNRCTL> statusConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))TNS-12541: TNS:no listenerTNS-12560: TNS:protocol adapter errorTNS-00511: No listenerLinux Error: 111: Connection refusedConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))TNS-12541: TNS:no listenerTNS-12560: TNS:protocol adapter errorTNS-00511: No listenerLinux Error: 2: No such file or directory5. save_config失败的问题-->在 Oracle 9i中,使⽤save_config命令将会失败LSNRCTL> save_configConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=<port>)))TNS-01169: The listener has not recognized the password-->应该先使⽤set password之后再save_config,则保存配置成功。
Oracle网络监听器的配置分析
Oracle网络监听器的配置分析电脑知识与技术......网络通讯与安全?Oracle网络监听器的配置分析杨延广.曹素丽(石家庄邮电职业技术学院,河北石家庄050011)摘要:Oracle已经广泛应用于许多大型企业中,保证其正常的网络通信是DBA的一项重要职责,文章就其中服务器端的监听器的各种配置作了细致阐述与分析.指出了配置中需注意的一些问题.关键词:Oracle;数据库;监听器;配置中图分类号:TP393文献标识码:A文章编号:1009—3044(2006)23-0088-01 OracleNetListenerConfigurationY ANGYan—guang,CAOSu—li(siazhuangP&TTechnicalCortege,Shijiazhuang05001l,China)Abstract:Oracleiswidelyapphedtomanybigenterprises,DBAmustensureitsnetworkcom municationsisexpedite.Inthispaper,itis detailedhowtoCOnfigureOraclenetlistene~andsomethingpaida~enfiontoisindicated. Keywords:Oracle;Database;Listener;Cortfiguration1监听器概述监听器是Oracle网络服务组成中的一个重要组件,它通常位于服务器机上.以操作系统进程的形式运行工作.监听器进程就像是安在服务器上的一只耳朵,负责监听客户端发来的初始连接请求,然后再将请求交给Oracle数据库服务器,如图1所示.●一一一一一'一'一一一一一一一一一一一一一一一一一'一一一一一一一一1 运行数据库服务器的计算机:《囤图1监听器的基本工作原理在Oracle网络环境中,必须在数据库服务器上配置监听器,才能接受客户端的连接请求,当网络上客户请求数量较大时,还要进行合理的监听器配置来平衡负载,才能确保服务器的响应不会太慢,保证连接的畅通.监听器监听到初始的连接请求后,会根据数据库服务器类型来选择合适的服务处理器:如果监听器监听的数据库服务器属于专用服务器类型(即每个客户端进程要连接到一个专门的服务进程),则监听器为该客户端请求启动一个新的专用服务进程,然后将客户端连接信息交给这个新的服务处理器;如果监听的数据库服务器属于共享服务器类型(此时与客户端连接的是调度器,一个调度器进程可以与多个客户端同时建立连接),则监听器将该客户端请求交给负荷最小的调度器进行处理.选择的服务处理器不管是专用服务进程还是调度器,一旦客户端与服务器的连接已经建立,客户端和服务器即可直接通信, 不再需要监听器的参与,此时监听器可以继续监听其它客户的连接请求.2监听器配置对监听器进行配置是数据库服务器端网络配置中最重要的工作,配置时可以使用图形工具OracleNetConfigurationAssistant (Oracle网络配置助手)或OracleNetManager(OracleNet管理员),也可以手工配置.每台数据库服务器要求至少配置一个监听器,以监听客户的服务请求.但是如果有多个客户尝试同时访问数据库,那么一个监听器可能会导致监听器的响应时间延迟.因为一个监听器一次只能处理一个请求.因此,一个数据库可以配置多个监听器,以便平衡通信流量或者各个监听器所处理的数据量.另外,只要数据库位于与监听器相同的服务器上,一个监听器就可以处理对多个数据库的请求.2.1监听器配置要包含的内容一台服务器上的所有监听器的配置信息都保存在服务器的监听配置文件listener.ora中.正如以下listener.or'a文件内容所示,监听器配置时应包括几个方面的内容:US1'ENER=fDESCRIPTIONLIST=fDESCRIPnON=fADDRESS=.LISTfADDRESS=ROTOCOL=IPC)(KEY=EX11PROC0))1(ADDRESS_LIST=fADDRESS=(PROTOCOL=TCP)(HOST=sss)(PORT=l521)) )))SIDUSTUS1'ENER=(SID—UST=fSIDDESC=fSIDNAME=PLSExtProc1fORACLEHOME=f.'\oracle~ora921(PROGRAM=extproc))fsIDDESC=fGLOBALDBNAME=mydb1fORACLEHOME=fi\oracle\ora921fSIDNAME=mydb))1监听器名称:管理员可以同时配置多个监听器,每个监听器都有一个唯一的名字,默认情况下Oracle会自动配置一个名为US1'ENER的监听器.监听地址:包括协议,监听主机,监听器使用的端口等信息,一个端口是计算机上的一个地址或位置,可以在这里访问特定的程序或服务.你可以将端口看作是一扇门,从客户端请求服务时,必须将该请求发送到一个监听器所监听的端口,即客户必须敲正确的门.常采用的是TCP协议,此时默认的监听端口是1521.需要强调的是,如果要为一个服务器配置多个监听器,那么每个监听器必须使用不同的名字和TCP端口.这里监听了两个地址:第一个用于任何外部过程调用请求,第二个用于名称为sss的计算机上的Oracle9i数据库的任何服务请求.SID_LIs1'_LISⅡ:NER部分指出了监听器LISTENER所要监听的所有数据库的列表.上述的定义可以监听两个服务.这样在配置文件中通过SID_LIST_<listener_name>部分明确指出要监听(]转第114页)收稿日期:2006-04-26作者简介:杨延广(1965一),男,河北晋州人,副教授,硕士,主要从事计算机教学与科研开发工作.\.研究开发......电脑知识与技术(if(nullbasepoint)(setqbasepoint(00)))fsetqxxIlen0.0)(setqxdis(,(一x2xI)n));计算极角的增量(setqlen(calpolarexp))(setqPI(polarbasepointxlen));起点(setqb(ssadd));初始化选择集(setqosm(getvar"OSMODE"));保存OSNAP模式fsetvar"OSMODE"0);关闭OSNAP模式(setqolm(getvar"LIMCHECK"));保存LIMITS状态(setvar"LIMCHECK"0);关闭出界检查(repeatn(prognfsetqxf+xxdis));极角增量(setqlen(calpolarexp));计算极径(setqp2(polarbasepointxlen));下一点坐标command"PLINE"plp2"");绘制PLINE线(setqplp2);重设起点~sadd(entlast1b1;加入选择集);endprogn);endrepeatcommand"PEDIT"(entlast)"i..b……");连接成一条PLINE线(setvar"OSMODE"osm):恢复目标捕捉模式setvar"LIMCHECK"olm);恢复LIMITS状态fprinc"\ll绘制完毕.\ll")(princ));endPW.利用本程序绘制的函数曲线实例见图l.O图1绘制的函数曲线4小结以上提出的函数曲线绘制实现方法,简练高效,用它绘制函数曲线十分方便,通用性强.具有很强的工程应用意义.若再辅以DCL对话框设计,可以使其更加方便易用.参考文献:【1】郑阿奇.AutoCAD2000中文版实用教程【M】.北京:电子工业出版社.2oo0.【2】周克绳.AutoCAD计算机绘图软件【M】.北京:国防工业出版社.1991.(上接第88页)的服务信息的方法称作静态数据库服务注册;如果省略此部分.不明确指出服务,而是设置好一些初始化参数,由后台进程PMON在数据库启动时将该数据库服务的相关信息通知监听器.这就称作动态数据库服务注册.下面对两种注册的配置分别进行论述.2.2静态服务注册的配置为了使监听器能够处理针对Oracle8或更早版本的数据库实例的连接请求,以及想使用OEM(OracleEnterpriseManager)工具时.必须采用这种方式配置.配置这种方式实质就是除了要定义所需要的监听器的名称,监听协议地址信息之外,还必须要有SIDLIST<listenername>部分,用于指明要监听的数据库服务.如下例所示,配置了一个监听器LISrITENER3,其监听一个协议地址,监听两个数据库: USTENER3=(DESCRIP11ON—UST=rI)ESCRIP11ON:(ADDRESS:(PROTOCOL:TCP)(HOST=sss)(PORT=1522)))) SIDIENER=_LISTLIS3(SID-UST=(SID—DESC=(GLOBAL—DBNAME=student)(0RACLE—HOME=c:\c:\oracle\ora921(SID_NAME=student))(SID—DESC=fGLOBALDBNAME=mydb1(0RACLE—HOME=f:\oracle\ora92)(=mydb)))因为已经存在一个自动配置的监听器LISTENER,它监听1521端口,因此新配的LISTENER3不要再监听1521端口.服务器SSS上有两个监听器监听客户对mydb数据库的连接请求,但是监听端口分别是1521和1522,这样当客户连接量较多时可以通过不同的端口请求,从而达到平衡负载,保证响应速度.2.3动态服务注册的配置动态服务注册是Oracle8i引入的监听器配置方式.新增监听器时只需要在配置文件listener.ora中定义其名称与监听协议地址即可,但是前提是配置了必要的初始化参数,因为动态服务注册是由PMON向监听器提供数据库服务名,实例名以及服务处理器和负荷信息的.为了确保动态服务注册可以自动完成,必须要正确设置两个初始化参数:(I)SERVICE—NAMES:用于设置数据库的服务名,可以多于一个,以区分同一个数据库的不同用途.默认值为全局数据库名114电■知识与技术(DB_NAME参数加上DB—DOMAIN参数),即数据库的全局数据库名就是它的默认服务名,如:SERVICE_NAMES=.oracle.con;(2)INSTANCE—NAME:用于设置数据库的实例名,在单实例数据库系统中往往与数据库名DB相同.如:_NAME INsTANCE—NAME=sales:如果以上两个参数的设置正确,那么默认情况下.后台进程PMON会自动的将服务信息注册到采用默认名称LISTENER, TCP/IP协议,1521端口的本地监听器上.如果要动态注册的监听器不是上述的默认配置.即名称不是LISTENER或者协议不是TCP/IP或者端口不是1521.这种情况下就必须做进一步的配置.以上述LISTENER3为例.即去掉SID_LIST_LISTENER3之后,将服务信息动态注册至LISTENER3的继续配置步骤具体为:'首先修改服务器的初始化参数文件内容.目的是告诉PMON要注册到的是哪个监听器:如果属于专用服务器类型,则必须增加LOCAL.LISTENER参数,如:LOCALUSTENER=LISTENER3:如果是共享服务器类型.则设置初始化参数DISPATCHERS中的LISTENER选项值,而不再设置LOCAL_uSTENER参数,如: DISPATCHERS="…fUSIENER=LISIENER3)":接下来,还必须通过一种命名方式(比如利用本地命名方式)将USTENER3这个名称解析成监听器的协议地址,否则无法启动该监听器.如果采用最为常用的本地命名方式.解析的办法就是将上述的"LISTENER3=…"部分复制到与listener.ora文件位置相同的另一个文件tnsnames.ora中即可3结束语Oracle数据库为了适应大型企业网络应用的需求.不仅提供了客户机与数据库服务器之间进行通信的网络解决方案.还提供了服务器与服务器通信的网络方案,但无论怎样,只要服务器要提供服务,那么数据库管理员(DBA)就必须进行监听器的配置维护,这是保证正常网络通信的最基本最重要的工作之一.参考文献:f1]OracleCorporation.Oracle9iDamb~eAdministrationFunda. mentalsIIStudentGuide.2002.1:3—1-3—26.【2】黄河.Oracle9iforWindowsNT/2000数据库系统培训教程(高级篇)[M】.北京:清华大学出版社,2003.【3]ImnnesL.Morris—Murphy着,天宏T作室译.Oracle9i数据库管理员II:备份,恢复与网络管理【M】.北京:清华大学出版社,2004.。
ORACLE监听
ORACLE监听今天来学习⼀下监听的相关内容,昨晚被⽼⼤问了两个关于监听很简单的问题,但是却吞吞吐吐回答,⽽且有⼀个问题还答错了,刚刚查了下资料,才发现“驴头对了马嘴”,哭笑不得。
⼀、监听(listener)是什么监听器是Oracle基于服务器端的⼀种⽹络服务,主要⽤于监听客户端向数据库服务器端提出的连接请求。
既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进⾏监听器的设置也是在数据库服务器端完成的。
oracle⽹络配置有三个配置⽂件 listener.ora,tnsnames.ora,sqlnet.ora,其⽬录均在$ORACLE_HOME/network/admin 。
Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进⾏合法检查,如果连接请求有效,则进⾏连接,否则拒绝该连接。
⼆、如何配置监听1)listener.ora 主要负责服务器端的监听配置,配置的基本模板:# listener.ora Network Configuration File: /home/oracle/app/product/11/db/network/admin/listener.ora# Generated by Oracle configuration tools.LISTENER_ORA = (注:LISTENER_ORA 为监听名字)(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 12.1.4.5)(PORT = 1521))))SID_LIST_LISTENER_ORA = (注:LISTENER_ORA 为监听名字)(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = wsj)(ORACLE_HOME = /home/oracle/app/product/11/db)(SID_NAME = wsj)))ADR_BASE_LISTENER = /oracle/app/oracle其中:PROTOCOL指的是监听接收链接的协议;HOST是指的监听运⾏的主机或者IP地址;PORT指的是监听运⾏的端⼝;SID_NAME指的是监听服务的实例名;GLOBAL_NAME指的是监听服务的服务名;ORACLE_HOME指的是监听服务的$ORACLE_HOME。
oracle监听配置文件详解
1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(divSENTATION = http://admin)
)
)
EXTPROC_CONNECTION_DATA.LOCALDOMAIN =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(SID_NAME = oid)
)
)
& 说明
1 listener.ora 文件中定义一个监听器 其缺省的名称为 LISTENER
这个监听器缺省以tcp/ip为协议地址且端口号为1521运行 在CAMS应用中
监听文件定义的监听器就使用这个缺省名字 并且使用缺省的协议 tcp/ip
即监听配置文件 在本小节说明 另两个文件分别在随后的两个小节说明
监听配置文件 listener.ora 的存放路径为 $ORACLE_HOME/network/admin
以下是一个示例
LISTENER = #监听器名称
器的服务 即为哪些数据库实例提供监听服务 以 cams 实例为例 其对应的
服务信息为
(SID_DESC =
(GLOBAL_DBNAME = cams) #数据库名
(ORACLE_HOME = /u01/app/oracle/product/8.1.7)
(SID_NAME = cams) #数据库实例名
(PORT = 2481))
Oracle数据库监听器(LISTENER)和本地服务名(Tnsname)配置
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_详解
Oracle监听-提纲o ORACLE工作机制o ORACLE监听参数o ORACLE监听功能o ORACLE监听配置o ORACLE网络构架o ORACLE精简版构造o ORACLE常见问题ORACLE工作机制o从一个用户请求开始讲,ORACLE的完整的工作机制是怎样的,首先一个用户进程发出一个连接请求,如果使用的是主机命名或者是本地服务命中的主机名使用的是机器名(非IP地址),那么这个请求都会通过DNS服务器或HOST文件的服务名解析然后传送到ORACLE监听进程,监听进程接收到用户请求后会采取两种方式来处理这个用户请求o下面我们分专用服务器和共享服务器分别采用这两种方式时的情况来讲专用服务器模式o一种方式是监听进程接收到用户进程请求后,产生一个新的专用服务器进程,并且将对用户进程的所有控制信息传给此服务器进程,也就是说新建的服务器进程继承了监听进程的信息,然后服务器进程给用户进程发一个RESEND包,通知用户进程可以开始给它发信息了,用户进程给这个新建的服务器进程发一个CONNECT包,服务器进程再以ACCEPT包回应用户进程,致此,用户进程正式与服务器进程确定连接。
我们把这种连接叫做HAND-OFF连接,也叫转换连接专用服务器模式o另一种方式是监听进程接收到用户进程的请求后产生一个新的专用服务器进程,这个服务器进程选用一个TCP/IP端口来控制与用户进程的交互,然后将此信息回传给监听进程,监听进程再将此信息传给用户进程,用户进程使用这个端口给服务器进程发送一个CONNECT包,服务器进程再给用户进程发送一个ACCEPT包,致此,用户进程可以正式向服务器进程发送信息了。
这种方式我们叫做重定向连接。
专用服务器模式o另HAND-OFF连接需要系统平台具有进程继承的能力,为了使WINDOWS NT/2000支持HAND-OFF必须在HKEY_LOCAL_MACHINE>SOFTWARE>ORACLE >HOMEX中设置USE_SHARED_SOCKET 。
Oracle数据库监听配置与报错解决方法
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服务器上的监听器
如何保护好Oracle服务器上的监听器如何保护好Oracle服务器上的监听器如何保护好Oracle服务器上的监听器监听器简介Oracle监听器是Oracle服务器软件的一个组件,它负责管理Oracle 数据库和客户端之间的通讯,它在一个特定的网卡端口(默认是TCP1521端口)上监听连接请求,并将连接转发给数据库,由两个二进制文件组成:tnslsnr和lsnrctl.其中tsnlsnr就是监听器本身,它运行在数据库服务器端,lsnrctl是监听器控制程序,用于在服务器上或远程管理监听器。
与监听器相关的还有两个配置文件:sqlnet.ora和listener.ora.tnslsnr启动时就会读取这两个配置文件中的信息,如端口号,数据库服务名。
Oracle监听器在默认安装和配置情况下,有许多著名的漏洞和缺陷,黑客利用这些缺陷可以制造拒绝服务攻击,偷窃数据库连接密码,进一步窃取机密数据。
最大的风险来自监听器的配置,Oracle官方提供了一些推荐的配置,往往能够达到保护监听器的目的。
本文就是想仔细列出现有的已知保护Oracle监听器的方法,这些方法对于黑客而言都很熟悉,所以作为DBA也必须要清楚才行。
为什么要保护监听器?DBA对于为什么要保护监听器往往不太关心,他们认为黑客不太可能通过控制监听器进而控制整个数据库,在Oracle10g之前的所有版本,Oracle 监听器允许任何一个人利用lsnrctl从远程发起对监听器的管理,但幸运的是,从Oracle10.1开始严格限制在远程对监听器的管理了。
下面列出一些对Oracle8/9i默认安装配置时可能有效的攻击手段,即使是打上最新的安全补丁,而没有进行安全配置加固,这些攻击手段也仍然有效:注意:本文假设监听器使用的是TCP/IP,并且使用的是本地命名管理(即tnsnames.ora),本文所描述的Oracle版本在8i/9i/10g上做过测试,但相信对其他低版本或更高的版本也有一定的参考价值。
oracle监听
Oracle监听详解1.监听说明A静态监听状态始终是unknow,动态监听始终是ready或者block,ready状态可以产生新连接,block不能Service "TEST" has 2 instance(s).Instance "TEST", status UNKNOWN, has 1 handler(s) for this service...--------静态注册Instance "TEST", status READY, has 1 handler(s) for this service... ---------动态注册B 静态监听一定是在监听配置文件listener.ora里面有一个sid_name=,而动态注册是数据库实例pmon进程告诉监听进程来注册的【告诉监听hostname、sid、port】,默认是只对1521产生动态注册,如果要对其他端口动态注册,你得修改参数local_listener,修改方法是[假设是1522端口]alter system set local_listener=’ (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))’。
show parameter localNAME TYPE V ALUE------------------------------------ ---------------------- ------------------------------local_listener stringlistener.ora部分内容:SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = TEST) ----说明有静态注册(ORACLE_HOME = /oracle/product/10.2.0/db_1)2.监听文件的说明A下面红色的两部分是一定要成对出现的,标准格式。
oracle监听启动、停止、查看命令
oracle监听启动、停⽌、查看命令1.su oracle然后启动监听器1.lsnrctl start会看到启动成功的界⾯;1.lsnrctl stop停⽌监听器命令.1.lsnrctl status查看监听器命令.oracle数据库的安全包含两部分:1.⼀部分是os的安全2.⽹络的安全3.oracle软件本⾝的安全os的安全依赖相应的操作系统及管理员的技术⽔平,我们这⾥只谈谈oracle的安全我了解的oracle软件的安全包含:1.更改oracle的默认监听端⼝号2.给监听器加密码3.oracle控制ip的连接下⾯将针对这三个⽅⾯测试学习---------oracle默认监听端⼝更改--------------1. 更改oracle的默认监听端⼝号修改端⼝号的整体步骤1.1 。
查看当前监听的状态1.2 。
停⽌监听1.3 。
修改监听⽂件的端⼝号1.4 。
修改初始化参数local_listener1.5 . 重启监听器1.6 。
修改完毕,使⽤新端⼝登录测试实践步骤:1.1 。
查看当前监听的状态C:/Documents and Settings/skate_db>lsnrctl statusLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 19-7⽉ -2008 12:11:19Copyright (c) 1991, 2005, Oracle. All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))LISTENER 的 STATUS------------------------别名 LISTENER版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production启动⽇期 19-7⽉ -2008 11:47:59正常运⾏时间 0 天 0 ⼩时 23 分 19 秒跟踪级别 off安全性 ON: Password or Local OS AuthenticationSNMP OFF监听程序参数⽂件 E:/oracle/product/10.2.0/db_3/network/admin/listener.ora监听程序⽇志⽂件 E:/oracle/product/10.2.0/db_3/network/log/listener.log监听端点概要...(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC1ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=skate)(PORT=1522)))服务摘要..服务 "PLSExtProc" 包含 1 个例程。
oracle 监听器详解
监听器的功能
2.为客户端请求分配Server Process
监听器只负责接听请求,之后将请求转接给 Oracle Server Process。在Oracle的服务模式下, 客户端进程是不允许直接操作数据库实例和数据, 而是通过一个服务进程Server Process(也称为影 子进程)作为代理。监听器接受到请求之后,就向 操作系统(或者Dispatcher组件)要求fork(或分 配)一个Server Process与客户端相连。
整理课件
监听器的功能
4.负载均衡衡量
在RAC架构中,Oracle实现了负载均衡。当一个 客户请求到来时,Oracle会根据当前RAC集群环境中 所有实例的负载情况,避开负载较高的实例,将请 求转移到负载较低的实例进行处理。在早期RAC版本 中,负载轻重的衡量是根据监听器当前维护连接数 目来确定的,而不是实时查看多实例的负载。RAC环 境中的监听器之间进行沟通通信。
oracle监听器什么是监听器oracle监听器是oracle服务器软件的一个组件它负责管理oracle数据库和客户端之间的通讯它在一个特定的网卡端口默认是tcp1521端口上监听连接请求并将连接转发给数据库
ORACLle监听器是Oracle服务器软件的一个组件,它负责管理 Oracle数据库和客户端之间的通讯,它在一个特定的网卡端口 (默认是TCP 1521端口)上监听连接请求,并将连接转发给数 据库。
整理课件
监听器的功能
1.监听客户端请求
监听器运行在数据库服务器之上,与Oracle实例 (可为多个)相关关联,是一个专门的进程process, 在windows的服务项目或者Linux的运行进程列表中, 都会看到对应的运行进程。Windows上名为TNSLSNR, Linux/Unix平台上是lsnrctl。监听器守候在服务器 制定端口(默认为:1521),监听客户端的请求。
Oracle中lsnrctl命令使用总结(推荐)
Oracle中lsnrctl命令使⽤总结(推荐)
Oracle监听服务lsnrctl参数及查询状态详解,常⽤参数。
在命令⾏中先输⼊lsnrctl,进⼊以下页⾯
1.status
显⽰监听器的状态。
命令显⽰监听器是不是活动的,⽇志与跟踪⽂件的位置,监听器已经持续运⾏了多长时间,以及监听器所监听的任务。
2.star
启动指定的监听器。
3.stop
关闭指定的监听器。
4.services
列举监听器的服务信息。
5.version
显⽰oracle软件与协议适配器的版本。
6.reload
重新装⼊监听器,重新读取listener.ora⽂件,但不关闭监听器。
如果该⽂件发⽣了变化,重新刷新监听器。
7.save_config
当从lsnrctl⼯具中对listener.ora⽂件进⾏了修改时,复制⼀个叫做listener.bak的listener.ora的⽂件。
8.trace
打开监听器的跟踪特性。
9.change_password
允许⽤户修改关闭监听器所需要的密码。
10.quit
退出lsnrctl命令。
11.exit
退出lsnrctl命令。
以上所述是⼩编给⼤家介绍的Oracle中 lsnrctl命令使⽤总结,希望对⼤家有所帮助,如果⼤家有任何疑问欢迎给我留⾔,⼩编会及时回复⼤家的!。
OracleNetManager的使用方法(监听的配置方法)
OracleNetManager的使⽤⽅法(监听的配置⽅法)⼀,在服务端配置oracle端⼝
win+R 输⼊netca
弹出如下窗⼝后
选择监听程序配置,点击下⼀步
⼆、配置端⼝后使⽤Telnet⼯具调试端⼝是否联通
在命令⾏输⼊telnet 服务器ip 端⼝号(1521)
三、在Windows下找到net Manager⾃带⼯具
点击运⾏Net Manager后,弹出如下页⾯
⾃⼰定义⼀个服务名,如下
选择TCP/IP,下⼀步
(博主此处连接的是本机IP和Oracle端⼝)
注意:这⾥的服务名必须与服务器中数据库的名字⼀致,否则会出错
测试⼀下成功之后,选择完成
若测试不能连通
⾸先要确保数据库服务⼀定已经启动,然后检查⽤户以及密码是否正确
填好⽤户名和⼝令登录,点击确定后再测试
服务名填ORCL,填好地址配置。
最后:保存⽹络配置
配置完成后可在客户端可在你的安装⽬录\product\12.1.0\dbhome_1\NETWORK\ADMIN⽂件夹中查看tnsnames.ora⽂件解析:若需连接另⼀台服务器,复制红框中的参数修改服务器名称,服务器IP,服务器端⼝
总结:使⽤oracle Developer连接⼯具(同类⼯具PL/SQL Developer类似)将可直接使⽤以下⽅式连接
到这⾥就完成了。
Oracle监听器日志配置与管理
Oracle监听器⽇志配置与管理--========================-- Oracle 监听器⽇志配置与管理--========================Oracle 监听器是⼀个服务器端程序,⽤于监听所有来⾃客户端的请求,并为其提供数据库服务。
因此对监听器的管理与维护相当重要。
本⽂主要描述对Oracle监听器⽇志⽂件的配置与管理。
有关监听器的描述请参考⼀、监听器⽇志特性1. 监听器⽇志是⼀个纯⽂本⽂件,通常位于$ORACLE_HOME/network/log⽬录下,与sqlnet.log⽇志⽂件处于同⼀路径2. 其缺省的⽂件名为listener.log。
对于⾮缺省的监听器,则产⽣的⽇志⽂件通常为listenername.log3. 该⽂件缺省由监听器⾃动创建,当⽇志⽂件丢失时或不存在时,会⾃动重新创建⼀个同名的⽂件,与alert_<SID>.log⽂件类似4. 该⽂件的尺⼨会不断⾃动增长,当尺⼨过⼤时或不便于阅读时,考虑将其备份5. Oracle监听器在运⾏时不允许对⽇志⽂件做删除,重命名操作6. 可以设置⽇志状态为ON或OFF来实现启⽤或关闭⽇志⼆、设置⽇志⽂件⽬录及路径1. 设置⽇志⽂件⽬录的两种⽅法1. lsnrctl SET LOG_DIRECTORY directory2. LSNRCTL> SET LOG_DIRECTORY /usr/oracle/admin/log2. 设置⽇志⽂件的两种⽅法1. lsnrctl SET LOG_FILE file_name2. LSNRCTL> SET LOG_FILE file_name3. 设置⽇志的状态1. lsnrctl ET LOG_STATUS {on | off}2. LSNRCTL> SET LOG_STATUS {on | off}4. 演⽰设置a. 切换到⽇志⽬录查看⽇志⽂件1. [oracle@test ~]$ cd $ORACLE_HOME/network/log2. [oracle@test log]$ ls -hltr3. total 348K4. -rw-r--r-- 1 oracle oinstall 305K Apr 6 05:30 listener.log5. -rw-r--r-- 1 oracle oinstall 26K Jun 27 01:52 listener_demo92.logb. 查看当前监听器的状态1. [oracle@test log]$ lsnrctl status listener_demo922. LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 01:54:313. Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.4. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))5. STATUS of the LISTENER6. ------------------------7. Alias listener_demo928. Version TNSLSNR for Linux: Version 9.2.0.8.0 - Production9. Start Date 27-JUN-2011 01:52:1810. Uptime 0 days 0 hr. 2 min. 13 sec11. Trace Level off12. Security ON13. SNMP OFF14. Listener Parameter File /oracle/92/network/admin/listener.ora15. Listener Log File /oracle/92/network/log/listener_demo92.log16. Listening Endpoints Summary...17. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=test)(PORT=1521)))18. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))19. Services Summary...20. Service "demo92" has 1 instance(s).21. Instance "demo92", status READY, has 1 handler(s) for this service...22. The command completed successfullyc. 设置监听器⽬录及⽇志⽂件1. LSNRCTL> set current_listener listener_demo922. Current Listener is listener_demo923. LSNRCTL> set password4. Password:5. The command completed successfully6. LSNRCTL> set log_directory /home/oracle/log7. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))8. listener_demo92 parameter "log_directory" set to /home/oracle/log9. The command completed successfully10. LSNRCTL> set log_file listener_test.log11. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))12. listener_demo92 parameter "log_file" set to listener_test.log13. The command completed successfully14. LSNRCTL> set log_status on15. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))16. listener_demo92 parameter "log_status" set to ON17. The command completed successfully18. LSNRCTL> save_config19. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))20. Saved listener_demo92 configuration parameters.21. Listener Parameter File /oracle/92/network/admin/listener.ora22. Old Parameter File /oracle/92/network/admin/listener.bak23. The command completed successfully24. LSNRCTL> exitd. 查看新路径下产⽣的⽇志⽂件1. [oracle@test admin]$ cd /home/oracle/log2. [oracle@test log]$ ls -hltr3. total 16K4. -rw-r--r-- 1 oracle oinstall 41 Jun 27 02:11 listener_demo92.log -->设置⽬录之后⽣成的5. -rw-r--r-- 1 oracle oinstall 113 Jun 27 02:12 listener_test.log -->设置⽇志⽂件名之后的新⽇志⽂件6. [oracle@test log]$ ls -hltr -->隔段时间查看,原来的⽇志⽂件不再增长,使⽤设定的⽇志⽂件名记录⽇志7. total 16K8. -rw-r--r-- 1 oracle oinstall 41 Jun 27 02:11 listener_demo92.log9. -rw-r--r-- 1 oracle oinstall 1.3K Jun 27 02:17 listener_test.loge. 查看listener.ora配置⽂件的变化1. [oracle@test admin]$ more listener.ora2. #----ADDED BY TNSLSNR 27-JUN-2011 02:12:37---3. LOG_DIRECTORY_listener_demo92 = /home/oracle/log4. LOG_FILE_listener_demo92 = listener_test.log5. LOGGING_listener_demo92 = ON6. #--------------------------------------------三、⽇志⽂件的备份与重命名通常情况下,需要停⽌监听器来对⽇志⽂件进⾏备份,下⾯使⽤不停⽌监听的情况下对⽇志⽂件重命名以实现备份 1. Windows平台的处理1. C:\>cd \oracle\ora92\network\log -->切换到监听器⽇志⽂件所在⽬录2. C:\oracle\ora92\network\log> lsnrctl set log_status off -->暂停或脱机记录⽇志⽂件3. C:\oracle\ora92\network\log> rename listener.log listener.old -->重命名⽇志⽂件,⼀般加上⽇期4. C:\oracle\ora92\network\log> lsnrctl set log_status on -->联机监听器⽇志⽂件,会⾃动重新创建⼀个新的⽇志⽂件2. Unix/Linux平台的处理1. $ lsnrctl set log_status off2. $ mv listener.log listener.old -->另⼀种⽅法,cp listener.log /log/bak/. 然后 cp /dev/null >listener.log3. $ lsnrctl set log_status on3. 演⽰Linux平台下重命名⽇志⽂件1. [oracle@test ~]$ cd /home/oracle/log2. [oracle@test log]$ lsnrctl set log_status off -->如果存在密码,应使⽤LSNRCTL界⾯来完成3. LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 02:41:094. Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.5. Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))6. LISTENER parameter "log_status" set to OFF7. The command completed successfully8. [oracle@test log]$ mv listener_test.log listener_test.old9. [oracle@test log]$ lsnrctl set log_status on10. LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 27-JUN-2011 02:41:3111. Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.12. Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))13. LISTENER parameter "log_status" set to ON。
oracle监听
oracle监听Oracle监听概述Oracle监听是Oracle数据库中一个重要的组件,它负责接收并处理客户端应用程序的连接请求。
作为数据库服务器的入口点,监听程序的正常运行对于数据库的可用性至关重要。
本文将探讨Oracle 监听的功能、配置和管理。
功能Oracle监听的主要功能是监听客户端应用程序发起的连接请求,并将其转发给相应的数据库实例。
当客户端应用程序需要连接到Oracle数据库时,它将发送一个连接请求到指定的监听程序,监听程序会在数据库服务器上的某个端口上监听连接请求。
一旦收到连接请求,监听程序将会验证客户端的身份,并将连接请求转发给正确的数据库实例。
配置在Oracle数据库中,监听程序通过监听文件进行配置。
监听文件通常是一个文本文件,其中包含了监听程序的配置信息。
在监听文件中,我们可以指定监听程序的监听协议、监听地址、监听端口以及要连接的数据库实例等信息。
通常,监听程序的配置文件名为tnsnames.ora。
管理对于Oracle监听的管理主要包括启动、停止和重启监听程序。
Oracle提供了很多不同的方式来管理监听程序。
以下是一些常见的管理监听程序的方法:命令行管理工具:可以使用Oracle提供的命令行管理工具如lsnrctl来管理监听程序。
使用命令行工具可以启动、停止、重启监听程序,同时也可以监控和配置监听程序。
图形化管理工具:Oracle Enterprise Manager是一个功能强大的图形化管理工具,它可以用来管理Oracle数据库和监听程序。
通过Oracle Enterprise Manager,管理员可以轻松地管理监听程序,并获得实时的性能信息。
自动启动:在Oracle数据库安装完成后,监听程序通常会被自动启动。
管理员只需要确保监听程序在数据库服务器启动时自动启动即可。
故障排除当出现连接问题或监听程序不可用时,可能需要进行故障排除以确定问题的原因。
以下是一些常见的故障排除步骤:检查监听程序的状态:通过使用命令行管理工具lsnrctl status可以查看监听程序的状态。
Oracle数据库教程 ——oracle静态监听和动态监听
Oracle数据库教程——oracle静态监听和动态监听oracle静态监听和动态监听一、什么是注册?注册就是将数据库作为一个服务注册到监听程序。
客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库。
这个服务名可能与实例名一样,也有可能不一样。
在数据库服务器启动过程中,数据库服务器会向监听程序注册相应的服务(无论何时启动一个数据库,默认地都有两条信息注册到监听器中:数据库服务器对应的实例和服务。
)相当于是这样:在数据库服务器和客户端之间有一监听程序(Listener),在监听程序中,会记录相应数据库对应的服务名(一个数据库可能对应有多个服务名),当客户端需要连接数据库时,只需要提供服务名,就可以建立客户端和服务器之间的连接。
二、静态注册静态注册就是实例启动时读取listener.ora文件的配置,将实例和服务注册到监听程序。
无论何时启动一个数据库,默认地都有两条信息注册到监听器中:数据库服务器对应的实例和服务。
静态注册时,listener.ora中的GLOBAL_DBNAME向外提供服务名,listener.ora中的SID_NAME提供注册的实例名。
采取静态注册方法时,listener.ora中的内容如下:SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME =orcl)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(SID_NAME =orcl))(SID_DESC =(GLOBAL_DBNAME =orcl1)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(SID_NAME =orcl)))该文件表明数据库是单实例的,实例名为orcl,向外提供了两个服务:orcl和orcl1三、动态注册动态注册是在instance启动的时候PMON进程根据init.ora中的instance_name,service_names两个参数将实例和服务动态注册到listener中。
ORACLE 关于监听listener所有知识点涵盖文档
三个文件、位置$ORACLE_HOME/network/adminsqlnet.ora tnsnames.ora listener.ora监听类型:静态注册、动态注册监听器里的服务的状态ready:此状态的服务是由PMON进程注册的,由于PMON进程所在的实例是打开的,这些服务名所对应的实例已经准备(ready)好接受用户的连接请求了。
unknown:此状态的服务时静态注册的,监听器并不确定该服务名所对应的实例名是否已经打开,所以状态时未知的。
异机监听:利用remote_listener参数,使数据库服务与监听服务分离。
条件:远程服务器(即监听所在服务器)安装数据库软件,监听进程正常状态。
服务器说明:远程服务器为:192.168.10.12数据库服务器:192.168.10.15步骤:(1)配置数据库服务器中tnsnames.ora文件、remote_listener 参数tnsnames.oraremote12 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.12)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))alter system set remote_listener='remote12' scope=spfile/memory/both;alter system register;(2)查看远程服务器中对应端口监听状态,并配置tnsnames.ora文件lsnrctl status <listener_name>tnsnames.oraremote15 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.12)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))(3)测试是否正确监听sqlplus xxx/xxx@remote15文件作用:sqlnet.ora-----作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串,例如我们客户端输入sqlplus sys/oracle@orcl假如我的sqlnet.ora是下面这个样子SQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)那么,客户端就会首先在tnsnames.ora文件中找orcl的记录.如果没有相应的记录则尝试把orcl当作一个主机名,通过网络的途径去解析它的ip地址然后去连接这个ip上GLOBAL_DBNAME=orcl这个实例,当然我这里orcl并不是一个主机名如果我是这个样子NAMES.DIRECTORY_PATH= (TNSNAMES)那么客户端就只会从tnsnames.ora查找orcl的记录括号中还有其他选项,如LDAP等并不常用。
oracle 监听详解
USE_SHARED_SOCKET
方法三:
在数据库端(也可以是另外的机器,但是cman的机器必须和数据库都在防火墙的后面) 安装了cman的前提下,启动cman,然后开放防火墙端的1630端口(看cman开的是什 么端口啦),最后在客户端的tnsnames.ora文件中添加: cmantest = (description = (address_list = (address = <- first address is to CMAN (protocol=tcp) (host=hostname or ip of cman) (port=1610) )
ORACLE监听详解
月度会议
提纲
ORACLE工作机制 ORACLE监听参数 ORACLE监听功能 ORACLE监听配置 ORACLE网络构架 ORACLE精简版构造 ORACLE常见问题
ORACLE 工作机制
从一个用户请求开始讲,ORACLE的完整的工作机制是怎样
的,首先一个用户进程发出一个连接请求,如果使用的是主机
命名或者是本地服务命中的主机名使用的是机器名(非IP地 址),那么这个请求都会通过DNS服务器或HOST文件的服
务名解析然后传送到ORACLE监听进程,监听进程接收到用
户请求后会采取两种方式来处理这个用户请求 下面我们分专用服务器和共享服务器分别采用这两种方式时 的情况来讲
方法二:
1、首先将数据库实例改为SHARED SERVER模式 2、以SYSDBA登录SQLPLUS,通过SQLPLUS生成系统当前的参数设置文件 pfile:create pfile='d:\init.ora' from spfile; 3、修改d:\init.ora文件,在其中增加(用editplus编辑):*.service_names='your service name'和*.dispatchers='(address=(protocol= tcp)(host=localhost)(port=1521)(dispatchers=1)' 4、生成新的SPFILE:create spfile from pfile='d:\init.ora'; 5、重启动数据库。 6、在防火墙中开放1521端口。
oracle 监听原理
oracle 监听原理概述:Oracle 监听(Oracle Listener)是Oracle数据库的一个重要组件,负责处理客户端与数据库之间的连接请求。
它允许客户端应用程序通过指定的网络协议与数据库建立通信,实现数据传输和交互。
本文将深入探讨Oracle监听的原理和工作机制。
一、Oracle监听的定义Oracle监听是一个守护进程,它运行在数据库服务器上,通过监听程序来监听和接收来自客户端的连接请求。
当有一个请求到达时,监听程序会将连接请求转发到数据库实例进行处理。
监听程序负责维护一个监听规则,定义了连接请求的地址、端口号、协议等信息,以便正确地将请求路由到目标数据库实例。
二、监听的工作流程1. 启动监听在数据库服务器上启动监听程序,监听程序会读取并加载监听规则,开始监听指定的网络端口。
2. 接收连接请求当客户端发起连接请求时,请求会发往监听程序所在的主机和端口。
监听程序根据监听规则,判断请求的目标数据库实例,并将请求传递给对应的实例。
3. 路由请求到数据库实例监听程序通过Oracle NET服务栈建立与数据库实例之间的通信通道,并将连接请求转发给目标实例。
4. 建立会话数据库实例接收到连接请求后,根据连接请求中的用户名和密码等信息,验证用户身份并进行会话建立。
5. 会话管理和数据交互一旦建立起会话,客户端和数据库实例之间可以通过监听程序进行数据交互、SQL执行等操作。
三、监听的配置文件Oracle监听使用一个配置文件来管理和定义监听规则,常用的配置文件包括:1. listener.ora:监听程序的主配置文件,包含监听程序的名称、协议、网络地址、端口号等信息。
2. tnsnames.ora:定义与数据库实例之间的网络连接,包含数据库实例的别名、网络地址、监听端口等信息。
3. sqlnet.ora:控制客户端与数据库服务之间的网络连接参数,如加密、身份认证等设置。
四、监听故障排除1. 监听是否启动:通过操作系统命令或Oracle管理工具查看监听服务是否处于运行状态。
listener_orcl作用
listener_orcl作用
listener_orcl是Oracle数据库中监听程序的名称。
它的作用是
监听数据库实例与客户端之间的通信连接请求,并协调客户端与数据库之间的数据传输。
具体来说,listener_orcl可以:
1. 接受客户端的连接请求并将其转发给数据库实例。
2. 对客户端的连接请求进行认证和授权。
3. 监控数据库实例的可用性,并在数据库实例故障时进行自动切换。
4. 保持与客户端之间的连接,以便实时传输数据。
5. 跟踪和记录连接和传输错误,以便进行故障排除和性能优化。
总之,listener_orcl扮演着重要的角色,确保数据库与客户端
之间的通信正常,并提供安全、高效的数据传输服务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
精选PPT
5
监听器的功能
4.负载均Байду номын сангаас衡量
在RAC架构中,Oracle实现了负载均衡。当一个 客户请求到来时,Oracle会根据当前RAC集群环境中 所有实例的负载情况,避开负载较高的实例,将请 求转移到负载较低的实例进行处理。在早期RAC版本 中,负载轻重的衡量是根据监听器当前维护连接数 目来确定的,而不是实时查看多实例的负载。RAC环 境中的监听器之间进行沟通通信。
精选PPT
6
此课件下载可自行编辑修改,供参考! 感谢您的支持,我们努力做得更好!
ORACLE监听器
精选PPT
1
什么是监听器
Oracle监听器是Oracle服务器软件的一个组件,它负责管理 Oracle数据库和客户端之间的通讯,它在一个特定的网卡端口 (默认是TCP 1521端口)上监听连接请求,并将连接转发给数 据库。
精选PPT
2
监听器的功能
1.监听客户端请求
监听器运行在数据库服务器之上,与Oracle实例 (可为多个)相关关联,是一个专门的进程process, 在windows的服务项目或者Linux的运行进程列表中, 都会看到对应的运行进程。Windows上名为TNSLSNR, Linux/Unix平台上是lsnrctl。监听器守候在服务器 制定端口(默认为:1521),监听客户端的请求。
精选PPT
4
监听器的功能
3.错误转移failover
Failover是RAC容错的一个重要方面功能,其功 能是在数据库实例崩溃的时候,可以自动将请求转 移到其他可用实例上的一种功能。可以提供很大程 度上的可用性(Availability)功能。这个过程中 ,发现实例已经崩溃,并且将请求转移到其他实例 上,就属于是listener的功能。
精选PPT
3
监听器的功能
2.为客户端请求分配Server Process
监听器只负责接听请求,之后将请求转接给 Oracle Server Process。在Oracle的服务模式下, 客户端进程是不允许直接操作数据库实例和数据, 而是通过一个服务进程Server Process(也称为影 子进程)作为代理。监听器接受到请求之后,就向 操作系统(或者Dispatcher组件)要求fork(或分 配)一个Server Process与客户端相连。