Oracle数据库应用系统结构
在安装、部署oracle数据库软件时,需要根据不同应用结构(即硬件平台、操作系统平台)采用不同的方法(基本安装、高级安装),下面介绍几种常见的应用结构。
1.应用系统的数据接口
客户端应用程序或应用服务器向数据库服务器请求服务时,首先必须和数据库建立连接。虽然现有DBMS几乎都遵循SQL标准,但不同厂家开发的DBMS有差异,存在适应性和可移植性等方面的问题,为此,人们研究和开发了连接不同DBMS的通用方法、技术和软件接口。
2.客户/服务器(C/S)模式应用系统
在C/S(cilent/server)结构模式中,所有数据集中存储在服务器中,数据处理由服务器完成,一般采用硬件资源配置比较高的机器作为服务器,而使用配置比较低的PC作为客户端。客户端与服务端之间通过专用的网络连接,一般为局域网或企业内部网。
如图2-1Oracle客户端/服务器系统结构。应用程序运行在客户端,Oracle数据库运行在服务器,二者之间通过计算机网络连接在一起。Oracle使用SQL*NET在客户端与服务器之间进行通信。

图1-2 Oracle客户端/服务器系统结构
3.Oracle浏览器/服务器系统结构
如图2-2所示为Oracle浏览器/服务器(B/S,Browser/Server)三层系统结构。在B/S的三层模型中,客户端应用程序采用WEB浏览器展示,所以客户端也成手客户、

图2-2 Oracle浏览器/服务器三层系统结构
客户端即浏览器没有加载程序,程序部署在Web服务器上,客户端需要加载或浏览数据,首先通过网络将请求发送给Web服务器,Web服务器通过请求访问Oracle数据库服务器,然后Web服务器响应将数据传递展示在客户端。
B/S结构是面向非连接的,即存取数据时建立连接,存取结束时断开连接,再次存取数据需重新建立连接,所以与C/S结构相比,其效率低。所以,B/S主要应用于运行效率要求不高,以数据对外发布为主的环境。
4.单磁盘独立主机结构
单磁盘独立主机结构是最简单,最常用的结构,在该机构中只有一台计算机,并且计算机使用一个硬盘,在这里Oracle实例表示DBMS,用数据库文件表示数据库,如图2-3:

图2-3 单磁盘独立主机结构
注:数据库服务器(也叫做实例),由一组内存结构和访问数据库文件的后台进程组成。
这种应用结构只有一个数据库服务器(DBMS)、一个数据库文件(数据库结构),并且这些数据文件都存储在一个屋里磁盘上,这是最基本的应用结构,其他的应用结构都是在基础上修改和扩展。
这种结构将所有数据库文件都存放在一个硬盘上,因此对硬件的可靠性要求较高,性能调整的方向主要是视图减少对数据库文件的访问次数。
5.多磁盘独立主机结构
多磁盘独立主机结构只有一台计算机,但该计算机使用了多个硬盘,如图2-4:

图2-4 多磁盘独立主机结构
该结构只有一个数据库服务器,一个数据库结构,但是数据库存储在多个物理磁盘中,数据库文件的分开存储减少了连接数量,也减少了对数据库文件的读写操作。
如果在这些磁盘上采用磁盘镜像技术(RAID技术,独立磁盘冗余阵列技术),则所有数据库文件在每个硬盘上都有完整的备份,任何一个硬盘发生故障,都能由镜像磁盘代替其工作,并可对其进行维修、恢复,因此提高了硬件的可靠性。
当处理一个事务或查询需要对数据库进行操作,往往涉及多个文件的信息,在这种多磁盘结构中可将数据库文件存在不同的物理磁盘上,这样可以减少数据库文件之间的竞争数量,从而提高数据库的性能。
注:多磁盘不一定是镜像的,但是镜像的一定是多磁盘的,通常,磁盘的镜像是由硬件系统实现,而不是Oracle的镜像解决方案。
6.多数据库独立主机结构
多数据库独立主机结构只有一台计算机,可以有一个或多个硬盘,如图2-5:

图2-5 多数据库独立主机结构
这种结构由多个数据库服务器,多个数据文件组成,虽然一台计算机上装有两个数据库,但是它们的内存结构、服务器进程和数据库文件等都不是共享的,它们有各自的内存机构、服务器进程和数据库文件,彼此之间不能进行共享,即一个数据库的进程不能访问另一个数据库的文件。这种结构对硬件要求较高(内存大、CPU运算强、硬盘快),一般不采用这种结构。
7.Oracle 分布式数据库系统结构
数据库系统按数据分布方式可分为集中式数据库系统和分布式数据库系统。集中式数据库系统是将数据集中存放在一台计算机上,而分布式数据库系统是将数据存放在由计算机网络连接的不同计算机上。一个分布式数据库是由分布于计算机网络上的多个逻辑相关的的数据库组成,网络的每个节点都具有独立处理能力,可以执行局部应用,也可以通过网络执行全局应用。如图2-6为分布式数据库系统结构:

图2-6 分布式数据库系统结构
从图2-6可以看出,分布式数据库系统由以下部分组成:
- 局部数据库管理系统 :创建和管理局部数据库,执行局部和全局应用子查询。
- 全局数据库管理系统:协调各局部数据库管理系统,共同完成全局事务的执行并保证全局数据库执行的正确性和全局数据的完整性。
- 通信管理:实现分布在网络中各个数据库之间的通信。
- 全局数据字典:存放全局概念模式。
- 局部数据库:查询全局数据库信息。
分布式数据库管理系统的数据在物理上是分布存储,即数据存放在计算机网络上不同节点(局部数据库),而在逻辑上数据之间有语义上的联系,属于一个系统。访问数据库的用户即可是本地用户,也可是网络连接的远地用户。
Oracle支持分布式数据结构,属于客户/服务器模式结构。在网络中每个用户具有多用户处理能力的硬件平台都可以作为服务器,多个服务器上的数据库对用户来讲是一个逻辑上的单一数据库系统。在分布式数据库中,各个服务器之间可以实现数据的实时、定时复制,通过Oracle的远程数据复制选件、快照等在多个不同地域实现数据远程复制。图2-7为Oracle分布式数据库系统结构。

图2-7 Oracle分布式数据库系统结构
Oracle数据库应用系统结构的更多相关文章
- Oracle数据库系统结构(一)
1.Oracle数据库系统结构概述 Oracle数据库由存放在磁盘上的数据库(DB)和对磁盘上的数据库进行管理的数据库管理系统(DBMS)两部分构成,分别对应着数据库的存储结构和软件结构. Oracl ...
- Oracle数据库概述
Oracle是一种RDBMS(Relational Database Management System 关系型数据库管理系统),是Oracle公司的核心产品. 2009年4月,Oracle并购了Su ...
- ORACLE数据库学习之体系结构
Oracle体系结构 ORACLE数据库体系结构决定了oracle如何使用网络.磁盘和内存.包括实例(instance),文件(file)和进程(process不包括后台进程)三部分. 实例:每 ...
- Oracle数据库(一)
Oracle 是一个数据库管理系统,是Oracle公司的核心产品.其在数据安全性与安整性控制方面的优越性能,以及跨操作系统.跨硬件平台的数据操作能力.基于“客户端/服务 器”(Client/Se ...
- 最近面试oracle 数据库的知识点
1. Oracle跟SQL Server 2005的区别? 宏观上: 1). 最大的区别在于平台,oracle可以运行在不同的平台上,sql server只能运行在windows平台上,由于windo ...
- 使用Zabbix监控Oracle数据库
Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...
- Oracle 数据库知识汇总篇
Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...
- Oracle数据库该如何着手优化一个SQL
这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异. 所以有时候我们应该先 ...
- Oracle 数据库语句大全
Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...
随机推荐
- 五十三.Docker概述、部署Docker、Docker镜像、Docker基本命令
1.安装Docker 准备两台虚拟机,IP为192.168.1.10和192.168.1.20 安装docker-engine 和 docker-engine-selinux 关闭防火墙 **** ...
- bzoj 3551
按照困难度升序排序Kruskal重构树这样一来一个点的子树中的所有困难值都小于改点的困难值对于每次询问倍增找出困难值最大且小于x的点该点的子树中的第k大就是询问的答案主席书维护区间k大 #includ ...
- bzoj 1996
区间 dp $f[i][j][1/0]$ 表示将理想数列的 $[i,j]$ 区间排好的方案数 $f[i][j][1]$ 表示最后进去的是第 $i$ 个人 $f[i][j][0]$ 表示最后进去的是第 ...
- go - GOPATH配置
查看配置信息 go env 然后找到对应的 GOPATH=>修改为你自己的目录 ..liunx 系统下,注意要给权限 go bulid 编译文件 go run 先编译后执行. -------- ...
- 【CF589 E】Another Filling the Grid
一个很套路的容斥裸题,这里记录一下scb 的切题过程 Description 有一个 \(n\times n\) 的矩阵,你需要往每格里填一个 \([1,k]\) 的整数,使得每一行.每一列的最小值都 ...
- 域渗透-企业应用SAML签名攻击
在项目中遇到SAML企业应用 想留个后门时候一脸懵 随便的整理记录 记录项目中SAML渗透的知识点. 0x01 前置知识 SAML单点登陆 SAML(Security Assertion ...
- Consul CAP理论纠错
Consul CAP理论纠错 随便搜索Consul.zookeeper.etcd.eureka注册中心比较相关博客文章,你都会发现千篇一律的是以下这幅对比图:但是我对Consul使用的是CA架构还是C ...
- Docker安装redis3.2
1.拉取redis3.2镜像 2.使用docker images查看拉去下来的镜像 3.运行容器,命令如下 docker run -p : -v $PWD/data:/data -d redis:3. ...
- Cesium中级教程6 - 3D Models 三维模型
3D Models 三维模型 本教程将教您如何通过Primitive API转换.加载和使用Cesium中的三维模型.如果你是Cesium的新用户,可能需要阅读三维模型部分的(空间数据可视化教程)[h ...
- UML期末复习题——2.1:Use Case Diagram
第一题:用例图 重要概念: 1.采用参与者和参与者目标的观点: 一组用例实例,每个实例是系统所执行的一系列活动,以此产生对特定参与者具有价值的客观结果. 短语“对特定参与者具有价值的客观结果”是细微而 ...