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++、Java以及TCP/IP编程的相关知识。这些文件可能是源代码、教程、文档或示例,旨在帮助开发者理解和掌握这些关键技术。 首先,我们来看看C++。C++是一种强大的、面向...
这个驱动会建立一个TCP/IP连接到Oracle数据库服务器,使用Oracle的网络协议TNS(Transparent Network Substrate)进行通信。由于它是完全基于Java的,因此可以在任何支持Java的平台上运行,具有良好的跨平台性。 在...
这个工具很可能被用来监控网络通信,查看数据库连接的TCP/IP协议层面的数据包交换。通过这种方式,开发者可以确认数据是否正确发送和接收,排查是否因为网络延迟、数据包丢失或格式错误导致的连接问题。 综上所述,...
1. **IP多路径的基本概念**:解释了IPNP的基本原理,包括如何识别和利用网络中的多个物理路径,以及如何在这些路径之间分配和管理数据流量。 2. **配置与管理**:详述了如何在Solaris 8系统中设置和管理IP多路径,...
这可能是通过TCP/IP协议在网络层进行远程连接,或者通过IPC(Inner Process Communication)机制在本地进行。会话则是指一系列连续的SQL语句执行,这些语句由一个SQL客户端发起,并在数据库中执行。 对于本地连接,...
TNS协议支持多种传输机制,如TCP/IP、SSL的TCP/IP、命名管道和IPC,但在分析中,我们主要关注基于TCP/IP的通信。 1. TNS协议版本: Oracle的TNS协议有多个版本,而且大多数版本向下兼容。以描述中的例子为例,...
为了能够连接到DB2,通常需要在本地安装DB2客户端,这是因为DB2使用网络协议如TCP/IP进行通信,并且需要相关的驱动程序和工具来解析和处理这些协议。例如,如果你正在使用.NET框架开发应用程序,那么可能需要IBM....
具体而言,`WINSOCK.DLL`充当了与TCP/IP的接口,并由此连接至互联网。其工作原理可以通过以下流程图直观理解: 1. **WinSock兼容的应用程序**(如Netscape、WinVN等)发出指令。 2. `WINSOCK.DLL`接收这些指令。 3....
Oracle 11g R2 RAC 原理解读 Oracle 11g R2 RAC(Real Application Clusters)是一种高可用的数据库集群解决方案,旨在提供高可用性、可扩展性、易用性和低成本的数据库解决方案。RAC 的架构主要由三个部分组成:...
驱动程序类: oracle.jdbc.OracleDriver url: jdbc:oracle:thin:@<host>:...2)原理上来看,thin是纯java实现tcp/ip的c/s通讯;而oci方式,客户端通过native java method调用c library访问服务端,而这个c lib
3. **Socket通信**:基于TCP/IP协议的网络通信方式,用于在不同进程或设备间建立通信链路,实现数据的可靠传输。 4. **跨平台兼容性**:DBTranfer能在不同的操作系统上运行,如Windows和Linux,这对于多平台环境的...
这些信息可以通过名称解析来获取,可以使用本地命名(如tnsnames.ora文件),目录命名(LDAP服务器),外部命名(第三方命名服务)或者简便连接(TCP/IP连接字符串)。 4. **Enterprise Manager**:Oracle的...
MySQL Connector/J支持多种连接模式,如TCP/IP、Socket、 Named Pipe和Unix Domain Socket,以满足不同环境的需求。 使用Oracle驱动包和MySQL驱动包时,你需要将对应的jar文件添加到项目的类路径中。在Java中,你...
其中,`hostname`是Oracle数据库服务器的主机名或IP地址,`port`是监听的TCP端口,`service_name`是Oracle服务名。 4. **执行SQL**:获取到连接后,你可以创建`Statement`或`PreparedStatement`对象来执行SQL查询...
实习过程中,学生通过截取网络通信包(通常使用Wireshark这样的网络封包分析工具)来解析这些通信包的格式,了解其结构和内容,这对于理解Oracle数据库的工作原理至关重要。 3. **TNS配置**:在Oracle环境中,配置...
掌握TCP/IP协议的基本原理和Java提供的网络类库,以及理解如何使用JDBC进行数据库操作,是成为一名合格的Java开发者所必需的。同时,熟悉相关协议(如HTTP、FTP等)和数据库管理系统(如MySQL、Oracle等)将有助于...