版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章Oracle网络配置本章主要介绍Oracle的网络组件与配置工具,通过学习同学们应该熟练利用网络配置工具进行服务器端与客户端的数据库网络连接配置。本章学习目标:Oracle网络服务组件Oracle网络连接的基本概念服务器端网络配置客户端网络配置(本地命名方式)1.1Oracle的网络服务组件为了适应大型企业网络应用的要求,Oracle网络服务结构在可连接性、可管理性、可扩展性以及网络安全等方面均提供了完善的解决方案。组件一:OracleNetoraclenet是同时驻留在oracle服务器与客户端上的一个软件层,它负责建立与维护客户端应用程序到数据库服务器的连接。Oraclenet主要由两层组成:Oraclenet基础层:
客户端应用程序与oraclenet基础层进行通信,从而建立与维护到服务器的连接。Oraclenet基础层再对Oracle协议支持层进行调用,从而利用工业标准的协议,如tcp/ip与数据库服务器进行通信。
Oracle协议支持层:
为oraclenet基础层提供基于工业标准协议的物理连接支持。组件二:Oraclenet监听器
在oracle数据库服务器中,通过一个称为“oraclenet监听器”的组件接收来自客户端的初始连接请求,然后再将它交给服务器进行处理,一旦客户端与服务器的连接已经建立,客户端和服务器即可直接通信,不再需要监听器的参与。
(下图所示是监听器的工作方式)
监听器的响应方式:专用服务器
-监听器启动新的服务进程BequeathSession连接过程详解:①client使用设定的协议向Listener发送一个CONNECT包,建立与Listener的连接。②Listener检查SID是否已经被定义。如果已经被定义,Listener将fork一个新的进程来处理此连接。一个Bequeath连接就在Listener和新的服务器进程之间建立起来用于传输进程初始化信息。随后,Bequeath连接将被关闭。注意,TCPsockets是被新的服务器进程继承的。③服务器进程会给client发送一个RESEND包。④一个新的CONNECT包在此从client发送到fork产生的服务器进程⑤dedicated服务器进程接到新的连接包,会返回一个ACCEPT包给client。监听器的响应方式:共享或专用服务器
-监听器把请求交调度器或服务进程RedirectSession连接过程详解:①client使用设定的协议向Listener发送一个CONNECT包,建立与Listener的连接。②Listener检查SID是否定义过。如果定义过SID,Listener将产生一个新的线程或是进程给新的连接。一个IPC连接就被建立在Listener和新进程/线程之间。③新进程/线程从空闲user定义的ports中选一个作为新的TCP/IPport,并将该信息反馈给Listener。④Listener将此新的port插入到一个REDIRECT包中,并将其发送给client和之前client和Listener之间的TCPsocket。⑤一个新的TCP连接将建立在REDIRECT包中指定的地址上。并且CONNECT包将发送到指定的dedicated服务器进程。⑥此时dedicated服务器进程最终接受连接请求,并发出ACCEPT包给client。对于sharedservers模式中,redirect方式建立的connection过程类似,只是在②中不会产生新的进程或是线程。
基本概念:listener(监听器)
监听器是位于服务器端的一个后台进程,它负责对客户端传入的连接请求进行监听,并且负责对服务器端的连接负荷进行调整。当客户端试图建立一个到服务端的网络会话时,首先是由监听器来处理实际的网络请求的。
组件三:网络配置工具Oracle同时提供图形化界面和命令行方式的网络配置工具。包括:Oraclenetconfigurationassistant图形化工具,通常在完成oracle数据库服务器时会自动启动,利用它可以完成基本的网络(监听器)的配置工作。命令行配置工具LSNRCTL。对监听器进行配置、管理与监视。Oraclenetmanager图形化管理工具,提供对Oracle所有网络组件进行详细配置的集中化管理界面,DBA可对创建的监听器进行进一步的细致调整和配置。1.2Oracle网络连接的基本概念数据库服务与数据库实例标识
对客户端来说,一个oracle数据库就是一个服务,数据库以提供服务的方式为客户端完成某些特定的工作。基本概念:服务名(servicename)
服务名是数据库的逻辑表示,对于客户端来说就是数据库的存在方式。一个数据库可以具有多个服务名,一个服务名也可以通过多个数据库实例来实现。在大部分情况下,数据库的服务名就是它的全局数据库名(globaldatabasename),即数据库名加上网络域名。数据库服务名通过初始化参数service_names来指定,service_names参数默认值为全局数据库名(db_name参数加上db_domain参数),可以在初始化参数文件中设置,例如:service_names=foxconn.gz,foxconn.bj
利用连接描述符访问数据库服务
为了连接到数据库服务器,客户端必须使用“连接描述符”来提供数据库的位置与数据库服务名信息。基本概念:连接描述符(connectdescriptor)
连接描述符是一个特定网络连接的描述格式字符串,在连接描述符中包含了目标服务名以及网络路径的信息。目标服务是数据库的服务名,网络路径主要是指数据库所监听的网络地址和端口信息等。例:下面的连接描述符能够使客户端连接到一个服务名为foxconn.gz的数据库。
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=sise)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=foxconn.gz)))服务处理器基本概念:服务处理器(servicehandler)
在数据库服务器中实际为客户连接请求提供服务的进程。当监听器接收到一个客户连接请求后,它将自动选择一个适当的服务处理器,然后将客户连接请求交给服务器进行处理,此后将由服务器与客户端进行网络通信。Oracle数据库具有两种类型的服务处理器:
调度器(dispatcher):在共享服务结构中,由调度器直接与客户端会话进行通信。调度器将来自客户端的连接请求放入共享池中的请求队列中,然后由空闲的共享服务进程对连接请求进行处理,处理的结果再由调度器返回给客户端会话。因此,共享服务进程并不作为服务处理器,而是由调度器作为服务处理器。专用服务进程(dedicatedserver):如果客户端需要连接的是一个专用服务进程,监听器将启动一个专用服务进程,并将连接请求传递给这个专用服务进程。此后,由这个专用服务进程专门为客户端会话服务。命名方式(NamingMethod)
客户端程序将连接标识符转换为连接描述符的一种机制。基本概念:连接字符串(connectstring)
客户端在连接数据库时需要提供的信息,包括用户名、口令以及连接标识符。基本概念:连接标识符(connectidentifier)
连接标识符是一个完整的连接描述符,或者是一个映射到连接描述符的名称。连接标识符通常也称为“网络服务名(netservicename)”。客户端在连接数据库时需要在连接字符串中包含一个连接标识符,然后通过特定的命名方式将连接标识符解析为对应的连接描述符,再利用连接描述符中包含的信息建立到数据库服务器的连接。客户端提出连接请求时需要提供一个“连接字符串”,形式如下:
connectusername/password@connect_identifier
连接字符串“@”字符之后的部分是一个连接标识符。连接标识符实际上就是连接描述符的简写形式。可以在@字符之后直接给出完整的连接描述符,这样过于繁琐,例如Connectscott/tiger@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=wah)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=foxconn.gz)))如果利用连接标识符foxconn来代替连接描述符,上面的连接字符串可以简化为下列形式:connectscott/tiger@foxconn
建立连接时首先将foxconn映射到对应的连接描述符,完成映射所需的信息保存在一个或多个资料档案库中,客户端将通过特定的“命名方式”来访问这些资料档案库。利用命名方式建立客户端会话的步骤:客户端在连接字符串中给出一个连接标识符,提出初始连接请求。连接标识符通过某种命名方式转换为连接描述符,并将转换后的信息返回给客户端。客户端利用连接描述符中提供的服务名与网络地址向数据库提出连接请求。监听器收到连接请求后将它传递给数据库服务器。到数据库服务器的连接建立完毕。Oracle网络服务结构提供了如下几种命名方式:本地命名方式(localnaming)目录命名方式(directorynaming)oracle命名方式(oraclenaming)主机命名方式(hostnaming)外部命名方式(externalnaming)
本地命名方式是最常用的一种命名方式,它将连接标识符与它们对应的连接描述符都存储在本地的名为Tnsnames.ora的配置文件中,客户端在本地能够完成连接标识符到连接描述符的映射。1.3服务器端网络配置监听器的响应方式监听器的配置静态服务注册的配置动态服务注册的配置监听器的管理操作监听器的响应方式监听器具有三种不同的相应方式,分别是:Spawnandbequeath相应方式
监听器启动一个新的服务处理器,然后将客户端连接信息交给新的服务处理器,仅适用于专用服务进程。Directhandoff响应方式
监听器将客户端连接信息直接发送给调度器,仅适用于共享服务进程。重定向相应方式
监听器将客户端连接信息通过网络重定向的方式传递给调度器或专用服务进程。Oracle服务器有两种不同类型的服务处理器:
调度器(dispatcher)和专用服务进程。监听器的配置
对监听器的配置是服务器端网络配置的重要内容,主要是利用oraclenetmanager网络配置工具以及编辑Listener.ora配置文件的方法对监听器进行配置。对监听器的配置包含如下2个方面的内容:
配置监听器所监听的协议和端口。命名方式的配置:
(配置与移植工具)
命名方式的设置保存在名为sqlnet.ora的文本文件中,它位于oracle_home\network\admin目录中。(所有网络配置的文件都在该目录下)其中names.directory_path参数反映出客户端所选择使用的命名方式:
tnsnames代表本地命名方式,
hostname代表主机命名方式,它们在括号中的顺序代表解析名称时尝试的顺序。也可以在netmanager中配置命名方式,如下图所示:配置网络服务名
命名方式配置的第2个步骤是建立连接标识符到连接描述符的映射关系。对客户端来说,连接标识符也可称为“网络服务名”。 为本地命名方式配置网络服务名可用
netconfigurationassistant和netmanager
两种工具来完成,分别参考下面的图示:服务名配置前tnsnames.ora服务名配置后tnsnames.ora网络服务名配置完了之后我们就可以利用它来连接到服务器nik-pc的orcl数据库。Connectscott/tiger@orcl_newservice
监听程序配置监听器配置完毕之后会在服务管理处新增加一个Listenernew的服务,该服务就是一个新的监听器,监听的端口是1522(默认是1521),如果用户想利用新的监听器进行数据库服务器的连接,这时候要重新配置新的网络服务名,使用新的端口1522才能进行数据库连接。NetManager配置基本的Oracle网络服务器端配置概述:Listener进程listener.oraListenerClientServertnsnames.orasqlnet.ora配置监听器监听器可以被配置在下面两种方法之一:静态的服务配置用于Oracle8或者更早版本需要配置LISTENER.ORA是OracleEnterpriseManager和其他服务所需要的动态的服务注册不需要LISTENER.ORA文件监听器依赖于PMON进程Oracle9i使用服务注册传递会话13listenerClientServer24Spawnedserverprocess5静态的服务注册:
listener.ora
文件当Oracle软件被安装时,listener.ora
文件就被自动创建,并且具有下列的默认设置:Listenername LISTENERPort 1521Protocols TCP/IPandIPCSIDname DefaultinstanceHostname Defaulthostname静态的服务注册:
listener.ora
文件1. LISTENER=2. (ADDRESS_LIST=3. (ADDRESS=(PROTOCOL=TCP)(Host=stc-sun02)(Port=1521)) )4. SID_LIST_LISTENER=5.(SID_LIST=6. (SID_DESC=7.(ORACLE_HOME=/home/oracle)(GLOBAL_DBNAME=ORCL.)9. (SID_NAME=ORCL) )10. ...sampleadditionalSIDdescription... )静态的服务注册::
创建监听器动态的服务注册::
配置注册信息
为了确保可以使用服务注册,下面的参数必须在INIT.ORA文件中配置:SERVICE_NAMESINSTANCE_NAME
动态的服务注册::
配置PMON
默认的,PMON在具有下面配置值的本地监听器上注册服务:Listenername LISTENERPort 1521Protocols TCP/IPSIDname DefaultinstanceHostname DefaulthostnamePMON可以注册到非默认的监听器上,通过下面的方法:在INIT.ORA中定义LOCAL_LISTENER在INIT.ORA文件中配置DISPATCHERS
参数
(共享服务器方式)监听器的控制工具(LSNRCTL)监听器控制工具的命令可以在命令行方式执行或者LSNRCTL的提示符下执行.UNIX命令行语法:提示符语法:控制一个非默认的监听器$lsnrctl<commandname>LSNRCTL><commandname>LSNRCTL>setcurrent_listenerlistener02LSNRCTL命令使用下列命令控制监听器:START[listener_name]STOP[listener_name]LSNRCTL的SET
和SHOW
命令SET命令被用于在命令行控制工具环境中改变监听器的参数.SHOW
命令被用于显示监听器的参数值.LSNRCTL>SETtrc_levelADMINLSNRCTL>SHOWconnect_timeoutOracleNetConnectionsTomakeaclientormiddle-tierconnection,OracleNetrequirestheclienttoknowthe:HostwherethelistenerisrunningPortthelistenerismonitoringProtocolthelistenerisusingNameoftheservicethelistenerishandlingClient/applicationServerOracleNetOracleNetconfigurationfiles命名解析方法OracleNetsupportsseveralmethodsofresolvingconnectioninformation:EasyConnectLocalnamingDirectorynamingExternalnamingClient/applicationServerOracleNetOracleNetconfigurationfilesEasyConnect10g默认支持客户端不需要配置只能使用TCP/IP协议高级功能不支持:Connect-timefailover SourceroutingLoadbalancingSQL>CONNECThr/hr@:1521/dba10gNoOracleNetconfigurationfiles主机命名方式在下面的情况下,客户端可以使用主机命名方式连接到数据库:可以使用OracleNet服务的客户端软件连接到Oracle的数据库服务客户端和服务器的连接构建于TCP/IP协议之上主机名被通过一种IP地址转换机制(例如:DNS或者本地的/etc/hosts文件)解析成网络IP地址不能使用一些高级的网络特性,例如连接管理器(ConnectionManager)或者一些安全选项主机命名方式的客户端配置sqlnet.oralistener.oraServerTRACE_LEVEL_CLIENT=OFFsqlnet.authentication_services=(NTS)names.directory_path=(HOSTNAME)TCP/IPClient主机命名方式的服务端配置Clientsqlnet.oralistener.oraServerSID_LIST_LISTENER=
(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=)(ORACLE_HOME=/u03/ora9i/rel12)(SID_NAME=TEST)
1521TCP/IP本地命名listener.oraServerClienttnsnames.orasqlnet.oratnsnames.ora#TNSNAMES.ORANetworkConfigurationFile:/u03/ora9i/rel12/network/admin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 聊城大学《英语视听说二》2022-2023学年第一学期期末试卷
- 河南信阳退休教师工资计划
- 2024乡镇宣传工作计划
- 初三暑假具体学习计划
- 语文四年级教学计划
- 2024年单位会计工作计划范文
- 2024年2月小学语文三年级下册教学工作计划范文
- 淘宝个人创业准备计划书淘宝店铺运营计划书
- 年末文明建设工作计划
- 语文校本教研计划
- “勾股定理”说课稿
- 上海上海世界技能博物馆招聘笔试历年典型考题及考点附答案解析
- 监理单位安全教育培训计划(3篇模板)
- 突发公共卫生事件应急培训课件
- 肝硬化的护理查房模板
- 教科版四年级上册科学期末测试卷及参考答案(完整版)
- JBT 14543-2024 无刷稳速直流电动机技术规范(正式版)
- 工业自动化设备安装合同范本
- 2024年共青团团校考试入团考试题库及答案
- 剑桥雅思14Test2雅思写作真题及范文解析
- MOOC 中学化学教学设计与实践-北京师范大学 中国大学慕课答案
评论
0/150
提交评论