首页 > 数据库 >PARTV-Oracle实例架构-应用和网络架构

PARTV-Oracle实例架构-应用和网络架构

时间:2024-09-27 21:52:22浏览次数:1  
标签:架构 监听器 数据库 PARTV Oracle 服务器 客户端

16. 应用和网络架构

16.1. Oracle应用架构

在本章的上下文中,应用架构指的是数据库应用程序连接到 Oracle 数据库的计算环境。

16.1.1. 客户端与服务端架构概述

在 Oracle 数据库环境中,数据库应用程序和数据库被分离成客户端/服务器架构:

  • 客户端运行数据库应用程序,例如 SQL*Plus 或 Visual Basic 数据输入程序,它访问数据库信息并与用户交互。
  • 服务器运行 Oracle 数据库软件,并处理所需的功能,以便并发、共享地访问 Oracle 数据库。
    尽管客户端应用程序和数据库可以在同一台计算机上运行,但通常当客户端部分和服务器部分由通过网络连接的不同计算机运行时,可以获得更高的效率。以下部分讨论了 Oracle 数据库客户端/服务器架构的变体。

16.1.1.1. 分布式处理

使用多个主机来处理单个任务被称为分布式处理。前端和后端处理发生在不同的计算机上。在图16-1中,客户端和服务器位于通过Oracle Net服务连接的不同主机上。

图16-2是一个变体,它描绘了一个分布式数据库。在这个例子中,一个主机上的数据库访问位于另一个不同主机上的单独数据库的数据。

注意:本章的剩余部分适用于一台服务器上一个数据库的环境。

16.1.1.2. 客户端/服务器架构的优势

Oracle Database 在分布式处理环境中的客户端/服务器架构提供了以下优势:

  • 客户端应用程序不负责执行数据处理。相反,它们从用户那里请求输入,从服务器请求数据,然后使用客户端工作站或终端(例如,使用图形或电子表格)的显示功能分析和展示这些数据。
  • 客户端应用程序不依赖于数据的物理位置。即使数据被移动或分布到其他数据库服务器上,应用程序仍然可以几乎不需要或不需要修改地继续运行。
  • Oracle Database 利用其底层操作系统的多任务处理和共享内存设施。因此,它为客户端应用程序提供了尽可能高的并发性、数据完整性和性能。
  • 客户端工作站或终端可以针对数据的展示进行优化(例如,提供图形和鼠标支持),而服务器可以针对数据处理和存储进行优化(例如,拥有大量的内存和磁盘空间)。
  • 在网络环境中,您可以使用廉价的客户端工作站有效地访问服务器的远程数据。
  • 随着系统的扩展,数据库可以进行扩展。您可以添加多台服务器将数据库处理负载分布到整个网络中(水平扩展),或者可以将数据库迁移到小型计算机或大型机上以利用更大型系统的性能(垂直扩展)。在任何情况下,数据和应用程序都可以几乎不需要或不需要修改地进行维护,因为Oracle Database在系统之间是可移植的。
  • 在网络环境中,共享数据存储在服务器上,而不是存储在所有计算机上,这使得管理和并发访问更加容易和高效。
  • 在网络环境中,客户端应用程序使用SQL语句向服务器提交数据库请求。收到后,每个SQL语句由服务器处理,服务器将结果返回给客户端。因为只有请求和结果通过网络传输,所以网络流量被最小化。

16.1.2. 多层架构概述

在传统的多层架构环境中,应用服务器为客户端提供数据,并充当客户端和数据库服务器之间的接口。这种架构允许使用应用服务器来:

  • 验证客户端的凭据,如Web浏览器
  • 连接到数据库服务器
  • 执行请求的操作

多层架构的一个例子出现在图16-3中。

16.1.2.1. 客户端

客户端发起对数据库服务器执行操作的请求。客户端可以是Web浏览器或其他最终用户程序。在多层架构中,客户端通过一个或多个应用服务器连接到数据库服务器。

16.1.2.2. 应用服务器

应用服务器为客户端提供数据访问。它充当客户端和一个或多个数据库服务器之间的接口,并托管应用程序。应用服务器允许配置最小软件的瘦客户端访问应用程序,而不需要持续维护客户端计算机。应用服务器还可以为客户端执行一些数据重新格式化,减轻客户端工作站的负载。

应用服务器在代表客户端对数据库服务器执行操作时,会假定客户端的身份。应限制应用服务器的权限,以防止它在客户端操作期间执行不必要和不需要的操作。

16.1.2.3. 数据库服务器

数据库服务器提供应用服务器代表客户端请求的数据。数据库执行所有的查询处理。

数据库服务器可以审计应用服务器代表客户端执行的操作以及应用服务器自身执行的操作(见第17-6页的“监控”)。例如,客户端操作可以请求在客户端显示的信息,而应用服务器操作可以请求连接到数据库服务器。

16.1.2.4. 面向服务的架构(SOA)

数据库可以在传统的多层或面向服务的架构(SOA)环境中充当Web服务提供者。SOA是一种依赖于服务的多层架构,这些服务支持通过网络进行计算机之间的交互。这些服务可以被动态地发现,并查询其可用功能和调用序列。SOA服务通常实现为可通过HTTP协议访问的Web服务。它们基于XML标准,如WSDL和SOAP。Oracle数据库的Web服务功能,作为XML DB的一部分实现,必须由数据库管理员(DBA)明确启用。应用程序随后可以通过数据库Web服务实现以下功能:

  • 提交SQL或XQuery查询,并将结果以XML格式接收
  • 调用独立的PL/SQL函数并接收结果(见第8-3页的“PL/SQL子程序”)
  • 调用PL/SQL包函数并接收结果

数据库Web服务为在应用环境添加Web服务提供了一种简单的方法,无需应用服务器。然而,通过诸如Oracle Fusion Middleware这样的应用服务器调用Web服务,在SOA环境中提供了安全性、可扩展性、UDDI注册和可靠的消息传递。然而,由于数据库Web服务与Oracle Fusion Middleware易于集成,它们可能适用于优化SOA解决方案。

16.1.3. 网格架构概述

在Oracle数据库环境中,网格计算是一种计算架构,它能够将大量的服务器和存储资源有效地汇集成一个灵活的、按需分配的计算资源。可以根据企业变化的需求,按需连接和重新组合模块化的硬件和软件组件。

16.2. Oracle网络架构

Oracle Net Services是一套网络组件,提供了在分布式、异构计算环境中的企业级连接解决方案。Oracle Net Services支持从应用程序到数据库实例以及从一个数据库实例到另一个数据库实例的网络会话。

Oracle Net Services提供位置透明性、集中配置和管理以及快速安装和配置。它还允许您最大限度地利用系统资源并提高性能。Oracle数据库共享服务器架构提高了应用程序的可扩展性以及同时连接到数据库的客户端数量。虚拟接口(VI)协议将大部分消息传递负担放在高速网络硬件上,释放了CPU。

Oracle Net Services使用各种网络支持的通信协议或应用程序编程接口(APIs)来提供分布式数据库和分布式处理。建立网络会话后,Oracle Net Services充当客户端应用程序和数据库服务器的数据信使,建立并维护连接并交换消息。Oracle Net Services之所以能够执行这些任务,是因为它存在于网络中的每台计算机上。

16.2.1. Oracle Net服务的工作方式

Oracle数据库协议从Oracle应用程序的接口处获取SQL语句,并通过支持的行业标准高级协议或API将它们打包传输到Oracle数据库。来自Oracle数据库的回复也通过相同的高级通信机制进行打包。这项工作独立于网络操作系统进行。

根据运行Oracle数据库的操作系统不同,数据库服务器的Oracle Net Services软件可能包括驱动软件,并启动一个额外的后台进程。

16.2.2. Oracle Net监听器

Oracle Net监听器,也称为监听器,是一个服务器端进程,它监听传入的客户端连接请求,并管理数据库的流量。当数据库实例启动时,以及在其生命周期中的不同时间点,该实例会联系一个监听器,并为此实例建立一条通信路径。

服务注册使监听器能够确定数据库服务及其服务处理程序是否可用。服务处理程序是一个专用的服务器进程或调度器,充当连接到数据库的连接点。在注册过程中,PMON进程向监听器提供实例名称、数据库服务名称以及服务处理程序的类型和地址。这些信息使监听器能够在客户端请求到达时启动一个服务处理程序。图16-4显示了两个数据库,每个数据库分别位于不同的主机上。数据库环境由两个监听器提供服务,每个监听器分别位于不同的主机上。每个数据库实例中运行的PMON进程与两个监听器通信以注册数据库。

图16-4显示了一个浏览器通过HTTP连接进行连接,以及一个客户端通过监听器进行数据库连接。监听器不需要位于数据库主机上。

客户端通过监听器建立连接的基本步骤如下:

  1. 客户端进程或另一个数据库请求连接。
  2. 监听器选择一个适当的服务处理程序来处理客户端请求,并将请求转发给该处理程序。
  3. 客户端进程直接连接到服务处理程序。监听器不再参与通信。

16.2.3. 专用服务器架构

16.2.4. 共享服务器架构

16.2.5. 数据库驻留连接池

16.3. 程序接口

16.3.1. 程序接口结构

16.3.2. 程序接口驱动程序

16.3.3. 操作系统的通信软件

标签:架构,监听器,数据库,PARTV,Oracle,服务器,客户端
From: https://www.cnblogs.com/crispy-bro/p/18436626

相关文章

  • 【网站架构部署与优化】Tomcat优化、Tomcat多实例部署
    文章目录Tomcat优化Tomcat配置文件参数优化示例配置TomcatJVM参数配置参数解释注意总结Tomcat配置文件参数优化(`server.xml`)1.线程池参数2.网络连接参数3.性能优化参数Java虚拟机(JVM)调优1.堆内存设置2.新生代和老年代设置3.垃圾收集器设置4.其他性能优......
  • 【网站架构部署与优化】nginx反向代理
    文章目录nginx反向代理代理服务器正向代理与反向代理Nginx的负载均衡Nginx的动静分离七层反向代理四层反向代理Nginx负载均衡调度策略1.轮询(Round-Robin,RR)2.加权轮询(WeightedRound-Robin,WRR)3.最少连接(LeastConnections,least_conn)4.IP哈希(IPHash)5.URL哈希(U......
  • 架构师-逻辑覆盖
    1.语句覆盖(StatementCoverage)定义:语句覆盖是指测试用例执行了程序中的每一条语句,确保每个语句至少被执行一次。语句覆盖的目的是测试程序中的代码是否被执行,它只测试代码中的执行语句,这里的执行语句不包括头文件、注释、空行等。语句覆盖在多分支的程序中,只能覆盖某一条路......
  • 《华为云DTSE》期刊免费下载:10个案例读懂云上架构升级策略
    本文分享自华为云社区《《华为云DTSE》期刊第四期赋能云专刊,赋能云场景下DTSE服务各类开发者的案例分享》,作者:HuaweiCloudDeveloper。 把公司的开发者平台统一在一起,是华为云所担负的任务,其最终目的是要汇聚开发者、做厚“黑土地”,支撑三大根生态的发展壮大。这也意味着,作为支......
  • oracle 表空间
      SELECTa.tablespace_name"表空间名",total"表空间大小",free"表空间剩余大小",(total-free)"表占用空间大小",ROUND((total-free)/total*100,2)||'%'"已使用空间百分比"FROM(SELECT......
  • 解析 Llama-Factory:从微调到推理的架构
    轻松搞定大模型微调与推理的开源神器©作者|DWT来源|神州问学一、前言:Llama-Factory的背景与重要性在人工智能(AI)领域,尤其是自然语言处理(NLP)技术迅速发展的今天,如何高效地微调和部署大型语言模型(LLM)成为了研究和应用的热点。Llama-Factory作为一个开源的微调框架,正是在......
  • oracle数据库内存分配方案
    查询当前参数设置SQL>showparametersgaSQL>showparameterpgaSQL>showparametermemory参数说明sga_target期望的sga大小sga_max_size最大sga大小pga_aggregate_target期望的pga大小pga_aggregate_limit最大pga大小设置原则sga_target不能大于sga_max_si......
  • 证券公司结算业务系统信创国产化建设难点及信创总体逻辑架构设计思路
    数字化和国产化是金融IT行业目前的两大趋势。在金融行业,除了数字化以外,国产化也是核心趋势。信创建设从政府办公电脑开始,目的是借助政府的力量培养自主可控生态,而真正的繁荣还要靠行业大客户的支持,其中金融行业是最关键的战略要地。然而,从实际应用案例来看,很多证券公司已在全面推广......
  • Oracle:重复数据去重,只取最新的一条数据
    前言最近开发的时候遇到一个任务,需要对重复的数据进行筛选,只取插入时间最早的一条数据。这里介绍一下解决这类去重问题的几种思路先看样例数据解决思路一先groupby找到每个人最新的数据插入时间(insert_time),再通过insert_time作为条件表关联的条件筛选出每个人最新的数据1.......
  • PARTV-Oracle实例架构-进程架构
    15.进程架构15.1.进程简介进程是操作系统中可以运行一系列步骤的机制。这个机制取决于操作系统。例如,在Linux上,Oracle后台进程是一个Linux进程。在Windows上,Oracle后台进程是进程内的执行线程。代码模块由进程运行。所有连接到Oracle数据库的用户都必须运行以下模块......