欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    客户端如何连接服务器.ppt

    • 资源ID:5961968       资源大小:813KB        全文页数:57页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    客户端如何连接服务器.ppt

    Oracle 客户端如何连接服务器,服务器进程就是代表客户会话完成工作的进程,客户端的应用向数据库发送的SQL语句最后就要由这些服务器进程接收并执行。,Oracle 服务器处理客户的请求有两种方式专用服务器连接(dedicated server)共享服务器连接(shared server)或(multi threaded server MTS),在专用服务器连接方式下,每一个应用,oracle总会创建一个新的服务器进程,该服务器进程在应用的生存期中专门为应用服务,对于每个应用,都会出现一个新的专用服务器进程,应用和专用服务器进程之间是一对一的关系。该服务器进程不是实例的一部分,当客户进程通过某种网络通道与这个专用服务器直接通信,并由这个服务器进程接收和执行SQL,,如果有必要,它会读取数据文件,并在缓冲区中查找客户要的数据,该服务器进程的主要目标是对用户提交的SQL调用做出响应。,共享服务器连接(shared server)正式的说法是多线程服务器(multi_threaded server-MTS)在共享服务器连接下,与数据库连接的客户进程不会与共享服务器直接通信,之所以不能与共享服务器直接对话,是因为这个服务器进程是共享的。,如果采用这种方式,就不会对每条用户的连接创建另外的线程。在共享服务器中,oracle使用一个“共享进程”池为大量的用户提供服务。,为了共享服务器进程,还需要另外一种机制,通过该机制与服务器进程对话,为此,oracle使用一组称为调度器的进程。客户进程通过网络与一个调度器进程通信,这个调度器进程将客户的请求放入SGA中的请求队列,第一个空闲共享服务器进程得到这个请求,并进行处理,调度器一直在监听这个队列,发现结果后,就会把结果传给客户。,对开发者而言,两种连接方式没有区别,客户连接向调度器发送一个请求,调度器首先将这个请求放在SGA中的请求队列中(1),第一个可用的共享服务器从请求队列中取出这个请求(2)并处理。共享服务器的处理结束后,再把响应(返代码、数据等)放到响应队列(3),接下来调度器拿到这个响应(4),传给用户。,专用服务器进程和共享服务器进程的任务是一样的:要处理提交的所有SQL,当向数据库提交一个Select*from emp查询时,会有专用的或共享的服务器进程解析这个查询,并把它放入共享池中,这个进程要提出查询计划,如果有必要,还要执行这个查询计划,可能在缓冲区中找到必要的数据,或者将数据从磁盘读入缓冲区缓存中。这些服务器进程是干重活的,执行排序、汇总、联结等工作。,了解专用服务器连接和共享服务器连接后,是否有以下疑问:怎样才能连接呢?谁来启动这服务器呢?怎么与调度联系?,连接的过程与平台有关系,我们这里介绍一般的过程。TCP/IP的连接原理,TCP/IP连接的基本原理,客户在一台机器上,而服务器驻留在另一台机器上,这两台机器通过一个TCP/IP网络连接。客户率先行动,使用oracle客户软件建立请求,力图连接数据库。,客户如何与数据库连接,Oracle net是一个网络软件,它需要同时安装在客户机和服务器上,通过它在客户端应用程序与oracle数据库服务器之间或服务器与服务器之间建立通信,-,分析:Sqlplus 为客户端软件Sys/zhao 用户名/密码orcl 引出需要来连接的连接串,如果建立一条专用服务器连接,监听器进程就会为我们创建一个专用服务器进程。新的专用服务器进程继承了监听器建立的连接,现在就与数据库物理地连接上了。,当我们发出共享服务器连接请求时,监听器的表现有所不同,监听器进程知道实例中运行了哪些调度器。接收到连接请求后,监听器可以从调度器池中选择一个调度器进程,监听器会向客户返回连接信息,其中说明了客户如何与调度器进程进行连接,如果可能的化,还可以把连接“转发”给调度器进程。监听器发回连接信息后,它的工作就结束了。,监听器一直在特定主机的特定端口上运行,而调度器会在服务器上随意指派的端口上接受连接,监听器知道调度器指定的随机端口号,并为客户选择一个调度器,客户再与监听器断开连接,并与调度器直接连接,然后客户端就与数据库有了一个物理的连接。,现在我们大致了解了客户端是如何连接服务器了。现在来看一些具体的设置,后的orcl为连接字符串,如何解析该连接字符串?我们要用到sqlnet.ora这个文件,该文件决定怎样找一个连接中出现的连接字符串。,Sqlnet.ora文件中NAMES.DIRECTORY_PATH中设置的解析方法,1、主机命名(hostname)2、本地命名(tnsnames)3、oracle easy connect(EZCONNECT)4、oracle internet directory5、external naming,主机 命名(hostname),主机命名:在一个连接中,一个主机名被当做标识一个数据库的全局数据库名,NAMES.DIRECTORY_PATH=(HOSTNAME,TNSNAMES),Sqlnet.ora文件中保存了网络服务名的解析路径C:windowssystem32driverecthost,服务器端的监听要设置后面的链接符对应的服务,然后重新启动,本地命名(tnsnames或local naming),通过各自客户端的配置信息进行解析配置tnsnames.ora文件,TNS(transparent network substrate)透明网络底层我们就理解TNS为客户端处理与远程连接的基础软件,有了它,客户端才有可能与服务器建立对等通信。TNS连接串告诉客户端软件如何与远程服务器连接,当运行该命令时,客户端的客户软件会读取位于机器上的一个软件Tnsnames.ora文件,这是一个纯文本的配置文件。,通过该配置,客户软件可以把我们使用的TNS连接串ORCL映射到某些有用的信息,也就是主机名、该主机上监听器进程接受连接的端口,该主机上所连接数据库的服务名,客户端软件知道要连接到哪里,它会与主机名为AAAA的服务器在端口1521打开一条TCP/IP连接,如果服务器端DBA安装并配置了oracle net,并且有一个监听器在端口1521上监听连接请求,就会收到这个连接。,在网络环境中,我们会在服务器上运行一个称为TNS监听器的进程。就是这个监听器进程让我们的客户端与数据库物理连接。,当监听器收到连接请求时,它会使用自己的配置文件检查这个请求,可能会拒绝请求(可能没有对应的数据库,或者IP地址受限,不允许连接该主机),也可能接受请求,并真正建立连接。,SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=PLSExtProc)(ORACLE_HOME=E:oracleproduct10.2.0db_2)(PROGRAM=extproc)(SID_DESC=(GLOBAL_DBNAME=orcl)(ORACLE_HOME=E:oracleproduct10.2.0db_2)(SID_NAME=ORCL)LISTENER=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=AAAA)(PORT=1521),EZCONNECT,该方法只有在oracle 10g以上的版本使用要想使用该解析方法在sqlnet.ora中必须设置NAMES.DIRECTORY_PATH=(EZCONNECT,TNSNAMES),connect scott/tigerhostname:port/servicesnameconnect scott/tiger/hostname/servicesname,oracle internet directory,管理许多oracle服务器的复杂网络时有优势,管理员可以在一个比较集中的位置上配置和管理。,External naming,使用非oracle工具管理和解析oracle服务名称。,总结三个文件,客户端的两个文件Sqlnet.oraTnsnames.ora服务器端的文件Listener.ora,Connect sys/zhaoorcl as sysdba1、oracle net首先通过sqlnet.ora来决定怎样找连接中出现的网络服务名orcl 假如sqlnet.ora是下面的设置Names.directory_path=(tnsnames,hostname)客户端就首先在tnsnames.ora中找orcl的记录,如果没有,则尝试把orcl当做一个主机名,通过网络途径将该主机名解析为对应的IP,然后连接。,2、listener.ora监听进程的配置文件,在服务器端接受远程连接的申请,如果不使用远程连接,listener进程不是必须的,关闭llistener进程并不影响已经存在的数据库连接,服务器监听的关闭,配置监听器,Oracle net managerOracle net configuration assistant手工配置listener.ora,几个名称,1、数据库名 一个数据库的标识2、实例名 数据库实例名是用于和操作系统进行联系的标识,即数据库和操纵系统之间的交互用的就是数据库实例名。3、数据库实例和oracle_sid 两者都代表数据库实例,但有区别 instance_name是数据库的参数 oracle_sid是操作系统的环境变量,从操作系统的角度访问实例名,必须通过oarcle_sid4、全局数据库名 数据库名+域名,监听器,注册,注册就是将数据库作为一个服务注册到监听器。在数据库服务器启动过程中,数据库服务器会向监听程序注册响应的服务(无论何时启动一个数据库,默认都有两条信息注册到监听器中:数据库服务器对应的实例和服务),静态注册,静态注册就是监听进程启动时读取listener.ora文件的配置,将实例和服务注册到监听程序静态注册时,listener.ora中的GLOBAL_DBNAME向外提供服务名,listener.ora中的SID_NAME提供注册的实例名。,动态注册,动态注册时instance启动的时候pmon进程根据参数文件中的instance_name,service_names两个参数将实例和服务动态的注册到listener中。,注册到监听器中的实例值从参数文件中的instance_name参数获得,如果该参数没有设定值,那么它将取参数文件的db_name值。注册到监听器中的服务值从参数文件中的service_names取得。如果该参数没有设定值,数据库将拼接参数文件中的db_name和db_domain的值来注册自己。,动态注册默认只注册到默认的监听器上(名称为listener,端口1521,协议tcp),非默认的动态注册,Pmon 默认只会注册到port=1521 的listener如果想让pmon动态注册到以外的监听,需要设置参数 local_listener=listener1Alter system set local_listener=listener1但这样不能成功,设置local_listener时需要将下面的内容增加到服务器端的tnsnames.ora中,因为 pmon在动态注册时要从tnsnames.ora中读取相关信息,如果listener1的信息如下listener1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=11321-TEA)(PORT=1522)将该信息加入到tnsnames.ora文件中,那么数据库就可以动态注册到listener1中,而不会注册到listener中了。,

    注意事项

    本文(客户端如何连接服务器.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开