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 个例程。
- 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与客户端相连。