实例讲解oracle监听口令及监听器安全

合集下载

Oracle监听器密码设置方法(LISTENER)

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网络监听器的配置分析电脑知识与技术......网络通讯与安全?Oracle网络监听器的配置分析杨延广.曹素丽(石家庄邮电职业技术学院,河北石家庄050011)摘要:Oracle已经广泛应用于许多大型企业中,保证其正常的网络通信是DBA的一项重要职责,文章就其中服务器端的监听器的各种配置作了细致阐述与分析.指出了配置中需注意的一些问题.关键词:Oracle;数据库;监听器;配置中图分类号:TP393文献标识码:A文章编号:1009—3044(2006)23-0088-01 OracleNetListenerConfigurationY ANGYan—guang,CAOSu—li(siazhuangP&amp;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_&lt;listener_name&gt;部分明确指出要监听(]转第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&lt;listenername&gt;部分,用于指明要监听的数据库服务.如下例所示,配置了一个监听器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监听配置文件详解

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_详解

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监听配置文件

Oracle‎监听配置文件‎最近看到好多‎人说到tns‎或者数据库不‎能登录等问题‎,就索性总结了‎下面的文档。

首先来说Or‎a cle的网‎络结构,往复杂处说能‎加上加密、LDAP等等‎。

这里不做讨论‎,重点放在基本‎的网络结构也‎就是我们最常‎用的这种情况‎。

三个配置文件‎重点:三个文件的作‎用和使用。

listen‎e r.ora、sqlnet‎.ora、tnsnam‎e s.ora,都是放在$ORACLE‎_HOME\networ‎k\admin 目‎录下。

sqlnet‎.ora作用类似于l‎i nux或者‎其他unix‎的nsswi‎t ch.conf文件‎,通过这个文件‎来决定怎么样‎找一个连接中‎出现的连接字‎符串。

例如我们客户‎端输入sql‎p lus sys/oracle‎@orcl假如我的sq‎14lnet‎.ora是下面‎这个样子:SQLNET‎.AUTHEN‎T ICATI‎O N_SER‎V ICES= (NTS)NAMES.DIRECT‎O RY_PA‎T H= (TNSNAM‎E S,HOSTNA‎M E)那么,客户端就会首‎先在tnsn‎a mes.ora文件中‎找orcl的‎记录。

如果没有相应‎的记录则尝试‎把orcl当‎作一个主机名‎,通过网络的途‎径去解析它的‎i p地址然后‎去连接这个i‎p上GLOB‎A L_DBN‎A ME=orcl这个‎实例,当然我这里o‎r cl并不是‎一个主机名如果我是这个‎样子:NAMES.DIRECT‎O RY_PA‎T H= (TNSNAM‎E S)那么客户端就‎只会从tns‎n ames.ora查找o‎r cl的记录‎。

括号中还有其‎他选项,如LDAP等‎并不常用。

附注:没有SQLN‎ET.AUTHEN‎T ICATI‎O N_SER‎V ICES= (NTS)这条语句,用户登录时就‎不经过OS认‎证,而需要通过用‎户名/密码认证登录‎。

oracle 新建实例和监听

oracle 新建实例和监听

一、概述Oracle 数据库是一种广泛使用的关系型数据库管理系统,通过创建实例和监听,可以实现数据库的访问和管理。

本文将介绍如何在Oracle数据库中新建实例和监听。

二、新建实例1. 实例概念在Oracle数据库中,实例是指一个完整的数据库环境,包括内存结构、进程和存储结构。

每当数据库启动时,都会创建一个新的实例,这个实例将负责管理数据库的访问和操作。

2. 实例参数设置在新建实例之前,需要首先配置实例参数。

通过修改初始化参数文件(init.ora),可以设置数据库的内存结构大小、日志文件大小、数据库块大小等参数。

这些参数将影响数据库的性能和稳定性。

3. 创建实例在Oracle数据库中,可以通过SQL*Plus工具或者Oracle企业管理器来创建新的实例。

在SQL*Plus中,可以使用CREATE DATABASE命令来创建新的数据库实例,其中包括数据库的名称、存储路径、字符集等基本信息。

在企业管理器中,可以通过图形化界面来完成实例的创建,简化了操作步骤。

4. 实例初始化一旦创建了新的实例,就需要初始化数据库的结构和数据。

这包括创建表空间、用户和角色,导入数据和索引等操作。

通过执行SQL脚本或者使用数据库工具,可以完成这些初始化工作,让数据库可以正常运行。

三、新建监听1. 监听概念在Oracle数据库中,监听是一个网络服务,负责接收客户端的连接请求,并将其转发给数据库实例。

通过监听,客户端可以与数据库建立通信,实现数据的交互和操作。

2. 监听配置要新建监听,首先需要配置监听参数。

通过修改监听参数文件(listener.ora),可以设置监听的名称、端口号、协议等信息。

这些参数将影响监听的工作方式和性能表现。

3. 创建监听在Oracle数据库中,可以使用Net Configuration Assistant工具来创建新的监听。

通过该工具,可以选择监听类型(本地监听或远程监听)、监听协议(TCP/IP、IPC等)等参数,并且可以测试监听的可用性。

Oracle数据库监听配置与报错解决方法

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一个监听多个实例

Database opened.
SQL>
4. 连接 dccb 试试
SQL> conn sys/system@dccb as sysdba Connected.
5. 连接 dccb1 并启动
SQL> conn sys/system@dccb1 as sysdba Connected to an idle instance. SQL> startup; ORACLE instance started.
1521)) ) (CONNECT_DATA = (SERVICE_NAME = dccb) )
)
这样就 OK 了!
我们来测试一下连接:
1. 首先启动监听
[root@dbhost ~]# su - oracle [oracle@dbhost ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 11-NOV-2015 17:28:46
Listener Log File
/u01/app/oracle/diag/tnslsnr/dbhost/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=173.0.2.113)(PORT=1521)))
Instance "dccb1", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

oracle11g监听配置

oracle11g监听配置

监听配置相关问题客户终端(Client)无法连接服务器端(Server)本文现对监听配置作一简单介绍,并提出一些客户终端无法连接服务器端的解决思路。

一、监听器(LISTENER)监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。

既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。

二、本地服务名(Tnsname)Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。

本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。

Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。

三、Oracle网络连接配置方法首先,要确保Oracle相关的服务已经开启,如下图所示:配置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成。

点击“开始/程序/Oracle – OraHome11g_home1/配置和移植工具/Net Manager”启动Oracle网络管理器工具,启动Net Manager图形窗口如下图示:图(一)1、Oracle监听器配置(LISTENER)选中监听程序,点击左上侧“+”按钮添加监听程序,默认新加的监听器名称是LISTENER(该名称也可以由任意合法字符命名)。

点击确定,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。

在出现的网络地址栏的协议下拉选项中选中“TCP/IP”,主机文本框中输入主机名称(localhost),端口文本框中输入数字端口,默认是1521。

配置好的监听位置如下图示:图(二)选中窗口右侧栏下拉选项中的“数据库服务”,点击添加数据库按钮。

Oracle 监听器 Listener资料

Oracle 监听器 Listener资料

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 版本中,提供动态注册和静态注册两种方式。

Oracle监听密码设置

Oracle监听密码设置

Oracle监听密码设置Oracle 监听是外部应⽤程序连接oracle的⼊⼝,⽤oracle提供的lsnrctl 进⾏管理。

默认监听在端⼝1521上的tnslsnr未设置密码保护,这可能是个安全隐患,也可能会被远程发起监听器的管理,导致数据库被⼊侵。

更改监听密码如果之前没有,默认为空[oracle@test152 ~]$ lsnrctlLSNRCTL for Linux: Version 11.2.0.4.0 - Production on 03-Jun-2020 10:54:45Copyright (c) 1991, 2013, Oracle. All rights reserved.Welcome to LSNRCTL, type "help" for information.LSNRCTL> helpThe following operations are availableAn asterisk (*) denotes a modifier or extended command:start stop statusservices version reloadsave_config trace spawnchange_password quit exitset* show*LSNRCTL> change_password#之前没设置密码直接回车Old password:#输⼊新的密码New password:Reenter new password:Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.xx.xx)(PORT=1521)))Password changed for LISTENERThe command completed successfully#此时保存是失败的LSNRCTL> save_configConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.xx.xx)(PORT=1521)))TNS-01169: The listener has not recognized the password#需要重新验证下LSNRCTL> set passwordPassword:The command completed successfully#这时保存才算成功,save_config 需要执⾏两次LSNRCTL> save_configConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.xx.xx)(PORT=1521)))Saved LISTENER configuration parameters.Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.oraOld Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.bakThe command completed successfully说明1:Oracle 11g在listener加密的情况下,在本服务器上执⾏ lsnrctl status listener_name 仍然可以执⾏,除⾮listener.ora⾥加如下内容LOCAL_OS_AUTHENTICATION_LISTENER = OFF,默认是ON说明2:配置listener.ora中ADMIN_RESTRICTIONS参数,⼀般不加参数作⽤:当listener.ora设置了ADMIN_RESTRICTIONS参数后,在监听器运⾏时不允许执⾏任何管理命令,同时set命令将不可⽤,不论在服务器本地还是从远程都不⾏。

oracle 渗透技巧

oracle 渗透技巧

oracle 渗透技巧全文共四篇示例,供读者参考第一篇示例:Oracle数据库是一种非常流行的企业级关系型数据库管理系统,被广泛应用于各大企业的业务系统中。

随着Oracle数据库的广泛使用,其安全性也变得越来越重要。

黑客们经常尝试入侵Oracle数据库,以获取敏感信息或者破坏数据库的完整性。

了解Oracle渗透技巧是非常重要的。

在本文中,我们将介绍一些常见的Oracle渗透技巧,帮助您更好地保护您的Oracle数据库,并防止黑客入侵。

1. 弱密码攻击弱密码是Oracle数据库的一个常见漏洞。

许多用户使用简单的密码或者默认密码,使得黑客更容易猜测或破解密码。

首先要确保您的Oracle数据库的密码是足够强壮的。

定期更改密码也是一个好习惯。

黑客们还会尝试使用暴力破解工具来尝试登录Oracle数据库。

您可以通过设置登录失败锁定功能和限制登录尝试次数来防止暴力破解。

2. SQL注入攻击SQL注入是一种常见的网络攻击方式,黑客们尝试在输入框中插入恶意代码,以获取数据库中的敏感信息或者执行恶意操作。

在Oracle数据库中,您可以通过使用绑定变量,输入验证和使用参数化查询来防止SQL注入攻击。

您还可以通过限制用户的权限和单独为每个应用程序建立数据库用户来增强数据库的安全性。

3. 端口扫描和漏洞利用黑客们经常会使用端口扫描工具来检测Oracle数据库中的开放端口,并尝试利用已知的漏洞进行攻击。

您需要定期检查和修补Oracle 数据库中的安全漏洞,以防止黑客入侵。

您还可以使用防火墙和网络监控工具来监控数据库流量,及时发现异常活动并采取相应的应对措施。

4. 社会工程攻击社会工程攻击是一种利用用户的社交工程技巧和心理学原理来获得敏感信息的方式。

黑客们可能会利用各种手段,如钓鱼邮件、伪装身份等,尝试获取数据库的访问权限。

您需要对员工进行安全意识培训,加强他们对社会工程攻击的识别能力。

5. 数据加密数据加密是一种重要的安全措施,可以有效保护数据库中的敏感信息。

两个实例启动两个监听

两个实例启动两个监听

关于listener进程就不多说了,接受远程对数据库的接入申请并转交给oracle的服务器进程。所以如果不是使用的远程的连接,listener进程就不是必需的,同样的如果关闭listener进程并不会影响已经存在的数据库连接。
Listener.ora文件的例子
#listener.ora Network Configuration File: #E:\oracle\product\10.1.0\Db_2\NETWORK\ADMIN\listener.ora
2. 则查询tnsnames.ora文件,从里边找orcl的记录,并且找到主机名,端口和service_name
3. 如果listener进程没有问题的话,建立与listener进程的连接。
4. 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端就连接上了数据库的server process。
)
)
#监听器的名字,一台数据库可以有不止一个监听器
#再向下面是监听器监听的协议,ip,端口等,这里使用的tcp1521端口,并且使#用的是主机名
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = boway)(PORT = 1521))
5. 这时候网络连接已经建立,listener进程的历史使命也就完成了。
#---------------
几种连接用到的命令形式
1.sqlplus / as sysdba 这是典型的操作系统认证,不需要listener进程
2.sqlplus sys/oracle 这种连接方式只能连接本机数据库,同样不需要listener进程

Oracle监听器日志配置与管理

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数据库监听器(LISTENER)和本地服务名(Tnsname)配置

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(该名称也可以由任意合法字符命名)。

选中该名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。

Oracle11g数据库监听配置

Oracle11g数据库监听配置

Oracle11g数据库监听配置(2012-07-02 13:30:08)转载▼分类:sql标签:杂谈经验告诉我:最好把数据库的SID和数据库全局名称分开,免得配置时混了,如果要配置服务器端和客户端时,服务器端和客户端都需要配置,并且配置方法一样一、监听器(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中监听无法启动找不到系统路径

如何解决oracle中监听无法启动找不到系统路径

如何解决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退出注册表。

Linux下重启oracle服务及监听器和实例详解

Linux下重启oracle服务及监听器和实例详解

Linux下重启oracle服务及监听器和实例详解⼀、在Linux下重启Oracle数据库及监听器:⽅法1:⽤root以ssh登录到linux,打开终端输⼊以下命令:cd $ORACLE_HOME #进⼊到oracle的安装⽬录dbstart #重启服务器lsnrctl start #重启监听器cd $ORACLE_HOME #进⼊到oracle的安装⽬录dbstart #重启服务器lsnrctl start #重启监听器-----------------------------------⽅法2:Sql代码cd $ORACLE_HOME/bin #进⼊到oracle的安装⽬录./dbstart #重启服务器./lsnrctl start #重启监听器-----------------------------------⽅法3:(1)以oracle⾝份登录数据库,命令:su -oracle(2)进⼊Sqlplus控制台,命令:sqlplus /nolog(3)以系统管理员登录,命令:connect / as sysdba(4)启动数据库,命令:startup(5)如果是关闭数据库,命令:shutdown immediate(6)退出sqlplus控制台,命令:exit(7)进⼊监听器控制台,命令:lsnrctl(8)启动监听器,命令:start(9)退出监听器控制台,命令:exit⼆、重启实例:(1)切换需要启动的数据库实例:export ORACLE_SID=C1(2)进⼊Sqlplus控制台,命令:sqlplus /nolog(3)以系统管理员登录,命令:connect / as sysdba(4)如果是关闭数据库,命令:shutdown abort(5)启动数据库,命令:startup(6)退出sqlplus控制台,命令:exit以上所述是⼩编给⼤家介绍的Linux下重启oracle服务及监听器和实例详解,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

oracle 监听详解

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端口。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

很多人都知道,oracle的监听器一直存在着一个安全隐患,假如不设置安全措施,那么能够访问的用户就可以远程关闭监听器。

相关示例:
d:&gt;lsnrctl stop eygle
lsnrctl for 32-bit windows: version 10.2.0.3.0 - production on 28-11月-2007 10:02:40
copyright (c) 1991, 2006, oracle. all rights reserved.
正在连接到(description=(address=(protocol=tcp)(host=172.16.33.11)(port=1521))
(connect_data=(service_name=eygle)))
命令执行成功
大家可以发现,此时缺省的监听器的日志还无法记录操作地址:
no longer listening on: (description=(address=(protocol=tcp)(host=172.16.33.11)(port=1521)))
28-nov-2007 09:59:20 * (connect_data=(cid=(program=)(host=)(user=administrator))(command=stop)
(arguments=64)(service=eygle)(version=169870080)) * stop * 0
为了更好的保证监听器的安全,大家最好为监听设置密码:
[oracle@jumper log]$ lsnrctl
lsnrctl for linux: version 9.2.0.4.0 - production on 28-nov-2007 10:18:17
copyright (c) 1991, 2002, oracle corporation. all rights reserved.
welcome to lsnrctl, type help for information.
lsnrctl&gt; set current_listener listener
current listener is listener
lsnrctl&gt; change_password
old password:
new password:
reenter new password:
connecting to (description=(address=(protocol=tcp)(host=172.16.33.11)(port=1521)))
password changed for listener
the command completed successfully
lsnrctl&gt; set password
password:
the command completed successfully
lsnrctl&gt; save_config
connecting to (description=(address=(protocol=tcp)(host=172.16.33.11)(port=1521)))
saved listener configuration parameters.
listener parameter file /opt/oracle/product/9.2.0/network/admin/listener.ora
old parameter file /opt/oracle/product/9.2.0/network/admin/listener.bak
the command completed successfully
在我们设置密码后,远程操作将会因缺失密码而出现失败:
d:&gt;lsnrctl stop eygle
lsnrctl for 32-bit windows: version 10.2.0.3.0 - production on 28-11月-2007 10:22:57
copyright (c) 1991, 2006, oracle. all rights reserved.
正在连接到(description=(address=(protocol=tcp)(host=172.16.33.11)
(port=1521))(connect_data=(service_name=eygle)))
tns-01169: 监听程序尚未识别口令
注意:此时在服务器端或客户端,都需要我们通过密码来起停监听器:
lsnrctl&gt; set password
password:
the command completed successfully
lsnrctl&gt; stop
connecting to (description=(address=(protocol=tcp)(host=172.16.33.11)(port=1521)))
the command completed successfully
lsnrctl&gt; start
starting /opt/oracle/product/9.2.0/bin/tnslsnr: please wait...
tnslsnr for linux: version 9.2.0.4.0 - production
system parameter file is /opt/oracle/product/9.2.0/network/admin/listener.ora
log messages written to /opt/oracle/product/9.2.0/network/log/listener.log
trace information written to /opt/oracle/product/9.2.0/network/trace/listener.trc
listening on: (description=(address=(protocol=tcp)(host=172.16.33.11)(port=1521)))
connecting to (description=(address=(protocol=tcp)(host=172.16.33.11)(port=1521)))
status of the listener
------------------------
alias listener
version tnslsnr for linux: version 9.2.0.4.0 - production
start date 28-nov-2007 10:22:23
uptime 0 days 0 hr. 0 min. 0 sec
trace level support
security on
snmp off
listener parameter file /opt/oracle/product/9.2.0/network/admin/listener.ora
listener log file /opt/oracle/product/9.2.0/network/log/listener.log
listener trace file /opt/oracle/product/9.2.0/network/trace/listener.trc
listening endpoints summary...
(description=(address=(protocol=tcp)(host=172.16.33.11)(port=1521)))
services summary...
service eygle has 1 instance(s).
instance eygle, status unknown, has 1 handler(s) for this service...
service julia has 1 instance(s).
instance eygle, status unknown, has 1 handler(s) for this service...
the command completed successfully
另外,admin_restrictions参数也是一个重要的安全选项,大家可以在listener.ora 文件中设置admin_restrictions_ 为on,此后所有在运行时对监听器的修改都将会被阻止,所有对监听器的修改都必须通过手工修改listener.ora文件才能顺利完成。

更多信息请查看IT技术专栏。

相关文档
最新文档