2024年2月26日发(作者:)

第二章 ORACLE NET结构概要

本章将重点介绍ORACLE NET的结构和功能概要

本章也是基础性概念知识,真正客户端和服务端配置将在第三、四章介绍

1. 本章的主要内容

⊙ 解释ORACLE NET 层次结构的主要组件

⊙ 介绍ORACLE NET在C/S结构的角色

⊙ 描述WEB客户端如何通过网络连接到数据库。

⊙ ORACLE NET的作用是用户通过网络的配置,并确定服务节点的地址和协议来访问数据库

⊙ ORACLE NET连接有两种类型

⊕ C/S应用

⊕ WEB应用连接

如 B/S结构

IIOP/HTTP连接方式

首先我们来学习ORACLE NET在C/S模式下扮演的角色

第一类

2. 【没有中间层的C/S模式】

clent 和 server 是不是有相同的协议?

因为是直接通信,必须要懂对方的意思才行,所以要有相同的协议,相当于翻译

在C/S没有中间层的情况下,CLIENT和SERVER直接通讯需要有相同的协议

ORACLE NET是在NETWORK 协议的顶层,所以ORACLE NET必须同时安装在CLIENT和SERVER端。

ORACLE NET的组成

ORACLE NET有两个软件组件组成

⊙ Oracle Net foundation layer

⊙ Oracle protocol support

在服务端有同样的结构

⊙ TTC(TWO-TASK-COMMON)提供了客户端与服务端之间不同字符集和数据类型的转换

⊙ Oracle Net foundation layer

:ORACLE NET基础层,用于管理和维护客户端和服务端的通讯,连接它在客户端和服务端必须点对的点通讯。

在客户端它的责任是

⊕ 定位服务器

⊕ 确定该连接涉及的一个或多个连接协议

⊕ 怎样处理异常和中断

服务端多增加一个责任

⊕ 从LISTENER端接收连接请求

⊙ Oracle protocol support

该层是负责将NET基础层的数据按特定协议进行转换,并在客户端和服务端间进行传输。

9I主要的支持协议

10G支持SDP协议

我们再来学习第二类连接模式

3. WEB应用连接

WEB客户端应用连接:客户端访问模式都是IE WEB浏览器

它连接到数据库有下面几种方法

⊙ 使用增加中间层WEB服务器来实现WEB应用访问数据库

基于中间层使用的JDBC的驱动不同,它存在两种方式

⊕ JDBC OCI(ORACLE 配置接口)DRIVER

中间层使用该驱动连接时,中间层必须安装ORACLE NET组件。

OCI(OCI方式依赖于本地的动态链接库),是性能最好的模式,但是安装ORACLE NET较麻烦。

能实现网络和应用层的负载均衡

⊕ JDBC THIN DRIVER

该驱动时,由于jdbc thin为纯java的数据库连接方式,采用的是内建的tcp/ip+sqlnet执行,你只需要有(视JDK版本而定),不需要在中间层安装ORACLE NET组件。

这个在安装JDK的时候都有,JDBC THIN DRIVER能实现网络层负载均衡,也能实现网络层FAILOVER,当不能实现会话层的FAILOVER。

我们将在后面解释负载均衡和FAILOVER。

最后一种

⊙ 使用ORACLE NET支持IIOP或HTTP协议来支持WEB浏览器客户端直接访问数据库

我们具体来举例上面三种类型

如果采用写在WEB SERVER上的JAVA的应用来连接数据库,那么WEB SERVER作为客户端,采用的JDBC驱动程序。

JDBC 驱动程序与Oracle Net 通信以连接到Oracle 数据库,该数据库也必须配置有Oracle Net。

如果在WEB SERVER调用一个JAVA APPLET程序去连接数据库,那么WEB SERVER作为客户端,而DRIVER是JDBC THIN DRIVER,它将使用JAVA NET就能与ORACLE NET的TCPIP进行通讯。

以上连接到ORACLE服务器的CLIENT是WEB SERVER,那接下来我们学习WEB浏览器通过WEB应用服务器来访问数据库的情况

这里WEB APPLICATION SERVER相当于中间翻译的功能,它既懂WEB 浏览器的HTTP语言,也懂ORACLE 的NET协议,这里根据WEB APPLICATION SERVER使用的JDBC的协议,区分成两种连接方式

⊙ WEB应用服务器采用的JDBC OCI DRIVER,那么WEB应用服务器要安装ORACLE NET

⊙ WEB应用服务器采用的JDBC THIN DRIVER,那么WEB应用服务器不需要安装ORACLE NET

看红色框,只需要配置JAVA NET支持ORACLE NET的通讯

上图是没有中间层服务器下WEB浏览器直接访问数据库。这时ORACLE NET必须支持HTTP和IIOP协议才能互相通信。

第二章 完