`
Turandot
  • 浏览: 52793 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Oracle TCP/IP 连接的基本原理

阅读更多

Oracle TCP/IP 连接的基本原理

 

     这里分析网络上最常见的一种情形:在TCP/IP连接上建议一个基于网络的连接请求。在这种情况下,客户在一台机器上,而服务器在另一台机器上,这两台机器通过一个TCP/IP 网络连接。客户率先行动,使用Oracle客户软件(Oracle 提供的一组的引用程序接口或API)建立一个请求,力图连接数据库。例如,客户可以发出如下命令:

 $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安装目录的完整路径)。如果有如下配置:

ORCL  =

         (DESCRIPTION =

             (ADDRESS =

                  (PROTOCOL = TCP)

                  (HOST = somehost.somewhere .com)

                  (POST = 1521)

              )

           

              (CONNECT_DATA =

                 (SERVER = DEDICATED)

                 (SERVER_HOME = orcl)

              ) 

           )

 

     根据这个配置信息,Oracle客户软件可以把我们使用的TNS连接orcl映射到某些有用的信息,也就是主机名,该主机上“监视器”进程接受(监听)连接的端口,该主机上所连接数据库的服务名等等。每个数据库实例可以向监听器注册,表示要提供多个服务。所以,服务就映射到物理的数据库实例。

   

     既然客户软件知道要连接到那里,它会与主机名为somehost.somewhere .com的服务器在端口1521上打开一条TCP/IP 连接,如果服务器DBA安装了Oracle Net,并且有一个监听器在端口1521监听连接请求,就会受到这个请求。在网络环境中我们会在服务器上运行一个称为TNS静听器进程。就是这个监听器让我们与数据库物理连接。当它收到入站连接请求时,它会使用自己的配置文件检查这个请求,可能会拒绝请求(例如:因为没有这样的数据库,或者可能我们的IP受到限制,不允许连接这个主机),也可能会接受这个请求,并建立真正连接。    

 

分享到:
评论

相关推荐

    java_C++.zip_C++_O8A_TCP/IP_java Tcp

    在给定的压缩包"java_C++.zip"中,包含了关于C++、Java以及TCP/IP编程的相关知识。这些文件可能是源代码、教程、文档或示例,旨在帮助开发者理解和掌握这些关键技术。 首先,我们来看看C++。C++是一种强大的、面向...

    oracle连接数据库的驱动包

    这个驱动会建立一个TCP/IP连接到Oracle数据库服务器,使用Oracle的网络协议TNS(Transparent Network Substrate)进行通信。由于它是完全基于Java的,因此可以在任何支持Java的平台上运行,具有良好的跨平台性。 在...

    Oracle JDBC 连接时的一个BUG

    这个工具很可能被用来监控网络通信,查看数据库连接的TCP/IP协议层面的数据包交换。通过这种方式,开发者可以确认数据是否正确发送和接收,排查是否因为网络延迟、数据包丢失或格式错误导致的连接问题。 综上所述,...

    Oracle Solaris8 IP Network Multipathing Administration Guide-41

    1. **IP多路径的基本概念**:解释了IPNP的基本原理,包括如何识别和利用网络中的多个物理路径,以及如何在这些路径之间分配和管理数据流量。 2. **配置与管理**:详述了如何在Solaris 8系统中设置和管理IP多路径,...

    数据库开发 Oracle数据库 SQL开发教程 第12章 Oracle数据库网络连接(共39页).pdf

    这可能是通过TCP/IP协议在网络层进行远程连接,或者通过IPC(Inner Process Communication)机制在本地进行。会话则是指一系列连续的SQL语句执行,这些语句由一个SQL客户端发起,并在数据库中执行。 对于本地连接,...

    ORACLE的TNS.doc

    TNS协议支持多种传输机制,如TCP/IP、SSL的TCP/IP、命名管道和IPC,但在分析中,我们主要关注基于TCP/IP的通信。 1. TNS协议版本: Oracle的TNS协议有多个版本,而且大多数版本向下兼容。以描述中的例子为例,...

    DB2,Oracle连接字符串

    为了能够连接到DB2,通常需要在本地安装DB2客户端,这是因为DB2使用网络协议如TCP/IP进行通信,并且需要相关的驱动程序和工具来解析和处理这些协议。例如,如果你正在使用.NET框架开发应用程序,那么可能需要IBM....

    用LoadRunner测试Winsock应用的例子(英文PDF) .pdf

    具体而言,`WINSOCK.DLL`充当了与TCP/IP的接口,并由此连接至互联网。其工作原理可以通过以下流程图直观理解: 1. **WinSock兼容的应用程序**(如Netscape、WinVN等)发出指令。 2. `WINSOCK.DLL`接收这些指令。 3....

    oracle_11g_R2_RAC原理解读

    Oracle 11g R2 RAC 原理解读 Oracle 11g R2 RAC(Real Application Clusters)是一种高可用的数据库集群解决方案,旨在提供高可用性、可扩展性、易用性和低成本的数据库解决方案。RAC 的架构主要由三个部分组成:...

    ojdbc14.zip

    驱动程序类: oracle.jdbc.OracleDriver url: jdbc:oracle:thin:@<host>:...2)原理上来看,thin是纯java实现tcp/ip的c/s通讯;而oci方式,客户端通过native java method调用c library访问服务端,而这个c lib

    DBTranfer(封装其他系统对linux系统中oracle数据库的访问)

    3. **Socket通信**:基于TCP/IP协议的网络通信方式,用于在不同进程或设备间建立通信链路,实现数据的可靠传输。 4. **跨平台兼容性**:DBTranfer能在不同的操作系统上运行,如Windows和Linux,这对于多平台环境的...

    配置 Oracle Network 环境PPT学习教案.pptx

    这些信息可以通过名称解析来获取,可以使用本地命名(如tnsnames.ora文件),目录命名(LDAP服务器),外部命名(第三方命名服务)或者简便连接(TCP/IP连接字符串)。 4. **Enterprise Manager**:Oracle的...

    oracle驱动包和mysql驱动包

    MySQL Connector/J支持多种连接模式,如TCP/IP、Socket、 Named Pipe和Unix Domain Socket,以满足不同环境的需求。 使用Oracle驱动包和MySQL驱动包时,你需要将对应的jar文件添加到项目的类路径中。在Java中,你...

    oracle 数据库连接jar包

    其中,`hostname`是Oracle数据库服务器的主机名或IP地址,`port`是监听的TCP端口,`service_name`是Oracle服务名。 4. **执行SQL**:获取到连接后,你可以创建`Statement`或`PreparedStatement`对象来执行SQL查询...

    计算机专业 生产实习报告

    实习过程中,学生通过截取网络通信包(通常使用Wireshark这样的网络封包分析工具)来解析这些通信包的格式,了解其结构和内容,这对于理解Oracle数据库的工作原理至关重要。 3. **TNS配置**:在Oracle环境中,配置...

    网络与数据库编程基础经典教程.pptx

    掌握TCP/IP协议的基本原理和Java提供的网络类库,以及理解如何使用JDBC进行数据库操作,是成为一名合格的Java开发者所必需的。同时,熟悉相关协议(如HTTP、FTP等)和数据库管理系统(如MySQL、Oracle等)将有助于...

Global site tag (gtag.js) - Google Analytics