oracle学习笔记二 1-3

1 网络Overivew

网络环境挑战

配置网络环境

维护网络

调优、故障排除和监控网络

实现网络安全

集成遗留系统

c/s模式

它是一种计算机网络架构模式。在 C/S 模式中,计算机系统被分成两个主要组件:客户端和服务器。

客户端是指用户终端设备,例如个人计算机、手机、平板电脑等。客户端通过特定的应用程序(客户端软件)与服务器进行通信,并向服务器发送请求以获取服务或资源。客户端负责向服务器发送请求并接收和处理服务器返回的响应。

服务器是指主机设备,它是一个中央计算机或网络设备,用于管理和提供特定的服务或资源。服务器接收客户端的请求并对其进行处理,然后将结果或数据传送回客户端。服务器负责处理和存储数据,并提供服务或资源给客户端。

C/S 模式的优点包括:

  1. 分工明确:客户端和服务器各自负责特定的任务和功能,可以实现分布式处理和资源集中管理。

  2. 灵活性和可扩展性:C/S 模式可以根据需要灵活搭建、部署和扩展,适应不同规模和要求的系统。

  3. 数据安全性:通过服务器的集中管理和控制,可以实现对数据的安全存储和访问控制。

  4. 性能优化:由于服务器的专门处理能力,可以实现集中计算和处理,提高系统的性能和效率。

然而,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

三个关键参数!

连接描述符

        数据库的位置

        数据库服务的名称

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
  • 19
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值