1 网络Overivew
网络环境挑战
配置网络环境
维护网络
调优、故障排除和监控网络
实现网络安全
集成遗留系统
c/s模式
它是一种计算机网络架构模式。在 C/S 模式中,计算机系统被分成两个主要组件:客户端和服务器。
客户端是指用户终端设备,例如个人计算机、手机、平板电脑等。客户端通过特定的应用程序(客户端软件)与服务器进行通信,并向服务器发送请求以获取服务或资源。客户端负责向服务器发送请求并接收和处理服务器返回的响应。
服务器是指主机设备,它是一个中央计算机或网络设备,用于管理和提供特定的服务或资源。服务器接收客户端的请求并对其进行处理,然后将结果或数据传送回客户端。服务器负责处理和存储数据,并提供服务或资源给客户端。
C/S 模式的优点包括:
分工明确:客户端和服务器各自负责特定的任务和功能,可以实现分布式处理和资源集中管理。
灵活性和可扩展性:C/S 模式可以根据需要灵活搭建、部署和扩展,适应不同规模和要求的系统。
数据安全性:通过服务器的集中管理和控制,可以实现对数据的安全存储和访问控制。
性能优化:由于服务器的专门处理能力,可以实现集中计算和处理,提高系统的性能和效率。
然而,C/S 模式也存在一些缺点,例如依赖于服务器的可靠性、成本较高(需要维护和管理服务器)、网络通信的延迟等。
C/S 模式被广泛应用于各种应用领域,例如 Web 服务器、数据库服务器、游戏服务器等,它提供了一种有效的方式来实现客户端与服务器之间的交互和数据处理。
网络连接客户端和服务器
客户端和服务器使用相同的语言或协议
从简单到复杂:n层
客户端可以是瘦客户端或PC
中间层可以包含应用程序和服务
服务器保存实际数据
复杂网络
Oracle 9i网络解决方案
连接
目录服务
可伸缩性
安全
可访问性
Oracle Net的主要特性
协议独立性
全面的平台支持
集成GUI管理工具
多个配置选项
跟踪和诊断工具集
基本安全
连接:Oracle Net
使用HTTP连接数据库
目录服务
使用符合ldap的目录服务器解析网络别名的过程
客户端必须配置为使用LDAP兼容的服务器
Oracle Internet Directory
Oracle的LDAP兼容目录服务
提供以下特性:
与Oracle9i紧密集成
简化网络管理
提供安全可靠的目录结构
可伸缩性:共享服务器
允许大量用户同时连接到数据库
共享数据库资源,从而实现高效的内存和处理使用。
连接通过调度程序路由服务器进程并非专用于每个客户端。
服务器进程根据需要
为客户端进程提供服务
Oracle连接管理器
Oracle连接管理器提供:
多路连接
Cross-protocol连接
网络访问控制
先进的安全
加密
在网络节点之间进行编码
DES, RSA, 3DES
身份验证
通过第三方服务和SSL (Secure Sockets Layer)认证用户
Kerberos, Radius, CyberSafe
数据完整性
保证传输过程中的数据完整性
MD5、SHA
高级加密
网络服务与防火墙
Oracle与主要防火墙供应商合作提供防火墙支持
Oracle Net Firewall Proxy Kit允许防火墙供应商为Oracle环境提供连接支持
Oracle Net Firewall Proxy基于Oracle Connection Manager
Oracle支持两类防火墙:
基于代理的防火墙
状态包检测防火墙
异构服务
允许访问遗留数据,就像它驻留在单一的本地关系数据库
允许Oracle过程调用访问非Oracle系统、服务或api
外部程序
用3GL语言编写的函数,可以从PL/SQL调用
允许开发人员比SQL或PL/SQL提供更多的灵活性
侦听器可以侦听外部过程调用
可以在服务器安装期间或之后配置到外部过程的连接
配置和管理工具
Oracle Net管理器
用于配置和管理Oracle Net
基于客户端或服务器的工具
与Oracle企业管理器集成
Oracle Net配置助手
Oracle Net Control实用程序
侦听器控制实用程序
Oracle Connection Manager控制实用程序
Oracle Names控制实用程序
2 Oracle网络体系结构
Oracle Net用于在网络上的应用程序之间建立连接,具体如下:
网络配置
节点的位置
应用程序
网络协议
连接类型可以是:
客户机-服务器应用程序
Java应用程序
Web客户端应用
C/S应用连接
OSI通信层
Oracle协议支持
SDP SDP (Sockets Directory Protocol)是ib网络对等体之间的工业标准有线协议。当在Infiniband网络上使用SDP时,它通过消除数据的中间复制和将大部分消息传递负担从CPU转移到网络硬件来减少TCP/IP的开销。
B/S应用程序连接
Web浏览器可以通过以下方式连接到Oracle服务器:
使用应用程序Web服务器作为中间层,并配置以下任意一种:
JDBC Oracle Call Interface (OCI)驱动程序
简约版JDBC驱动程序
通过HΤΤP直接连接到Oracle服务器
应用服务器:中间层
两种JDBC驱动程序
Oracle JDBC驱动程序为Java应用程序提供对Oracle数据库的访问。Oracle提供了两个JDBC驱动程序。
JDBC OCI驱动程序是客户端/服务器Java应用程序使用的2级JDBC驱动程序。JDBC OCI驱动程序将JDBC调用转换为对OCI的调用,然后通过Oracle Net发送到Oracle数据库服务器。
JDBC简约驱动程序是Java小程序使用的第4级驱动程序。JDBC瘦驱动程序通过Java套接字建立到Oracle数据库服务器的直接连接。通过TTC和Oracle Net的轻量级实现,可以帮助访问数据库。
Java应用客户端
使用HTTP进行Web连接
浏览器直接连接
概念和术语
数据库服务
服务名称
数据库的逻辑表示
数据库呈现给客户端的方式
连接描述符
数据库的位置
数据库服务的名称
监听器
接收客户端连接请求
将请求传递给数据库服务器
服务注册
数据库向监听器注册信息
每个实例可用的
服务处理程序
服务处理程序连接点
调度程序或专用服务器
监听
服务注册
一旦客户端请求到达侦听器,侦听器选择一个适当的服务处理程序来处理客户端的请求,并将客户端的请求转发给它。侦听器通过服务注册确定数据库服务及其服务处理程序是否可用。在服务注册期间,PMON进程(一个实例后台进程)向监听器提供以下信息:
数据库提供的数据库服务名称
与服务关联的实例名称及其当前和最大负载
实例可用的服务处理程序(调度程序和专用服务器),包括它们的类型、协议地址、当前和最大负载
此信息使侦听器能够适当地引导客户机的请求
如果实例启动时侦听器未运行,则PMON无法注册服务信息。PMON尝试周期性地连接到侦听器,但是,在PMON启动后向侦听器注册之前可能需要60秒的时间。要在侦听器启动后立即启动服务注册,请使用SQL语句ALTERSYSTEM REGISTER。这在高可用性配置中特别有用。
如果侦听器在注册相应的实例之前接收到传入请求,则侦听器拒绝该请求。
如果实例处于受限模式,则PMON指示侦听器阻止到该实例的所有连接。试图连接的客户端会收到以下错误之一:
ORA-12526: TNS:listener: all appropriate instances are in restricted mode
ORA-12527: TNS:listener: all appropriate instances are inrestricted mode or blocking new connections
网络配置模型
本地化管理
网络中每台计算机上的本地文件
集中管理
ldap兼容的目录服务器
Oracle名称服务器
命名方法概述
客户机应用程序使用命名方法在尝试连接到数据库服务时将连接标识符解析为连接描述符。
Oracle Net提供了五种命名方法:
Host naming
Local naming
Directory naming
Oracle Names
External naming
三个关键参数!
连接描述符
数据库的位置
数据库服务的名称
3 Basic Oracle Net Server端配置
监听进程
一个监听器进程可以监听多个数据库
多个侦听器可以代表单个数据库侦听以执行负载平衡
侦听器可以侦听多个协议
Oracle Net中监听器的默认名称是listener
每个侦听器的侦听器名称必须唯一的listener.ora文件
注意:Oracle9i数据库需要一个Oracle9i监听器。不支持侦听器的早期版本。但是,可以将Oracle9i侦听器用于用早期版本的Oracle创建的数据库。
注意:Oracle Database 10g和更高版本的数据库需要版本10或更高版本的侦听器。早期版本的监听器不支持用于Oracle Database 10g和更高版本的数据库。但是,对于以前版本的Oracle数据库,可以使用version 10侦听器。
连接方法
当客户端向服务器发出连接请求时,侦听器执行以下操作之一:
生成一个服务器进程并将连接传递给它
在Oracle共享服务器配置中,将连接移交给调度程序
将连接重定向到调度程序或服务器进程T22
Spawn and Bequeath Conn.
Windows不隐式地支持网络端点的继承。为此,必须将注册表项USE_SHARED_SOCKET设置为TRUE,以允许多个连接使用单个套接字。当该值为FALSE(默认值)时,不可能进行继承连接,因此会启动重定向会话。
如果USE_SHARED_SOCKET项设置为TRUE, Windows可以启动遗赠连接,但需要考虑一些注意事项。如果启动了许多连接,并且由于某种原因侦听器被停止,则侦听器将无法重新启动,直到清除连接。这是因为现有连接使用的端口号与侦听器需要侦听的端口号相同。这是微软使用Windows Sockets API (WINSOCK2)实现TCP/IP的一个限制。
直接移交连接
重定向会话
1. 客户端使用配置好的协议与监听器建立连接,并向监听器发送连接报文。
2. 侦听器检查是否定义了SID。如果是,则侦听器将生成一个新线程或进程来服务新连接。然后在侦听器和新进程或线程之间建立IPC连接。
3.。新进程或线程从用户定义的空闲端口列表中选择一个新的TCP/IP端口,并将此信息传递回侦听器。
4. 侦听器将这个新端口插入到重定向数据包中,并将其发送回客户端,然后重置客户端和侦听器之间的原始TCP套接字。
5. 重新建立到重定向报文中指定的重定向地址的TCP连接,然后将连接报文转发到专用服务器进程。
6. 专用服务器进程现在终于可以接受传入的连接,并将accept消息转发回客户端。
服务配置和注册
监听器可以通过两种方式配置:
动态服务注册不需要在 listener.ora文件中配置。
监听依赖于PMON进程
静态业务配置
用于Oracle8及更早版本
需要 listener.ora 配置
需要Oracle企业管理器和其他服务
动态注册
在数据库初始化文件中配置动态服务注册。它不需要在侦听器中进行任何配置。ora文件。但是,侦听器配置必须与数据库初始化文件中的信息同步。
在使用侦听器中的静态配置信息之前,侦听器使用通过服务注册接收到的关于数据库和实例的动态listener.ora文件。
其他服务(如外部过程、异构服务)也需要静态配置。
为保证服务注册功能正常,需要配置以下初始化参数:
SERVICE_NAMES
INSTANCE_NAME
缺省情况下,PMON在服务器上以TCP/IP的缺省本地地址1521端口向本地侦听器注册
定义了LOCAL_LISTENER初始化参数
DISPATCHERS的LISTENERS属性为Oracle共享服务器定义初始化参数
Oracle 9i JVM: HTTP
侦听器可以配置为使用HTTP接受来自客户机的连接。
如果数据库是Oracle8i或更早版本,即使使用Oracle9i侦听器,也要使用静态侦听器注册。
如果监听器和数据库都是Oracle9i,则在服务注册过程中动态进行配置。
LSNRCTL效用
监听器控制实用程序命令可以从命令行或LSNRCTL提示符发出。
UNIX命令行语法:
lsnrctl <command name>
提示语法:
LSNRCTL> <command name>
控制非默认监听器:
LSNRCTL> set current_listener listener02
使用以下命令控制监听器:
启动监听器:
lsnrctl START listener_name
停止监听器:
lsnrctl STOP listener_name
设置和显示修饰符
使用SET更改监听器参数:
LSNRCTL> SET tec_level ADMIN
使用show命令显示参数值:
LSNRCTL> SHOW trc_dirextory