第3章Oracle数据库系统结构

合集下载

描述oracle数据库体系结构的组成及其关系。

描述oracle数据库体系结构的组成及其关系。

描述oracle数据库体系结构的组成及其关系。

Oracle数据库体系结构由以下几个部分组成:1. 实例(Instance):实例是在计算机内存中运行的一个进程,负责管理数据库的操作。

每个实例都有自己的内存空间和进程,可以同时运行多个实例。

2. 数据库(Database):数据库是一个存储数据的容器,包含了表、视图、索引等对象。

一个实例可以管理多个数据库,每个数据库由一个或多个数据文件组成。

3. 数据文件(Data File):数据文件是用来存储数据库的实际数据的文件,包含了表、索引等对象的数据。

一个数据库可以有多个数据文件,每个数据文件具有独立的文件名和路径。

4. 控制文件(Control File):控制文件是用来记录数据库的结构和状态信息的文件,包括数据库名、数据文件的路径、表空间的信息等。

一个数据库通常有一个或多个控制文件。

5. 日志文件(Redo Log File):日志文件是用来记录数据库的变化操作的文件,包括数据更改、事务回滚等。

日志文件用于实现数据库的恢复和数据的一致性。

每个数据库通常有多个日志文件。

6. 表空间(Tablespace):表空间是数据库中逻辑数据存储的单位,用来管理和组织对象。

每个表空间由一个或多个数据文件组成,不同表空间可以包含不同的数据对象。

7. 段(Segment):段是逻辑存储结构的基本单位,是指数据库中的一个连续空间。

每个表、索引等对象都占用一个或多个段。

8. 区(Extent):区是段的扩展单位,是一组连续的数据块。

一个段由多个区组成。

9. 块(Data Block):块是数据库存储的最小单位,通常是8KB大小。

每个数据文件由多个块组成。

以上组成部分之间的关系如下:- 实例与数据库:一个实例可以管理多个数据库,每个数据库都有自己的实例。

- 数据库与数据文件:一个数据库可以由一个或多个数据文件组成,每个数据文件存储数据库的实际数据。

- 实例与控制文件:一个实例通常有一个或多个控制文件,控制文件记录了数据库的结构和状态信息。

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实例=SGA区+后台进程oracle服务器=oracle实例+oracle数据库数据库实例启动实质上即为:分配SGA区,启动后台进程Oracle 实例1、是访问Oracle 数据库的一种方式2、通常只开一个且仅开一个数据库3、由内存结构和进程结构组成,即SGA区+后台进程连接Oracle实例:包括建立用户连接和创建会话Oracle数据库是作为整体的数据集,由三类文件组成:Data files, Control files, Redo log files二、物理结构主要由三类文件组成:data files ,control files,redo-log files1.data files:数据文件,存放基本表信息(即表中数据等)、索引信息(系统内建有索引表)、回退信息(主要为数据的rollback)、临时信息(如有orderby 等操作时系统有临时信息)、系统引导信息(如数据字典等)2、control files:控制文件(二进制的)。

存放库物理结构、库名、库创建日期、序列号(存有同步信息);控制文件至少有两个一摸一样的,用做备份用参数Controlfiles=/../../文件名1,/../../文件名2;指定3、redo log files:回退日志文件,存放修改前后的信息,主要用于数据的恢复,一个数据库至少有两个redo log files文件,以便可以循环记录信息注:三类文件都有序列号,必须同步才能使用,且已Control files中的序列号为准,其他的必须与其保持一致除了上面三类文件还有:Parameter file(参数文件),Password file(口令文件),Archived log files(归档文件)等参数文件:有二进制、文本两种,用于设定参数的值。

二进制参数文件可以及时更改,即时生效;文本参数文件需重启口令文件:可用orapwd.exe 建口令文件。

Oracle数据库系统结构

Oracle数据库系统结构
• 一个表空间包含一个或多个数据文件,一 个数据文件只能从属于某个表空间。
• 数据库的逻辑块由一个或多个操作系统块 构成。
• 一个逻辑区只能从属于某一个数据文件, 而一个数据文件可包含一个或多个逻辑区。
可编辑ppt
8
3.2.2 物理存储结构概述
• 数据文件 • 控制文件 • 重做日志文件 • 归档重做日志文件 • 初始化参数文件 • 跟踪文件 • 告警文件
• 利用重做日志文件可以进行事务的重做 (REDO)或回退(UNDO),是数据库实例 恢复的基础。
可编辑ppt
12
归档重做日志文件
• 归档重做日志文件是历史联机重做日志文 件的集合,是联机重做日志文件被覆盖之 前备份的副本。
• 如果数据库工作在归档模式,数据库归档 进程会自动将写满的重做日志文件在覆盖 之前复制到指定的位置。归档重做日志文 件是数据库出现介质故障后实现数据库完 全恢复的必要条件
发生的重大事件的有关信息,可以为数据 库运行故障的解决提供重要信息。
可编辑ppt
15
ห้องสมุดไป่ตู้警文件
• 告警文件也是数据库中重要的诊断文件, 记录数据库在启动、关闭和运行期间后台 进程的活动情况。
• 在数据库出现故障时,应首先查看该文件, 但文件中的信息与任何错误状态没有必然 的联系。
可编辑ppt
16
3.2.3逻辑存储结构的构成与关 系
可编辑ppt
20

• 段是由一个或多个连续或不连续的区组成 的逻辑存储单元。
• 段分类
– 表段 – 索引段 – 临时段 – 回退段
可编辑ppt
21
利用回退段中保存的回退信息,可以实 现
• 事务回滚 • 数据库恢复 • 数据的读一致性 • 闪回查询

oracle数据库体系结构的构成

oracle数据库体系结构的构成

oracle数据库体系结构的构成Oracle数据库是一种关系型数据库管理系统,其体系结构由多个组成部分构成。

这些组成部分相互协作,以实现数据库的高效管理和数据的存储、检索和操作。

1. 实例(Instance)Oracle数据库的实例是指在计算机系统中运行的一组进程,这些进程负责管理数据库的运行和操作。

实例包括后台进程(background processes)和前台进程(foreground processes)。

后台进程负责监控数据库的状态、管理内存和磁盘空间、处理死锁等问题,而前台进程负责处理用户的请求和查询。

2. 数据库(Database)数据库是指存储数据的物理文件集合,包括数据文件(data files)、控制文件(control files)和日志文件(log files)。

数据文件存储实际的数据,控制文件记录数据库的结构信息和一些关键参数,日志文件用于记录数据库的操作日志。

数据库的设计和管理是数据库管理员(DBA)的工作。

3. 表空间(Tablespace)表空间是数据库中逻辑存储单位,用于管理和组织数据。

每个表空间包含一个或多个数据文件,表空间中的表和索引等数据库对象存储在数据文件中。

表空间可以根据需求进行创建、扩展和调整,以满足数据库的存储需求。

4. 段(Segment)段是逻辑存储单位,是表空间中的子集,用于存储数据库对象。

每个表、索引等数据库对象都分配了一个或多个段来存储数据。

段可以是数据段(data segment)、索引段(index segment)、临时段(temporary segment)等,根据其存储的数据类型和使用情况而定。

5. 区(Extent)区是段的子集,是数据的最小单位。

每个段由一个或多个区组成,每个区的大小是固定的。

当一个段需要存储更多的数据时,会动态地分配新的区来扩展段的大小。

6. 块(Block)块是存储数据的最小单位,是操作系统中文件系统的块大小。

Oracle数据库体系结构

Oracle数据库体系结构

Oracle数据库体系结构一.Oracle数据库体系结构1.实例:一组用于管理数据库文件的内存结构,实例对应着数据库;RAC/CDB CDB:CDB为数据库容器,PDB插拔数据库。

在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC),即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。

而实例与数据库不可能是一对多的关系。

当进入ORACLE 12C后,实例与数据库可以是一对多的关系。

RAC:允许多个Oracle数据库实例在多台服务器上共享同一个数据库存储空间,并通过集群来保证高可用性和容错性。

简单来说,RAC就是将多个数据库实例连接起来,形成一个“集群”。

2.ShardingSphere:中间件,不同的数据库对应不同的实例,中间有一个中间件,使用者连接中间件;数据库中间件可以简化对读写分离以及分库分表的操作,并隐藏底层实现细节,可以像操作单库单表那样操作多库多表。

常见的中间件有MyCat,Mysql-Proxy,DRDS,Atlas,Zebra二.Orcal数据库体系结构:Orcal服务器=数据库+实例1.实例是暂时的,它只不过是一组逻辑划分的内存结构和进程结构,它会随着数据的关闭而消失数据库它就是一堆物理文件(控制文件、数据文件、日志文件等等)它呢是永久存在的数据库和实例是一对一的,这种结构我们一般称为单实例体系结构;既然有一对一,那就会有一对多,在复杂的分布式结构中,一个数据库可以对多个实例,多个实例之间可以通过网络来进行数据的一个交互或着交换2.PGA:程序全局区,为单独的服务器进程存储私有数据的内存区域(SAG属于公共资源,PAG是私有的)3.SGA:系统全局区,所有用户都可以访问的共享内存区域启动Oracle数据库时,系统先在内存内规划一个固定区域,用来储存用户需要的数据,以及Oracle运行时必备的系统信息4.后台进程结构,此处只罗列必须启动的5个后台进程系统监控器SMON:负载检查数据库一致性,有必要会在数据库打开时启动数据库恢复进程监视器PMON:负责一个Orcal数据库进程失败时清理资源,会定期唤醒或者被其他主动事务主动唤醒数据库写进程DBWR:负责将更改的数据从“数据库高速缓冲区”写入“数据文件”日志写进程LGWR:负载把日志数据写到练级日志文件检查点进程SKPT:负责检查点操作,主要检查数据库状态一致性和记录系统变更时间5.三个文件1)控制文件:存储数据库结构,一个控制文件只属于一个数据库,包含数据文件日志文件信息及相关状态归档信息,2)数据文件:存储数据,xxx.dbf文件存储着系统数据,数据字典数据,索引数据及用户存储的数据3)日志文件:存储与事务有关的重做日志三.逻辑存储结构1.块是Oracle用来管理存储的最小单元,也是最小的逻辑存储结构2.区是Oracle数据库分配空间的最小单位3.段由多个区组成,这些区可以是连续的,也可以是不连续的4.表空间是Oracle数据库的最大逻辑划分区域,通常用来存放数据表、索引、回滚段等数据对象。

简述oracle体系结构

简述oracle体系结构

简述oracle体系结构
Oracle体系结构
Oracle是一种支持分布式数据库管理系统,其体系结构主要包
括E-R图,表和索引,存储过程和视图, SQL,PL/SQL程序和组件,等等。

1. E-R图
E-R图是一种关系数据库管理系统的基本模型,其中实体表示客观事物,关系表示实体之间的联系。

E-R图可以被用来描述实体和它们之间的关系,以及实体的属性和它们之间的关系。

2.表和索引
表是由一系列列组成的逻辑结构,它们包含每行和每列的数据。

索引是一种特别的表,可以被用来提高表的搜索速度和性能。

3.存储过程和视图
存储过程是一种特定类型的程序,它们可以被用来完成某些操作,比如查询和更新。

视图是一种准备好的查询,它们可以被用来返回数据库中的数据。

4.SQL,PL/SQL程序和组件
SQL(Structured Query Language)是一种用于在数据库中执行查询和更新操作的语言,是一种面向关系型数据库的核心语言。

PL/SQL是一种可以嵌入SQL语句的程序设计语言,用来定义复杂的
查询,更新和实现回调函数。

组件是一种模块化的程序,用来构建更复杂的系统。

Oracle数据库体系结构

Oracle数据库体系结构
(1)PFILE
在Oracle 9i之前,初始化参数都是以文本格式存放 的。在Windows平台上,建议将PFILE文件存放在 %ORACEL_HOME%\database目录中,文件名为 initSID.ora,其中SID为实例名。
(2)SPFILE
SPFILE是以二进制格式存放的。在Window 平台上,Oracle建议将SPFILE存放在 %ORACLE_HOME%\dbs 目录中。文件名为sp。
2.4.2 段
• 段是用户建立的数据库对象(如:表,索引, 簇等)的存储表示。它是有一个或多个区组 成的。
• 当建立表、索引、簇时,Oracle会为这些对 象分配段,以存放它们的数据信息,并且段 名与对象名完全相同。
• 用户建立的每一个表都会有一个在表空间中 存储的逻辑段。为用户所建立的对象生成的 段都要在磁盘上占用空间。
• 日志文件主要用于数据库恢复。
• 查看重做日志文件
SQL> select member from v$logfile;
MEMBER -------------------------------------------------E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
db_block_size 指定标准oracle块的尺寸
db_cache_size 指定标准数据高速缓存的尺寸
share_pool_size 指定共享池的尺寸
常用初始化参数(一)
参数名 log_buffer sga_max_size java_pool_size large_pool_size

最新Oracle11G 体系结构

最新Oracle11G 体系结构

方案下看到方案名都为数据库用户名的原因。
如果SCOTT用户创建了表EMP,那么SCOTT
就是表EMP的属主,在SCOTT访问SCOTT用
户下的EMP表时不用在表名前面加上表的属主
:SELECT * FROM EMP; 如果其他用户要访问表EMP,要在表名前面加 上表的属主:SELECT * FROM scott.emp; 否则会显示“没有此表”。
设置内存大小; 设置要使用的数据库和控制文件; 设置检查点; 设置数据库的控制结构; 非强制性后台进程的初始化
其他Oracle 物理文件
跟踪文件(Trace file):存放着后台进程的警告和错 误信息,每个后台进程都有相应的跟踪文件。 警告文件( Alert file):由连续的消息和错误组成, 可以看到Oracle内部错误、块损坏错误等。 备份文件( Backup file):包含恢复数据库结构和数 据文件所需的副本。 口令文件( Password file):存放用户口令的加密文 件。

每个数据库至少包含两个重做日志组,这两个日志组是循环使用的。日
志写入进程(LGWR)会将数据库发生的变化写入到日志组一,当日志组 一写满后,即产生日志切换,LGWR会将数据库发生的变化写入到日志
组二,当日志组二也写满后,产生日志切换,LGWR会将数据库发生的变
化再写入日志组一,依次类推。 日志文件分为联机重做日志文件和归档日志文件。归档日志,是当前非
关键控制信息,如数据库名和创建时间,物理文件 名、大小及存放位置等信息。

控制文件在创建数据库时生成,以后当数据库发生 任何物理变化都将被自动更新。

每个数据库包含通常两个或多个控制文件。这几个
控制文件的内容上保持一致。

Oracle体系结构(共79张PPT)

Oracle体系结构(共79张PPT)

32
日期
第32页,共79页。
分析
在执行COMMIT操作时,后台进程LGWR要 开始工作,所以事务变化被记载到重做日志 中。因为只有在发出检查点时,才会将SCN 值写入控制文件和数据文件头部,所以控制 文件和数据文件的SCN值保持一致,并且存 放的是先前检查点的SCN值。
控制文件和数据文件的SCN值一致,与重做 日志不一致!
28
日期
第28页,共79页。
CKPT工作原理
当Oracle发出检查点时,系统会将检查点时刻的
SCN值写入到控制文件和数据文件头部,同时还会促
使DBWR进程将所有脏缓冲区写入到数据文件中。
29
日期
第29页,共79页。
检查点工作机制
在DBWR进程工作之前,LGWR进程首 先将重做日志缓冲区内容写入到重做日志文 件,即该时刻的SCN值会被写入重做日志。
Oracle使用的主要内存结构包括系统全局 区SGA和程序全局区PGA。
9
日期
第9页,共79页。
SGA区
日期
10 第10页,共79页。
数据高速缓存
保存最近从数据文件中读取的数据块。分为 脏缓存块、空闲缓存块和命中缓存块三类。
脏缓冲块:当执行INSERT、UPDATE以及 DELETE操作时,服务器进程修改数据高速 缓存的相应数据,此时缓冲区的内容与数据 文件中的内容不一致。
当CKPT进程工作的时候,会将当前时 刻的SCN值写入数据文件和控制文件。
在发出检查点时刻,数据文件、控制文 件和重做日志的SCN值完全一致。
30
日期
第30页,共79页。
系统恢复
当运行Oracle Server时,在访问数据 文件、控制文件和重做日志时,Oracle会定 期检查并比较每种文件的SCN值,确定文件 是否损坏、系统是否出现异常,最终确定系 统是否需要进行恢复。

Oracle11g数据库基础教程-参考答案资料

Oracle11g数据库基础教程-参考答案资料

SMON进程的主要功能包括:在实例启动时负责对数据库进行恢复;回收不再使用的临
时空间;将各个表空间的空闲碎片合并。
PMON进程的主要功能包括:负责恢复失败的用户进程或服务器进程,并且释放进程所
占用的资源; 清除非正常中断的用户进程留下的孤儿会话, 回退未提交的事务, 释放会话所
占用的锁、 SGA、 PGA 等资源;监控调度进程和服务器进程的状态,如果它们失败,则尝试
修改右侧对话框中
第 2 章 Oracle 数据库管理与开发工具
1.简答题
(1)
实现对 Oracle 运行环境的完全管理, 包括 Oracle 数据库、 Oracle 应用服务器、 HTTP 服务器等的管理;
实现对单个 Oracle 数据库的本地管理,包括系统监控、性能诊断与优化、 对象管理、存储管理、安全管理、作业管理、数据备份与恢复、数据移植等;
适合于工作组或部门级
的应用程序: 个人版数据库服务器只提供基本数据库管理功能和特性,
适合单用户的开发环
境,为用户提供开发测试平台。
(2)
常用数据库类型包括事务处理类、 数据仓库类以通用类型。 其中事务处理类型主要针对
具有大量并发用户连接, 并且用户主要执行简单事务处理的应用环境。 事务处理数据库的典 型应用有银行系统数据库、 Internet 电子商务数据库、证券交易系统数据库等。对于需要较 高的可用性和事务处理性能、 存在大量用户并行访问相同数据以及需要较高恢复性能的数据
Oracle 数据库物理结构包括数据文件、控制文件、重做日志文件、初始化参数文件、归 档文件、 口令文件等。 在控制文件中记录了当前数据库所有的数据文件的名称与位置、 日志文件的名称与位置,以及数据文件、重做日志文件的状态等。 (3)

简洁描述oracle数据库体系构造的组成及其关系

简洁描述oracle数据库体系构造的组成及其关系

简洁描述oracle数据库体系构造的组成及其关系Oracle数据库体系构造主要由以下几个组成部分组成:实例(Instance)、数据库(Database)、表空间(Tablespace)以及数据文件(Datafile)。

实例是指在服务器上运行的Oracle数据库的一个独立的进程。

每个实例都有自己的内存区域,其中包括SGA(System Global Area)和PGA(Program Global Area)。

SGA是用于存储数据库缓存和其他共享内存结构的区域,而PGA是用于存储与每个用户连接相关的数据和变量的区域。

数据库是由多个数据文件组成的逻辑存储单元。

每个数据库都有自己的数据库名和唯一的标识符。

数据库包含多个表空间,每个表空间又包含多个数据文件。

表空间是逻辑存储结构,用于组织和管理数据库中的表、索引和其他对象。

一个数据库可以包含多个表空间,每个表空间可以有自己的磁盘和文件系统。

数据文件是物理存储单元,用于存储数据库中的数据。

每个表空间可以包含一个或多个数据文件,这些文件可以位于不同的磁盘上。

实例、数据库、表空间和数据文件之间存在着紧密的关系。

一个实例可以管理一个或多个数据库,一个数据库可以包含多个表空间,一个表空间可以包含多个数据文件。

实例通过数据库名来识别和连接到特定的数据库,而数据库通过表空间来组织和管理数据,数据文件则是实际存储数据的物理文件。

总结起来,Oracle数据库体系构造的组成及其关系是:一个实例可以管理一个或多个数据库,一个数据库可以包含多个表空间,一个表空间可以包含多个数据文件。

这种组成关系的设计使得Oracle数据库能够有效地组织和管理大量的数据,并提供高性能和可靠性的数据访问和存储。

Oracle数据库的体系结构介绍

Oracle数据库的体系结构介绍

Oracle数据库的体系结构介绍Oracle数据库是目前世界领先的企业级关系数据库管理系统,其卓越的性能、可靠性以及安全性被广泛地应用于企业级应用系统中。

本文将详细介绍Oracle数据库的体系结构,帮助读者更好地了解Oracle数据库。

一、概述Oracle数据库的体系结构分为三层:物理层、逻辑层和视图层。

物理层描述了数据在物理介质上的存储方式和管理方式;逻辑层主要由Oracle数据库的核心服务组成,该层体现了Oracle数据库的最核心功能;视图层则提供给应用程序用户和管理员使用,是Oracle数据库的最外层。

二、物理层Oracle数据库的物理层包括数据文件、控制文件和重做日志文件。

其中,数据文件用于存储数据表、索引和其他对象的数据;控制文件则记录了数据库的结构信息和操作日志,是维护数据库一致性和恢复数据的关键元素;重做日志文件用于记录正在进行的操作和已经完成的操作,以便在系统崩溃或停机时进行恢复。

三、逻辑层Oracle数据库的逻辑层包括多个服务组件,如SQL解析器、优化器、缓存池、锁管理器、存储管理器等。

其中,SQL解析器用于解析SQL语句,将其转换成可执行的优化器,并进行语法和语义检查;优化器则负责分析并优化SQL执行计划,以提高查询效率;缓存池用于存储查询结果和表空间等数据对象,提高查询响应速度;锁管理器则负责管理并发访问,防止数据冲突,保证数据库的一致性和稳定性。

四、视图层Oracle数据库的视图层提供了多种视图和接口,包括SQL*Plus、SQL Developer、Toad等。

其中,SQL*Plus是Oracle自带的命令行工具,提供简单的SQL语句执行和结果输出;SQL Developer是Oracle 提供的图形化界面工具,提供更为便捷的数据库管理和开发支持;Toad则是第三方软件,提供了更为强大和灵活的数据库管理和开发支持。

五、总结Oracle数据库作为目前世界领先的企业级关系数据库管理系统,其体系结构设计合理,层次清晰,提供了完备的物理、逻辑和视图三层管理机制,为企业级应用系统提供了高效、可靠、稳定的运行环境和数据服务。

Oracle数据库体系结构(详细版)

Oracle数据库体系结构(详细版)

Oracle体系结构Oracle核心竞争力可扩充性:Oracle系统有能力承担增长的工作符合,并且相应的扩充系统资源利用情况。

可靠性:无论出现系统资源崩溃,电源断电还是系统故障的时候,我们都可以对Oracle进行配置。

以保证检索用户数据事务处理的时候,不受到影响。

可管理性:数据库管理员可以微调Oracle使用内存的方式,以及Oracle向磁盘写入数据的频率。

并且管理可以调整,数据库为连接到数据库的用户分配操作系统进程的方式。

Oracle总体结构分为三个部分第一部分:系统全局区(SGA)第二部分:程序全局区和后台进程第三部分:Oracle的文件如果从功能上划分的话:存储结构:由这些文件就构成了Oracle的物理存储结构。

内存结构:使用内存最多的是SGA,也是影响数据库系统性能最大的一个参数。

进程结构:前台进程服务进程和用户进程,是根据实际需要而运行的,并在需要结束后立刻结束。

后台进程是指Oracle数据库启动后自动启动的几个操作系统进程。

存储结构包括物理结构和逻辑结构,既独立又相互联系的。

物理结构:是和操作系统平台有关的。

逻辑结构:逻辑存储结构是和操作系统平台无关的。

_______________________________________________________________________________这个图是两种存储结构中的对应关系表空间包括系统表空间和用户表空间。

表空间也是最大的逻辑单位。

块是最小的一个逻辑单位。

逻辑结构的表空间对应着物理结构的数据文件,也就是创建表空间的时候要给它指定数据文件,但是一个表空间可以对应多个数据文件。

表空间的大小也就是他包含的数据文件大小的总和。

数据文件呢同时又对应着操作系统中的数据块,数据文件也是以数据块的形式,存在于操作系统中。

逻辑结构中的块也对应着操作系统的数据块。

——————————————————————————————————————— 物理存储结构Oracle的物理存储结构,也就是Oracle的数据库文件数据库文件又分为主要文件和其他文件主要文件:首先来看数据文件:就是物理存储Oracle数据库数据的文件有一下特点:◆每一个数据文件,只与一个数据库相关联。

oracle数据库体系结构

oracle数据库体系结构
3
实践目标
04/2014
第 3章
Oracle 数据库的体系结构
第三章 Oracle 体系结构
教学难点
教学重点
1、基本概念 2、数据库实例的组成 3、实例的后台进程的作用
1、基本概念 2、表空间与数据文件的 关系
04/2014
4
第 3章
Oracle 数据库的体系结构
听课思路
1 定义 、组成、 原理 2、为什么这么设计,体现Oracle9i 10g的哪些特性? 3、实际工作中如何运用?
数据字典是Oracle数据库的核心组件, 它是对用户来说为只读类型的表和视 图组成。在其中保存着关于数据库系 统本身以及其中存储的所有对象的基 本信息。数据库依赖这些信息管理数 11 据库。
第 3章
Oracle 数据库的体系结构
定义
2
日志文件
注 意
定义:日志文件(又称重做日志文件),用于记录数据库 所做的全部变更(如增加、删除、修改),以便在系统发 生故障时,用它对数据库进行恢复。。
2、 oracle的逻辑存储结构能够使用于不同 的操作系统和硬件平台,而不需要考虑物理实现方式
04/2014
9
第 3章
Oracle 数据库的体系结构
3.2 Oracle数据库物理存储结构
1 数据文件 .DBF
2 3
一个Oracle数据库:从 操作系统来看主要由三种 重做日志文件 .LOG 类型文件组成(数据文件、 控制文件 .CTL 日志文件、控制文件)
SQL>desc v$controlfile; SQL>select name from v$controlfile;
查询
OEM 方法; 实04/2014 备份与恢复,启动数据库找到需要的数据文 件和日志文件等。 际

Oracle的体系结构

Oracle的体系结构
当一个段中的所有空间被使用完后,系统将自动 为该段分配一个新的盘区。
2.逻辑存储结构
2.3段
段是由一系列盘区组成,它也不再是存储空间的 分配单位,而是一个独立的逻辑存储结构。
对于具有独立存储结构的对象,它的数据全部存 储在保存它的段中。一个段只属于一个特定的数 据库对象,每当创建一个具有独立段的数据库对 象时,Oracle将为它创建一个段。
(1). SYSTEM表空间(SYSAUX表空间加以辅 助),用于存储:
数据字典、内部系统表基表 PL/SQL程序的源代码和解析代码 数据库对象的定义
2.逻辑存储结构
2.4表空间
(2). 撤销表空间,专门用来在自动撤销 管理方式下存储撤销信息,即回退信息。
(3).临时表空间。在实例运行过程中, Oracle使用一些临时空间来保存SQL语句执 行过程中所产生的临时数据。
4.实例的内存结构
Oracle的2个主要的内存结构
系统全局区(System Global Area,SGA) 程序全局区(Program Global Area,PGA)
4.实例的内存结构
4.1系统全局区SGA
位于系统的共享内存段中,SGA区中的数据可以被所有的 服务和后台进程共享。
如果多个用户连接到同一个数据库实例,则实例的SGA区 中的数据可被多个用户共享。在数据库实例启动时,SGA 的内存被自动分配;当数据库实例关闭时,SGA被回收。
段 段
数据库的逻辑存储组成
2.逻辑存储结构
2.1数据块(Data Blocks)
数据块是Oracle用来管理存储空间的最小单元, 也是执行数据库输入输出操作时的最小单位。
SQL> select name,value from V$parameter where name='db_block_size';

第3章OracleDatabase的体系结构

第3章OracleDatabase的体系结构
3.1 存储结构
Oracle数据库的存储结构分为物理存储结构和逻辑存储结构, 这两种存储结构既相互独立又相互联系(如图3-1所示)。对 于DBA而言,必须对这两种存储结构有清晰的理解,并且要清 楚在一个具体数据库应用系统中,这两种存储结构的具体对应 关系,否则就不能进行正常的管理操作、数据库备份与恢复、 性能优化等。本节重点介绍上述两种存储结构。
撤销表空间(UNDO Tablespace)用于事务的回滚和撤销的表空间。 每个数据库可以包含多个UNDO表空间,在自动撤销管理模式中,每 个Oracle实例都指定了一个(且只有一个)UNDO表空间。撤销的数 据在UNDO表空间中使用UNDO区间来管理,UNDO区间由Oracle自 动创建并维护。
在Oracle中,可以将对数据库的添加、修改和删除等操作定义在 事务中。事务中的数据库操作是可以撤销的,当事务中的数据库操作 运行时,此事务将绑定在当前UNDO表空间的一个UNDO区间上。事 务中对数据库的改变被保存在UNDO表空间中,当执行回滚操作时, 可以根据此内容恢复数据。
文件在实例和数据库之间建立对应关系的。控制文件中记录了下列信息类型:
数据库名称
数据库数据文件和日志文件的名称和位置
数据库建立日期
表空间信息
数据文件脱机范围
日志历史
归档日志信息
备份组和备份块信息
备份数据文件和重做日志信息
数据文件拷贝信息
当前日志序列数
检查点信息(CHECKPOINT)
5
在数据库运行的过程中,对数据库结构所作的任何修改 都将记录在控制文件中。所以,只要数据库是打开状态的, 控制文件就必须处于可写状态。如果,由于某些原因控制文 件不能被访问,那么数据库也就不能正常工作了。在一个数 据库中至少需要一个控制文件,Oracle建议至少创建两个控 制文件,并将它们分别存储在两个磁盘上,这两个文件互相 镜像,如果一个文件损坏,数据库服务器可以使用另外一个 文件。在正常情况下,这两个文件的内容是完全一样的,数 据库服务器只需要从其中一个文件中读取信息,但是对数据 库结构所做的任何修改都必须同时写入两个控制文件。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据高速缓冲区
• 功能
– 存储从数据文件中检索出来的数据拷贝。应用 程序要访问的数据必须从磁盘的数据文件读到 数据缓冲区中处理。 – 在数据缓冲区中被修改后的数据由数据写入进 程写到硬盘的数据文件中永久保存。 – 提高获取和更新数据的性能。
• 数据高速缓冲区的工作过程
• 缓冲块的类型
– 脏缓存块(Dirty Buffers):脏缓存块中保存 的是已经被修改过的数据。 – 空闲缓存块(Free Buffers):空闲缓存块中不 包含任何数据,它们等待后台进程或服务器进 程向其中写入数据。 – 命中缓存块(Pinned Buffers):命中缓存块是 那些正被使用的数据块,同时还有很多会话等 待修改或访问的数据块。 – 干净缓存块(Clean Buffers):干净缓存块是 指那些当前没有被使用,即将被换出内存的缓 存块。
告警文件
• 告警文件也是数据库中重要的诊断文件, 记录数据库在启动、关闭和运行期间后台 进程的活动情况。 • 在数据库出现故障时,应首先查看该文件, 但文件中的信息与任何错误状态没有必然 的联系。
3.2.3逻辑存储结构的构成与关系
• • • • Oracle数据块 区 段 表空间
• Oracle数据库的逻辑存储结构分为Oracle数 据块(Oracle Data Block)、区(Extent)、 段(Segment)和表空间(Table space)。

• 段是由一个或多个连续或不连续的区组成 的逻辑存储单元。 • 段分类
– 表段 – 索引段 – 临时段 – 回退段
• • • •
利用回退段中保存的回退信息,可以实现 事务回滚 数据库恢复 数据的读一致性 闪回查询
表空间
• 表空间是Oracle数据库最大的逻辑存储单元, 数据库的大小从逻辑上看就是由表空间决 定 • 表空间与数据库文件直接关联,一个表空 间包含一个或多个数据文件,一个数据文 件只能从属于某一个表空间,数据库对象 就是存储在表空间对应的一个或多个数据 文件中
3.2 Oracle数据库存储结构
• 存储结构概述 • 物理存储结构概述 • 逻辑存储结构概述
3.2.1存储结构概述
• 一个数据库在物理上包含多个数据文件, 在逻辑上包含多个表空间。
• 一个表空间包含一个或多个数据文件,一 个数据文件只能从属于某个表空间。 • 数据库的逻辑块由一个或多个操作系统块 构成。 • 一个逻辑区只能从属于某一个数据文件, 而一个数据文件可包含一个或多个逻辑区。
控制文件
• 控制文件是记录数据库结构信息的重要的 二进制文件,由Oracle系统进行读写操作, DBA不能直接操作控制文件。 • 数据库启动时,根据初始化参数文件中的 CONTROL_FILES参数找到控制文件,然后根 据控制文件中的信息,进行数据库数据文 件和重做日志文件的加载,最后打开数据 库。 • 一个数据库至少需要一个控制文件,如果 控制文件损坏将导致数据库无法启动。
大型池
• 功能
– 大型池是一个可选的内存配置项,主要为 Oracle多线程服务器、服务器I/O进程、数据库 备份与恢复操作、执行具有大量排序操作的 SQL语句、执行并行化的数据库操作等需要大 量缓存的操作提供内存空间。如果没有在SGA 区中创建大型池,上述操作所需要的缓存空间 将在共享池或PGA中分配,因而影响共享池或 PGA的使用效率。
• 重做日志缓冲区的工作过程
• 重做日志缓冲区的大小
– LOG_BUFFER – 较大的重做日志缓冲区,可以减少对重做日志 文件写的次数,适合长时间运行的、产生大量 重做记录的事务。
共享池
• 功能
– 共享池用于缓存最近执行过的SQL语句、PL/SQL 程序和数据字典信息,是对SQL语句、PL/SQL程 序进行语法分析、编译、执行的区域。
表空间分类: • 系统表空间 • 非系统表空间
– 撤销表空间 – 临时表空间 – 用户表空间
3.3 Oracle数据库内存结构
• Oracle内存结构概述 • SGA • PGA
3.3.1Oracle内存结构概述
• 用户的所有操作都在内存中进行,最后由 数据库后台进程将操作结果写入各种物理 文件中永久性保存。 • 内存结构类型:
• 缓存块的管理
– 脏缓存块列表:包含那些已经被修改但还没有 写入数据文件的脏缓存块。 – LRU列表(Least Recently Used):包含所有的 空闲缓存块、命中缓存块和那些还没有来得及 移入到脏缓存块列表中的脏缓存块。在该列表 中,最近被访问的缓存块被移动到列表的头部, 而其他缓存块向列表尾部移动,最近最少被访 问的缓存块最先被移出LRU列表,从而保证最 频繁使用的缓存块始终保存在内存中。
第3章 Oracle数据库系统结构
主要内容
• • • • Oracle数据库系统结构概述 Oracle数据库存储结构 Oracle数据库内存结构 Oracle数据库后台进程
3.1 Oracle数据库系统结构概述
• Oracle数据库的存储结构(Storage Structure) 分为物理存储结构和逻辑存储结构两种, 分别描述了在操作系统中和数据库系统内 部数据的组织与管理方式。。 • Oracle数据库的软件结构,即Oracle实例 (Instance),包括内存结构与后台进程结 构两个部分。
初始化参数文件
• 初始化参数文件是数据库启动过程所必需 的文件,记录了数据库显式参数的设置。
• 数据库启动的第一步就是根据初始化参数 文件中的设置,创建并启动实例,即分配 内存空间、启动后台进程。
跟踪文件
• 跟踪文件是数据库中重要的诊断文件
• 跟踪文件中包含数据库系统运行过程中所 发生的重大事件的有关信息,可以为数据 库运行故障的解决提供重要信息。
– DB_CACHE_SIZE(标准块)
重做日志缓冲区
• 功能
– 重做日志缓冲区用于缓存用户对数据库进行修 改操作时生成的重做记录。 – 为了提高工作效率,重做记录并不是直接写入 重做日志文件中,而是首先被服务器进程写入 重做日志缓冲区中,在一定条件下,再由日志 写入进程(LGWR)把重做日志缓冲区的内容写 入重做日志文件中做永久性保存。在归档模式 下,当重做日志切换时,由归档进程(ARCH) 将重做日志文件的内容写入归档文件中
DBWR(数据库写入进程)
• 把数据高速缓冲区中已经被修改过的数据 (脏缓存块)成批写入数据文件中永久保 存,同时使数据高速缓冲区有更多的空闲 缓存块,保证服务器进程将所需要的数据 从数据文件中读取到数据高速缓冲区中, 提高缓存命中率。
重做日志文件
• 重做日志文件是以重做记录的形式记录、 保存用户对数据库所进行的变更操作,是 数据库中最重要的物理文件。 • 利用重做日志文件可以进行事务的重做 (REDO)或回退(UNDO),是数据库实例 恢复的基础。
归档重做日志文件
• 归档重做日志文件是历史联机重做日志文 件的集合,是联机重做日志文件被覆盖之 前备份的副本。 • 如果数据库工作在归档模式,数据库归档 进程会自动将写满的重做日志文件在覆盖 之前复制到指定的位置。归档重做日志文 件是数据库出现介质故障后实现数据库完 全恢复的必要条件
• 组成
– 库缓存
• 库缓存用于缓存已经解释并执行过的SQL语句和PL/SQL程 序代码,以提高SQL或PL/SQL程序的执行效率。 • 包括SQL工作区和PL/SQL工作区
– 数据字典缓存区
• 数据字典缓存区保存最常用的数据字典信息
• 共享池大小
– SHARED_POOL_SIZE – 合适的共享池大小,可使编译过的程序代码长驻 内存,大大降低重复执行相同的SQL语句、 PL/SQL程序的系统开销,从而提高数据库的性能。
3.4 Oracle数据库后台进程
• Oracle进程概述 • Oracle服务器进程 • Oracle后台进程
3.4.1 Oracle进程概述
• 进程的概念
– 进程是操作系统中一个独立的可以调度的活动,用 于完成指定的任务。进程与程序的区别在于: – 进程是动态的概念,即动态创建,完成任务后立即 消亡;而程序是一个静态实体。 – 进程强调执行过程,而程序仅仅是指令的有序集合。
• 进程的类型
– 用户进程 – 服务器进程 – 后台进程
3.4.2Oracle后台进程
• • • • • • • • • DBWR 数据库写入进程 LGWR 日志写入进程 CKPT 检查点进程 SMON 系统监控进程 PMON 进程监控进程 ARCH 归档进程 恢复进程(RECO)2 物理存储结构概述
• • • • • • • 数据文件 控制文件 重做日志文件 归档重做日志文件 初始化参数文件 跟踪文件 告警文件
数据文件
• 数据文件是数据库中所有数据的实际存储 空间,所有数据文件大小的和构成了数据 库的大小。 • 根据数据信息类型不同,数据文件分为永 久性数据文件和临时数据文件两种。
流池
• 功能
– 流池是一个可选的内存配置项,用于对流的支 持。
• 流池大小
– STREAMS_POOL_SIZE
3.3.3PGA
• PGA是一个私有的内存区,不能共享,每个 服务器进程只能访问自己的PGA,因此PGA 又称为私有全局区(Private Global Area)。 • 系统同时为每个后台进程分配私有的PGA区。 所有服务器进程PGA与所有后台进程PGA大 小的和,即为实例的PGA的大小。 • PGA随着服务器进程与后台进程的启动而分 配,随着服务器进程和后台进程的终止而 被释放。
• SGA构成
– 数据高速缓冲区(Database Buffer Cache) – 共享池(Shared Pool) – 重做日志缓冲区(Redo Log Cache) – 大型池(Large Pool) – Java池(Java Pool) – 流池(Streams Pool) – 其它结构(如固定SGA、锁管理等)
相关文档
最新文档