热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

OracleTCP/IP连接的基本原理

OracleTCP/IP连接的基本原理这里分析网络上最常见的一种情形:在TCP/IP连接上建议一个基于网络的连接请求。在这种情况下,客户在一台机器上,而服务器在另一台机器上,这两台机器通过一个TCP/IP网络连接。客...SyntaxHighlighter.all();

Oracle TCP/IP连接的基本原理
 
这里分析网络上最常见的一种情形:在TCP/IP连接上建议一个基于网络的连接请求。在这种情况下,客户在一台机器上,而服务器在另一台机器上,这两台机器通过一个TCP/IP 网络连接。客户率先行动,使用Oracle客户软件(Oracle 提供的一组的引用程序接口或API)建立一个请求,力图连接数据库。例如,客户可以发出如下命令:  www.2cto.com  
 $sqlplus scott/tiger@orcl.
 
    这里客户是程序SQL*Plus ,scott/tiger为用户名和密码,orcl是一个TNS服务名。TNS代表透明网络底层(Transparent Network Substrate),这是Oracle客户中处理远程连接的“基础”软件,有了它才有可能建立对等通信。TNS连接串告诉Oracle软件如何与远程数据库连接。一般你的机器上运行的客户软件会读取一个tnsnames.ora文件。这是一个纯文本的配置文件,通常放在$ORACLE_HOME/network/admin目录下($ORACLE_HOME 表示Oracle安装目录的完整路径)。如果有如下配置:  www.2cto.com  
 
ORCL  =
         (DESCRIPTION =
             (ADDRESS =
                  (PROTOCOL = TCP)
                  (HOST = somehost.somewhere .com)
                  (POST = 1521)
              )
           
              (CONNECT_DATA =
                 (SERVER = DEDICATED)
                 (SERVER_HOME = orcl)
              ) 
           )
 
     根据这个配置信息,Oracle客户软件可以把我们使用的TNS连接orcl映射到某些有用的信息,也就是主机名,该主机上“监视器”进程接受(监听)连接的端口,该主机上所连接数据库的服务名等等。每个数据库实例可以向监听器注册,表示要提供多个服务。所以,服务就映射到物理的数据库实例。  www.2cto.com  
   
     既然客户软件知道要连接到那里,它会与主机名为somehost.somewhere .com的服务器在端口1521上打开一条TCP/IP 连接,如果服务器DBA安装了Oracle Net,并且有一个监听器在端口1521监听连接请求,就会受到这个请求。在网络环境中我们会在服务器上运行一个称为TNS静听器进程。就是这个监听器让我们与数据库物理连接。当它收到入站连接请求时,它会使用自己的配置文件检查这个请求,可能会拒绝请求(例如:因为没有这样的数据库,或者可能我们的IP受到限制,不允许连接这个主机),也可能会接受这个请求,并建立真正连接。    

推荐阅读
author-avatar
浅笑你的妩媚
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有