Oracle数据库系统结构

合集下载

第2章 Oracle数据库的体系结构

第2章 Oracle数据库的体系结构
数据库是存储数据的多个物理文件的集合 ,它 是静态的、永久的。 数据库实例是用户访问数据库的中间层,是使 用数据库的手段,它为用户访问数据库提供了 必要的内存空间和多个Oracle进程,它是动态 的、临时的。
因此,Oracle实例是由内存空间和Oracle 进程两部分组成。
Oracle实例结构图
1.系统全局区SGA
数据缓存区(database buffer cache) :最近 使用过的数据 。 重做日志缓冲区(redo log buffer) :记录了 用户对数据库执行的操作,被循环使用 。 共享池(shared pool) :包含了库缓存区( library cache)、数据字典缓存区(dictionary cache)、并行执行消息缓冲区(buffers for parallel execution messages),以及用于系 统控制的各种内存结构。
数据文件又可以分为以下几种:
系统数据文件 回滚数据文件 临时数据文件 用户数据文件 系统辅助数据文件 示例数据文件
2.1.2 日志文件
日志文件记录了用户对数据库的修改信息( 如增加、删除、修改),名字通常为 REDO*.LOG格式。
日志文件也叫重做日志文件或重演日志文件 (Redo Log Files)。 日志组是日志文件的逻辑组织单元,每个日志 组中有一个或多个日志文件。 同一个日志组中的多个日志文件具有相同的信 息,它们是镜相关系
用户进程和服务进程之间的对应关系是由 Oracle数据库的工作模式决定的。数据库通 常有两种工作模式:
专用服务器模式 共享服务器模式
3.后台进程(background process)
Oracle实例启动时,为了保证该实例的正常使 用,系统将为该实例启动一些后台进程。 这些进程是操作数据库的基础,不管有没有用 户连接数据库,这些进程都会被启动。

oracle 数据库物理结构

oracle 数据库物理结构
数据文件是用于存储数据库数据的物理文件,它 由若干个操作系统文件组成,在数据文件中存储 着用户数据(表、索引等)、数据字典以及回滚段 数据等。
数据文件和表空间有着密切的关系,Oracle 数据 库至少要包含一个数据文件,并且数据文件是表 空间的物理组成元素,一个表空间可以包含多个 数据文件,并且每个数据文件只能惟一地属于某 个表空间。 关于“表空间”在后面会给大家详细介绍。
但如果执行介质恢复(例如数据文件意外丢失) ,则必须要用到归档日志。归档日志是非活 动重做日志的备份,数据库只有处于 ARCHIVELOG 模式时才会生成归档日志,并且 每次日志切换都会生成归档日志。
如图所示:
假定数据库只包含两个日志组,并且处于 ARCHIVELOG 模式。初始阶段LGWR 会将事务 变化写入到日志组一,当日志组一写满之后 ,LGWR 会将事务变化写入到日志组二中, 并且会促使ARCn 进程将日志组一的内容保存 到归档日志中,依此类推。
2.6.1 连接和建立会话
当客户应用需要执行SQL 语句时,首先要建立用户进程 ,同时在服务器端会自动为该用户进程派生一个新的 服务进程。默认情况下,用户进程与服务器进程是一 一对应的关系。 当客户端运行SQL 语句时,用户进程会通过网络将该 SQL 语句发送到对应的服务进程,并且由服务进程执行 该SQL 语句,服务器进程在执行了SQL 语句之后,会将 SQL 语句的结果通过网络返回到用户进程。
2.5.3 区(Extents)
数据区间简称为区,区是为段分配空间的逻辑单位 ,Oracle 在分配空间时,并不是以块为单位进行的 ,而是将多个连续的块一次性的分配给数据库对象 。这些连续的块在回收存储
空间时,也一起回收。这些连续的数据块就是数据 区间。 当创建一个数据库对象时,Oracle为这些对象创建一 个段,并分配初始区。当段中的初始区的存储空间 使用完毕后,Oracle会为段自动分配新的区,每个区 的大小不要求相同

oracle数据库DBA管理手册1

oracle数据库DBA管理手册1

4 第一部分 数据库体系结构
下载
• 序列。 • 过程、函数、软件包和触发器。 • 同义词。 • 权限及角色。 • 数据库链接。 • 段、盘区和块。 • 回滚段。 • 快照与显形图。 下面对上述每一种元素进行详细介绍。
1.4.1 表、列和数据类型
表是数据在一个 Oracle数据库中的存储机制,如图 1-1所示,它包含一组固定的列。表中 的列描述该表所跟踪的实体的属性,每个列都有一个名字及各自的特性。
1.2.2 文件
每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件 (datafile)。一个数 据文件只能属于一个表空间。在 Oracle 7.2中,数据文件创建后可改变大小。创建新的表空间 需要创建新的数据文件。
数据文件一旦加入到表空间中,就不能从这个表空间中移走,也不能与其他表空间发生 联系。
1.1 数据库概述及实例
要了解 Oracle体系结构,必须先了解两个基本概念:数据库和实例。下面两节将详细描述 这两个基本概念及其在 Oracle中的实现。
1.2 数据库
数据库(database)是一个数据集合。 Oracle能够提供按照一致性方式定义的定义模型 (称作 关系模型 )存储和访问数据的方法,因此 Oracle被认为是一种关系数据库管理系统 (RDBMS)。 对“数据库”一词的大多数引用不仅是指物理的数据,也指本章中描述的物理、内存及进程 对象的组合。
下载
3 第1章 Oracle体系结构
1.3 实例
为了访问数据库中的数据, Oracle使用一组所有用户共享的后台进程。此外,还有一些存 储结构(统称为System Global Area,即SGA)用来存储最近从数据库查询的数据。数据块缓存 区和SQL共享池(Shared SQL Pool)是SGA中的最大部分,一般占分配给 SGA的内存95%以上。 通过减少对数据文件的 I/O次数,这些存储区域可以改善数据库性能。

oracle数据库体系架构详解

oracle数据库体系架构详解

oracle数据库体系架构详解在学习oracle中,体系结构是重中之重,⼀开始从宏观上掌握它的物理组成、⽂件组成和各种⽂件组成。

掌握的越深⼊越好。

在实际⼯作遇到疑难问题,其实都可以归结到体系结构中来解释。

体系结构是对⼀个系统的框架描述。

是设计⼀个系统的宏观⼯作。

这好⽐建⼀栋⼤楼。

你⾸先应该以图纸的⽅式把整个⼤楼的体系架构描述出来。

然后⼀点点的往⾥⾯填充东西。

下⾯我们先以⼀个图解的⽅式对oracle体系结构有⼀个基本了解根据⽰图,便于我们记忆,⽰图分三部分组成,左侧User Process、Server Process、PGA可以看做成Clinet端,上⾯的实例(Instance)和下⾯的数据库(Database)及参数⽂件(parameter file)、密码⽂件(password file)和归档⽇志⽂件(archived logfiles)组成Oracle Server,所以整个⽰图可以理解成⼀个C/S架构。

Oracle Server由两个实体组成:实例(instance)与数据库(database)。

这两个实体是独⽴的,不过连接在⼀起。

在数据库创建过程中,实例⾸先被创建,然后才创建数据库。

在典型的单实例环境中,实例与数据库的关系是⼀对⼀的,⼀个实例连接⼀个数据库,实例与数据库也可以是多对⼀的关系,即不同计算机上的多个实例打开共享磁盘系统上的⼀个公⽤数据库。

这种多对⼀关系被称为实际应⽤群集(Real Application Clusters,RAC)RAC极⼤提⾼了数据库的性能、容错与可伸缩性(可能耗费更多的存储空间)并且是oracle⽹格(grid)概念的必备部分。

下⾯我们来详细看⼀下oracle数据库的体系架构Oracle体系架构主要有两⼤部分组成:数据库实例(Instance)和数据库⽂件(database)数据库实例指数据库服务器的内存及相关处理程序,它是Oracle的⼼脏。

与Oracle性能关系最⼤的是SGA(System Global Area,即系统全局区活共享内存区),SGA包含三个部分:1、数据缓冲区,可避免重复读取常⽤的数据;2、⽇志缓冲区,提升了数据增删改的速度,减少磁盘的读写⽽加快速度;3、共享池,使相同的SQL语句不再编译,提升了SQL的执⾏速度。

oracle数据面试题

oracle数据面试题

oracle数据面试题Oracle是一种关系型数据库管理系统,广泛应用于企业级软件开发和数据管理中。

在进行Oracle数据面试时,面试官可能会提问一些与Oracle数据库相关的问题。

下面是一些常见的Oracle数据面试题:1. 什么是Oracle数据库?Oracle数据库是一种关系型数据库管理系统,由美国甲骨文公司开发。

它采用表结构存储数据,并使用结构化查询语言(SQL)进行数据管理。

Oracle数据库提供高性能、高可用性和可扩展性,并被广泛用于大型企业级应用程序和数据仓库。

2. Oracle数据库的体系结构是怎样的?Oracle数据库的体系结构由两个主要组件组成:实例(Instance)和数据库(Database)。

实例包括内存结构(例如SGA和PGA)和后台进程(例如后台写进程和后台读进程),而数据库则包含数据文件、控制文件和日志文件等。

3. 什么是SGA和PGA?SGA(System Global Area)是Oracle数据库实例的共享内存区域,包含缓冲区高速缓存、共享池和重做日志缓冲区等。

PGA(Program Global Area)是每个数据库连接的私有内存区域,包含了会话变量和排序区等。

4. Oracle数据库的常见数据类型有哪些?Oracle数据库支持多种数据类型,包括字符类型(如VARCHAR2和CHAR)、数值类型(如NUMBER和INTEGER)、日期类型(如DATE和TIMESTAMP)以及大对象类型(如CLOB和BLOB)等。

5. 什么是索引?索引是一种数据结构,用于加快数据库查询的速度。

在Oracle数据库中,可以为表的一个或多个列创建索引,这样在查询时可以直接通过索引而不是全表扫描来找到匹配的数据。

6. 如何创建一个表?在Oracle数据库中,可以使用CREATE TABLE语句来创建表,如下所示:```sqlCREATE TABLE table_name (column1 datatype constraint,column2 datatype constraint,...);```其中,table_name是表的名称,column1、column2等是列名,datatype是列的数据类型,constraint是列的约束(如主键、外键、唯一性约束等)。

Oracle数据库体系结构

Oracle数据库体系结构

Oracle数据库体系结构⼀、oracle数据库体系结构基本组成:Oracle server:⼀般情况下是⼀个instance和⼀个database组成⼀般:1个instance只能对应⼀个数据库。

特殊:1个数据库可以有多个instance(RAC)⼀台服务器上同时可装多套版本的数据库软件,每个数据库软件可建多个数据库,但是每个数据库只对应⼀个instance,也可以理解成每个数据库只有⼀个SID 。

利⽤DBCA建出的每个库都是相对独⽴的,在同⼀服务器上如果创建多库必须将环境变量的参数⽂件做区分,并且在对实例切换时需如下操作:connect ⽤户名/密码@实例的服务名1.1 oracle服务器和实例1.1.1实例由内存区和后台进程组成①内存区:数据库⾼速缓存、重做⽇志缓存、共享池、流池以及其它可选内存区(如Java池),这些池也称为数据库的内存结构②后台进程:包括系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、⽇志写进程(LGWR)、检验点进程(CKPT)、其它进程(SMON,如归档进程、RECO进程等)③注:要访问数据库必须先启动实例,实例启动时先分配内存区,然后再启动后台进程,后台进程执⾏库数据的输⼊、输出以及监控其它Oracle进程。

在数据库启动过程中有五个进程是必须启动的,它们是系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、⽇志写进程(LGWR)、检验点进程(CKPT),否则实例⽆法创建。

1.1.2服务器Oracle服务器由数据库实例和数据⽂件组成,也就是我们常说的数据库管理系统。

数据库服务器除了维护实例和数据库⽂件之外,还在⽤户建⽴与服务器的连接时启动服务器进程并分配PGA1.2 oracle数据库逻辑结构表空间:据库的基本逻辑结构,是⼀系列数据⽂件的集合;段:不同类型数据在数据库中占⽤的空间,有许多区组合⽽成;区:由连续的块组成,⽬的是为数据⼀次性预留⼀个较⼤的空间,oracle为存储空间进⾏分配回收都是以区为单位的;块:最⼩的存储单位,在创建数据库时指定,不能修改。

oracle体系结构 面试题

oracle体系结构 面试题

oracle体系结构面试题
以下是一些关于Oracle体系结构的常见面试题:
1. 请解释Oracle数据库的体系结构。

2. Oracle数据库是如何工作的?
3. Oracle数据库的组成部分是什么?
4. 请解释Oracle实例和Oracle数据库之间的关系。

5. Oracle数据库的逻辑结构是怎样的?
6. Oracle数据库的物理结构是怎样的?
7. Oracle数据库的存储结构是怎样的?
8. 请解释Oracle数据库的内存结构。

9. Oracle实例的主要组件有哪些?
10. Oracle数据库是如何处理并发访问的?
11. Oracle数据库的恢复机制是怎样的?
12. Oracle数据库的备份和恢复策略是怎样的?
13. Oracle数据库的安全性是怎样保证的?
14. Oracle数据库的性能调优是怎样进行的?
15. 请解释Oracle的数据字典是什么?
以上是一些常见的关于Oracle体系结构的面试题,希望能帮到你!。

oracle数据库运行机制和基本原理

oracle数据库运行机制和基本原理

Oracle数据库是一种关系型数据库管理系统,它采用了客户/服务器模式,可以在各种不同的评台上运行。

其运行机制和基本原理是数据库领域的重要内容,我们将通过以下几个方面来详细介绍。

1. Oracle数据库的体系结构Oracle数据库的体系结构包括实例和数据库。

实例是由一个或多个进程组成,负责处理客户端的请求和管理数据库的物理结构;数据库是由数据文件组成,用来存储数据和控制文件。

实例和数据库之间通过监听器进行通信,客户端通过监听器访问数据库。

2. Oracle数据库的运行原理Oracle数据库的运行原理包括数据库的启动和关闭过程。

数据库的启动过程包括加载实例和数据库文件、分配内存、打开数据库并监听客户端请求;数据库的关闭过程包括关闭实例和数据库文件、释放内存、关闭数据库并停止监听器。

3. Oracle数据库的存储结构Oracle数据库的存储结构包括内存结构和磁盘结构。

内存结构包括数据库SGA和PGA,SGA用来存储数据库的共享数据和控制信息,PGA用来存储客户端的私有数据;磁盘结构包括数据文件、控制文件和日志文件,数据文件用来存储数据库的数据,控制文件用来记录数据库的元数据,日志文件用来记录数据库的事务日志。

4. Oracle数据库的并发控制Oracle数据库的并发控制包括锁和多版本并发控制。

锁是用来控制对共享资源的并发访问,包括共享锁、排他锁和意向锁;多版本并发控制是一种乐观并发控制方式,每个事务都有自己的版本,可以并发访问相同的数据,不会相互影响。

5. Oracle数据库的恢复机制Oracle数据库的恢复机制包括日志文件和闪回技术。

日志文件用来记录数据库的操作,包括重做日志和撤销日志,可以用来恢复数据库的状态;闪回技术可以回滚数据库到历史状态,包括闪回查询和闪回表。

通过以上内容的介绍,我们对于Oracle数据库的运行机制和基本原理有了一定的了解。

Oracle数据库作为一种成熟的关系型数据库管理系统,其运行机制和基本原理对于数据库管理员和开发人员来说是非常重要的,可以帮助他们更好地理解、管理和优化数据库。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 一个表空间包含一个或多个数据文件,一 个数据文件只能从属于某个表空间。
• 数据库的逻辑块由一个或多个操作系统块 构成。
• 一个逻辑区只能从属于某一个数据文件, 而一个数据文件可包含一个或多个逻辑区。
可编辑ppt
8
3.2.2 物理存储结构概述
• 数据文件 • 控制文件 • 重做日志文件 • 归档重做日志文件 • 初始化参数文件 • 跟踪文件 • 告警文件
• 利用重做日志文件可以进行事务的重做 (REDO)或回退(UNDO),是数据库实例 恢复的基础。
可编辑ppt
12
归档重做日志文件
• 归档重做日志文件是历史联机重做日志文 件的集合,是联机重做日志文件被覆盖之 前备份的副本。
• 如果数据库工作在归档模式,数据库归档 进程会自动将写满的重做日志文件在覆盖 之前复制到指定的位置。归档重做日志文 件是数据库出现介质故障后实现数据库完 全恢复的必要条件
发生的重大事件的有关信息,可以为数据 库运行故障的解决提供重要信息。
可编辑ppt
15
ห้องสมุดไป่ตู้警文件
• 告警文件也是数据库中重要的诊断文件, 记录数据库在启动、关闭和运行期间后台 进程的活动情况。
• 在数据库出现故障时,应首先查看该文件, 但文件中的信息与任何错误状态没有必然 的联系。
可编辑ppt
16
3.2.3逻辑存储结构的构成与关 系
可编辑ppt
20

• 段是由一个或多个连续或不连续的区组成 的逻辑存储单元。
• 段分类
– 表段 – 索引段 – 临时段 – 回退段
可编辑ppt
21
利用回退段中保存的回退信息,可以实 现
• 事务回滚 • 数据库恢复 • 数据的读一致性 • 闪回查询
可编辑ppt
22
表空间
• 表空间是Oracle数据库最大的逻辑存储单 元,数据库的大小从逻辑上看就是由表空 间决定
可编辑ppt
26
3.3.2SGA
• SGA是由Oracle分配的共享内存结构,包含 一个数据库实例的数据和控制信息。
• SGA数据供所有的服务器进程和后台进程共 享,所以SGA又称为共享全局区(Shared Global Area)。
可编辑ppt
27
• SGA构成
• 数据库启动时,根据初始化参数文件中的 CONTROL_FILES参数找到控制文件,然后根 据控制文件中的信息,进行数据库数据文 件和重做日志文件的加载,最后打开数据 库。
• 一个数据库至少需要一个控制文件,如果 控制文件损坏将导致数据库无法启动。
可编辑ppt
11
重做日志文件
• 重做日志文件是以重做记录的形式记录、 保存用户对数据库所进行的变更操作,是 数据库中最重要的物理文件。
可编辑ppt
9
数据文件
• 数据文件是数据库中所有数据的实际存储 空间,所有数据文件大小的和构成了数据 库的大小。
• 根据数据信息类型不同,数据文件分为永 久性数据文件和临时数据文件两种。
可编辑ppt
10
控制文件
• 控制文件是记录数据库结构信息的重要的 二进制文件,由Oracle系统进行读写操作, DBA不能直接操作控制文件。
块和非标准块两种。 • Oracle数据库的默认数据缓冲区就是由标
准数据块构成,由数据库初始化参数 DB_BLOCK_SIZE设置。
可编辑ppt
19

• 区是由一系列连续的数据块构成的逻辑存 储单元,是存储空间分配的最小单位。
• 当创建一个数据库对象时,Oracle为对象 分配若干个区,以构成一个段来为对象提 供初始的存储空间。当段中已分配的区都 写满后,Oracle会为段分配一个新区,以 容纳更多的数据。
• Oracle内存结构概述 • SGA • PGA
可编辑ppt
25
3.3.1Oracle内存结构概述
• 用户的所有操作都在内存中进行,最后由 数据库后台进程将操作结果写入各种物理 文件中永久性保存。
• 内存结构类型:
– 系统全局区(System Global Area,SGA) – 程序全局区(Program Global Area,PGA)。
• Oracle数据库的软件结构,即Oracle实例 (Instance),包括内存结构与后台进程 结构两个部分。
可编辑ppt
4
可编辑ppt
5
3.2 Oracle数据库存储结构
• 存储结构概述 • 物理存储结构概述 • 逻辑存储结构概述
可编辑ppt
6
3.2.1存储结构概述
可编辑ppt
7
• 一个数据库在物理上包含多个数据文件, 在逻辑上包含多个表空间。
• 表空间与数据库文件直接关联,一个表空 间包含一个或多个数据文件,一个数据文 件只能从属于某一个表空间,数据库对象 就是存储在表空间对应的一个或多个数据 文件中
可编辑ppt
23
表空间分类: • 系统表空间 • 非系统表空间
– 撤销表空间 – 临时表空间 – 用户表空间
可编辑ppt
24
3.3 Oracle数据库内存结构
• Oracle数据块 •区 •段 • 表空间
可编辑ppt
17
• Oracle数据库的逻辑存储结构分为Oracle 数据块(Oracle Data Block)、区 (Extent)、段(Segment)和表空间 (Table space)。
可编辑ppt
18
Oracle数据块
• 数据库中最小的逻辑存储单元。 • 在Oracle 11g数据库中,数据块分为标准
可编辑ppt
13
初始化参数文件
• 初始化参数文件是数据库启动过程所必需 的文件,记录了数据库显式参数的设置。
• 数据库启动的第一步就是根据初始化参数 文件中的设置,创建并启动实例,即分配 内存空间、启动后台进程。
可编辑ppt
14
跟踪文件
• 跟踪文件是数据库中重要的诊断文件 • 跟踪文件中包含数据库系统运行过程中所
第3章 Oracle数据库系统结构
可编辑ppt
1
主要内容
• Oracle数据库系统结构概述 • Oracle数据库存储结构 • Oracle数据库内存结构 • Oracle数据库后台进程
可编辑ppt
2
3.1 Oracle数据库系统结构概 述
可编辑ppt
3
• Oracle数据库的存储结构(Storage Structure)分为物理存储结构和逻辑存储 结构两种,分别描述了在操作系统中和数 据库系统内部数据的组织与管理方式。。
相关文档
最新文档