第三章 ORACLE数据库结构1009

合集下载

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

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

Oracle数据库体系结构详解资料

Oracle数据库体系结构详解资料

Oracle体系结构就是围绕这张图展开的,要想深入了解oracle,就必须把这张图搞明白。

如图:一、基本组成:Oracle server:一般情况下是一个instance和一个database组成1个instance只能对应一个数据库。

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

利用DBCA建出的每个库都是相对独立的,在同一服务器上如果创建多库必须将环境变量的参数文件做区分,并且在对实例切换时需如下操作:connect 用户名/密码@实例的服务名Oracle Instance:是由内存(SGA)和后台进程(backupground Process)组成通过instance来访问database一个实例只能打开一个数据库Oracle database:数据文件(Data files):数据文件永远存储数据库的数据,包括数据字典、用户数据(表、索引、簇)、undo数据等重做日志(Redo log):“先记后写”重做日志用于记录数据库的变化,当进行例程恢复或介质恢复时需要使用重做日志执行DDL或DML操作时,事物变化会被写到重做日志缓冲区,而在特定的时刻LGWR会将重做日志缓冲区中的内容写入重做日志。

控制文件(Control file)控制文件用于记录和维护数据库的物理结构,并且每个Oracle数据库至少要包含一个控制文件。

归档日志(Archive log):是非活动(Inactive)重做日志的备份。

口令文件(Password file):用于验证特权用户(具有SYSDBA、SYSOPER权限的特殊数据库用户)参数文件(Parameter file):用于定义启动实例所需要的初始化参数,包括文本参数文件(pfile)和服务器参数文件(spfile)User and Server process :在执行sql语句时产生的进程,每一个连接,oracle server创建一个session,产生一个server process,在client发起一个connection时就产生了一个user process。

Oracle数据库系统结构

Oracle数据库系统结构

Oracle数据库系统结构Oracle数据库系统结构有数据库结构和物理存储结构组成。

数据库:实例●SGA数据高速缓冲区、日志缓冲区、共享池、大型池、Java池、流池、其它●后台进程SMON、PMON、DBWR、CKPT、LGWR、ARCH、其它数据文件、控制文件、重做日志文件、归档文件Oracle数据库的存储结构包括物理存储结构和逻辑存储结构物理存储结构主要描述Oracle数据库外部的存储,即在操作系统中如何组织和管理数据,与具体的操作系统有关。

逻辑存储结构主要描述Oracle数据库内部数据的组织和管理,与操作系统没有关系。

物理存储结构是逻辑存储结构在物理上的、可见的、可操作的、具体的体现形式。

Oracle数据库物理存储结构数据库包括:数据文件、控制文件、重做日志文件、归档文件、初始化参数文件、跟踪文件、口令文件、警告文件、备份文件、其他文件数据文件:用于存储数据库中的所有数据控制文件:用于记录和存储数据库的物理存储结构信息重做日志文件:用于记录外部程序多数据库的改变操作归档文件:用于保存已经写满的重做日志文件初始化参数文件:用于设置数据库启时的参数初始值跟踪文件:用于记录用户进程、数据库后台进程等的运行情况口令文件:用于保存具有SYSDBA、SYSOPER权限的用户名和SYS用户口令警告文件:用于记录数据库的重要活动以及发生的错误备份文件:用于存放数据库备份所产生的文件数据文件及管理数据文件的内容用于保存数据库中所有数据的文件临时数据文件是一种特殊的数据文件,起存储内容是临时性的,在一定条件下自动释放 Oracle数据库中的每个数据文件都具有两个文件号,称为绝对文件号和相对文件号,用于唯一的确定一个数据文件,其中绝对文件号用于在数据库范围内唯一标志一个数据文件;相对文件号用于在表空间范围内唯一标识一个数据文件数据文件与表空间的关系一个表空间可以包含几个数据文件一个数据文件只能从属于一个表空间数据文件的管理策略由于对数据库的操作最终转换为对数据文件的操作,因此在数据库运行过程中对数据文件频繁的读写操作,为了提高I/O效率,应该合理的分配数据文件的存贮位置把不同存储内容的数据文件放在不同的磁盘上,可以并行访问数据,提高系统读写的效率初始化参数文件,控制文件,重做日志文件做好不要与数据文件存放在同一个磁盘上,以免数据库发生介质故障是,无法恢复数据库数据文件的管理创建数据文件修改数据文件的大小改变数据文件的可用性改变数据文件的名称和位置删除数据文件查询数据文件的信息利用OEM管理数据文件创建数据文件数据文件依存于表空间而存在,创建数据文件就是像表空间添加数据文件在创建数据文件时应该根据数据文件的大小确定文件的大小以及文件的增长方式语法:●ALTER TABLESPACE …… ADD DATAFILE●ALTER TABLESPACE …… ADD TEMPFILE向ORCL数据库的USERS表空间里添加一个大小为10MB的数据文件ALTER TABLESPACE USERS ADD DATAFILE ‘…./USER02.DBF’ SIZE 10MB;想ORCL数据库的TEMP表空间中添加一个大小为5MB的临时数据文件ALTER TABLESPACE TEMP ADD ‘……/TEMP01.DBF’ SIZE 5MB;修改数据文件大小修改数据文件大小●设置数据文件为自动增长方式●手工改变数据文件大小设置数据文件为自动增长方式●创建时设置数据文件为自动增长●创建后修改数据文件为自动增长方式AUTO EXTEND ON NEXT *** MAXSIZE|UNLIMITED手工改变数据文件大小ALTER DATABASE DATAFILE ‘******’ RESIZE ;为ORCL数据库的USERS表空间添加一个自动增长的数据文件ALTER TABLESPACE USERS ADD DATAFILE ‘********/***.DBF’ SIZE 10MB AUTOEXTEND ON NEXT 512 K MAXSIZE 50MB;修改ORCL数据库USERS表空间的数据文件ALTER DATABASE DATAFILE ‘******.DBF’ AUTOEXTEND ON NEXT 512K MAXSIZE UNLIMITED; 取消ORCL数据库USERS表空间数据文件的自动增长方式ALTER DATABASE DATAFILE ‘******.DBF’ AUTOEXTEND OFF;将ORCL数据库USERS表空的数据文件大小设置8MBALTER DATABASE DATAFILE ‘******.DBF’ RESIZE 8MB;改变数据文件的可用性可以通过将数据文件联机或者脱机来改变数据文件的可用性在下面几种情况下需要改变数据文件的可用性●要进行数据文件的脱机备份时,需要先将数据文件脱机●需要重命名数据文件或者该百年数据文件的位置时,需要先将数据文件脱机●如果Oracle在写入某个数据文件时发生错误,会自动将数据文件设置为脱机状态,并且记录在告警文件中。

数据库体系结构

数据库体系结构

逻辑结构
N 表空间
1 N 表
Oracle数据库
1
1
1
N
物理结构
N 物理文件
1
数据段
索引段
数据区间 数据块
索引区间 数据块 1
N
N
物理块
逻辑结构与物理结构的关系
ORACLE数据库逻辑结构___表空间
表空间:ORACLE的文件夹。
一个表空间是数据库中的一个存储分区或逻辑存储区域。Oracle 使用表空间组织数据库,表空间相当于操作系统中的文件夹。每个数 据库至少有一个表空间,表空间是为了便于管理及提高运行效率。
缓冲区的大小由init.ora中的LOG_BUFFERS参数 决定。
ORACLE数据库系统结构
※ SQL共享池 SQL共享池包含两个子区:游标区和数据字典缓冲区。
该缓冲区越大,系统速度就越快。 游标区,存储分析翻译后的SQL语句。以便再次执行同样
的SQL语句时不必再进行语法分析翻译,加快SQL语句的执 行速度。
ORACLE数据库系统结构
1.系统全局区SGA(System Global Area)
SGA是ORACLE的共享内存,所有的用户进程和服务 器进程都可以访问这个内存区域,是ORACLE系统管理的 重要区域,也是所有通信的中心。SGA的在ORACLE中的 位置如下图:
用户1 用户2
…...
用户n
系统全局区(SGA)
表空间是数据库中空间的集合,它分为以下类型: • 系统表空间 • 临时表空间 • 工具表空间 • 用户表空间 • 数据及索引表空间 • 回滚表空间
ORACLE数据库逻辑结构___表空间(续)
任何数据库至少有一个表空间(称为SYSTEM表空间)它在建立数 据库时自动建立。其它表空间必须用CREATE TABLESPACE命令建立, 或使用ALTER TABLESPACE修改已经存在的表空间。

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数据库体系结构
(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

Oracle 结构及结构图

Oracle 结构及结构图

Oracle 结构图Oracle数据库由两个实体组成(1)实例(2)数据库实例实例由存储结构和进程组成,短暂存在于RAM和CPU;因此实例的生存时间其在内存的时间,我们可以启动和停止实例。

一个Oracle实例由一块被称为系统全局区SGA的共享内存以及若干进程组成。

系统全局区(SGA):在实例启动时分配,是Oracle实例的基本组件SGA也称作共享全局区,用于存储数据库进程共享的数据库信息。

它包含有关Oracle服务器的数据和控制信息,在Oracle服务器所在计算机的虚拟内存中分配。

程序全局区(PGA):在服务器进程启动时分配,并在终止进程时回收它包含有关单个服务器进程或单个后台进程的数据和控制信息内存结构(其SGA中三个必备元素):共享池(shared pool):用于存储①最近执行的SQL语句②最近使用的数据定义数据库高速缓冲(Data buffer cache):存储已从数据文件中检索到的数据块的副本重做日志缓冲区(Redo buffer cache):记录对数据库数据块所做的全部更改,主要用于恢复还有可选的是:流池(Streams pool):用于缓存流进程在数据库间移动/复制数据时使用的队列消息大池(Large pool):用于①共享服务器的会话内存②I/O服务器进程③备份和恢复操作或RMAN④并行执行消息缓冲区Java池(Java pool):存储Java命令的服务分析要求后台进程数据写进程(DBWn):负责将更改的数据从数据库缓冲区高速缓存写入数据文件日志写进程(LGWR):将重做日志文件缓冲区的更改写入在线重做日志文件系统监控进程(SMON):检查数据库的一致性,如有必要还会在数据库打开启动时数据库的恢复进程监控进程(PMON):负责在一个oracle进程失败时清理资源检查点进程(CKPT):负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库信息归档进程:在每次日志切换时把已满的日志组进行备份和归档服务进程:用户进程服务用户进程(不属于后台进程):在客户端,负责将用户的SQL语句传递给服务进程组成,并从服务器端拿回查询数据用户连接到Oracle实例包括:(1)建立用户连接(2)创建会话连接是用户进程和Oracle服务器之间的通信路径会话是用户与Oracle服务器的一种特定连接数据库数据库分为物理结构和逻辑结构。

Oracle数据库体系结构

Oracle数据库体系结构

1-6
Copyright © Bosenrui, 2014. All rights reserved.
存储结构
数据库结构 内存 进程 > 存储
控制文件
数据文件
联机重做日志文件
参数文件
备份文件
归档日志文件
口令文件
预警和跟踪日志文件
1-7
Copyright © Bosenrui, 2014. All rights reserved.
Oracle 数据库体系结构
Oracle 服务器: • 是一个数据库管理系统,它提供开放、全面、集成 的方法进行信息管理 • 由 Oracle 实例和 Oracle 数据库组成
1-3
Copyright © Bosenrui, 2014. All rights reserved.
数据库结构
数据库结构 - 内存 - 进程 - 存储
Oracle 数据库整体架构
SGA 共享池 Streams 池 大型池
Java 池
数据库 缓冲区高速缓存
重做日志缓冲区
系统 监视器 (SMON)
进程 监视器 (PMON)
数据库 写进程 (DBWn)
日志写进程 (LGWR)
归档日志 文件
检查点 (CKPT)
控制文件 数据文件 重做日志 文件
归档进程 (ARCn)
Java 池
数据库 缓冲区高速缓存
重做日志缓冲区
1-5
Copyright © Bosenrui, 2014. All rights reserved.
进程结构
数据库结构 内存 > 进程 存储
PGA
实例 SGA
用户进程
服务器 进程

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数据库体系结构图

画出Oracle的体系结构图,并解释箭头得到含义,写在纸上。

SGA 是包含实例的数据和控制信息的内存区。

SGA 包含以下数据结构:数据库缓冲区高速缓存:用于缓存从数据库中检索到的数据块,数据库缓冲区高速缓存是SGA 的一部分,用于存放从数据文件读取的数据块的副本。

并行连接到实例的所有用户共享对数据库缓冲区高速缓存的访问。

重做日志缓冲区:用来缓存用于实例恢复的重做信息,直到可以将其写入磁盘中存储的物理重做日志文件。

重做日志缓冲区是SGA 中的循环缓冲区,用于存放有关对数据库所做更改的信息。

此信息存储在重做条目中。

共享池:用于缓存可在用户间共享的各种结构,SGA 的共享池部分包含库高速缓存、数据字典高速缓存、SQL 查询结果高速缓存、PL/SQL 函数结果高速缓存、并行执行消息的缓冲区以及控制结构。

大型池:为某些大型进程(例如Oracle 备份和恢复操作)和I/O 服务器进程提供大型内存分配的可选区域。

Java 池:用于Java 虚拟机(JVM) 中特定于会话的所有Java 代码和数据流池:Oracle Streams 使用它来存储捕获和应用操作所需的信息程序全局区(PGA) 是一个内存区,其中包含每个服务器进程的数据及控制信息①系统监视进程SMON->系统全局区SGA (System Global Area)恢复实例或者释放空间;②PMON进程->系统全局区SGA监视进程,恢复强制挂掉的进程或者释放空间;③RECO进程->系统全局区SGA负责在分布式数据库环境中自动恢复那些失败的分布式事务,保证分布式事务的一致性,在分布式事务中,要么同时commit,要么同时rollback;④其他->系统全局区SGA⑤数据库缓冲区高速缓存(db buffer cache)->数据库写进程(DBWn)用于存放从数据文件读取的数据块的副本,;缓存数据⑥数据库写进程(DBWn)->数据文件缓冲数据写到数据文件;⑦数据库写进程(DBWn)->重做日志缓冲区(log buffer)用户进程每次修改内存数据块时,都会在日志缓冲区(redo buffer)中构造一个相应的重做条目(redo entry),该重做条目描述了被修改的数据块在修改之前和修改之后的值;⑧检查点进程(CKPT) ->数据文件(datefile)CKPT快速的确定哪些脏数据块已经被写入了数据文件,而哪些还没有写入数据文件,更新数据文件中的数据库状态信息,用来保证数据库中的数据一致性;⑨.检查点进程(CKPT) ->控制文件(controlfile)CKPT找出当前检查点队列上的第一个buffer header,并将该buffer header中所记录的LRBA(这个LRBA也就是checkpoint position了)记录到控制文件中,更新控制文件中的数据库状态信息,用来保证数据库中的数据一致性;CKPT用来协调DBWn和LGWR进程的工作,并更新控制文件和数据文件,来保证数据库中数据的一致性。

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';

Oracle数据库体系结构

Oracle数据库体系结构

Oracle体系结构详解(上)一、oracle数据库的整体架构由上图可知,oracle数据库由实例和数据库组成。

二、数据库存储结构:2.1数据库存储结构Oracle数据库有物理结构和逻辑结构。

数据库的物理结构是数据库中的操作系统文件的集合。

数据库的物理结构由数据文件、控制文件和重做日志文件组成。

数据文件:数据文件是数据的存储仓库。

联机重做日志文件:联机重做日志文件包含对数据库所做的更改记录,在发生故障时能够恢复数据。

重做日志按时间顺序存储应用于数据库的一连串的变更向量。

其中仅包含重建(重做)所有已完成工作的最少限度信息。

如果数据文件受损,则可以将这些变更向量应用于数据文件备份来重做工作,将它恢复到发生故障的那一刻前的状态。

重做日志文件包含联机重做日志文件(对于连续的数据库操作时必须的)和归档日志文件(对于数据库操作是可选的,但对于时间点恢复是必须的)。

查看系统的redo log的信息SQL> select group#,sequence#,bytes,members,status from v$log;GROUP# SEQUENCE# BYTES MEMBERS STATUS---------- ---------- ---------- ---------- ----------------1 22 52428800 1 INACTIVE2 23 52428800 1 CURRENT3 21 52428800 1 INACTIVESQL> select member from v$logfile;MEMBER/u01/app/oracle/oradata/hnzk/redo03.log/u01/app/oracle/oradata/hnzk/redo02.log/u01/app/oracle/oradata/hnzk/redo01.log控制文件:控制文件包含维护和验证数据库完整性的必要的信息。

第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建议至少创建两个控 制文件,并将它们分别存储在两个磁盘上,这两个文件互相 镜像,如果一个文件损坏,数据库服务器可以使用另外一个 文件。在正常情况下,这两个文件的内容是完全一样的,数 据库服务器只需要从其中一个文件中读取信息,但是对数据 库结构所做的任何修改都必须同时写入两个控制文件。

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 备份与恢复,启动数据库找到需要的数据文 件和日志文件等。 际
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2、重做日志文件(续)
日志文件中的信息在系统故障或介质故障时恢复 数据库时使用。任何丢失的数据在下一次数据库 打开时,ORACLE自动地应用日志文件中的信 息来恢复数据库的数据文件。

2、重做日志文件(续)

例:数据库创建时创建重做日志文件的命令:
CREATE DATABASE “ORCL” LOGFILE GROUP 1 „F:\oracle\ORADATA\ORCL\REDO01.LOG‟SIZE 100M, GROUP 2 „F:\oracle\ORADATA\ORCL\REDO02.LOG‟SIZE 100M;
Session
SQL> Select …
USER
User
服务器进程
Connection
3.1、物理结构(数据库文件)
构成数据库的操作系统文件,每一个ORACLE数 据库主要是由三种类型的文件组成(数据库文件): – 数据文件 – 重做日志文件 – 控制文件
Oracle Database
Parameter file Password file Data files Control files Redo log files Archived log files
1、数据文件


存放数据库所有数据的文件,包括逻辑数据库结 构的数据也物理地存储在数据库的数据文件中。 是数据库最基本、最主要的文件。 每一个ORACLE数据库有一个或多个物理的数 据文件。
1、数据文件(续)

数据文件分为二类: – 用户数据:应用程序使用的数据 – 系统数据:管理数据库本身和用户数据的数 据(包含DB对象的逻辑结 构数据)

密码文件

用于用户启动和关闭数据库实例. 判断用户的操作权限. 安装数据库后,系统默认的用户名和密码就存在 密码文件.
3.2、存储结构(内存结构)

用来存储应用程序数据、数据字典信息、 SQL、PL/SQL命令以及JAVA程序。 内部存储结构主要由两部分构成:
– 系统全局区(System
Oracle Server
Connecting to the Database
– –
Connection: Communication between a user process and an instance(通信途径:主机,C/S,B/S) Session: Specific connection of a user to an instance through a user process
1、数据文件(续)

ORACLE对象:用户与模式、表、索引、视图、 簇、序列、过程、函数、包、触发器、同义 词、权限、角色、段、范围、块、回滚段、列、 数据类型等。
1、数据文件(续)

数据文件有下列特征: – 一个数据文件仅与一个数据库联系。

一个表空间(数据库存储的逻辑单位) 由一个或多个数据文件组成。
参数文件
决定一个ORACLE实例(INSTANCE)的组成 和大小.如SGA中分配空间的参数、控制文件的 位置等 可以直接用编辑器查看的静态参数文件为PFILE, 动态的二进制文件为SPFILE PFILE 默认名为init_<oracle_sid>.ora SPFILE 默认名为spfile_<oracle_sid>.ora 使用PFILE启动数据库: SQL>SATARUP PFILE=„init_<oracle_sid>.ora‟
Server process 1 PGA Server process 2 PGA Background process PGA
Shared SQL area
Data Dictionary cache Other
SGA
Library cache
Redo log buffer Database buffer cache Java pool Streams pool
LGWR 1,4,7,… 联机重做日志 文件 #1
联机重做日志 文件 #2
2,5,8,…
3,6,9,… 联机重做日志 文件 #3
2、重做日志文件(续)


当前的日志序列号也存储在控制文件中以及所有数据文 件的头中。 在数据文件、控制文件和重做日志文件中,重做日志文 件的I/O操作最频繁。为了提高I/O性能,应将重做日志 分布到I/O操作相对较少、速度最快的磁盘设备上。 为了防止日志文件本身的故障,ORACLE希望镜象日 志,既将同一个日志组的不同日志成员尽可能地分布到 不同磁盘上,以防止磁盘损坏而导致所有日志成员丢失。
Redo log files
Archived log files
Database
主要概念: Oracle Instance
An Oracle instance: Always opens one and only one database Consists of memory and process structures
2、重做日志文件


记录对数据所作的修改(修改前、后的值),以便 故障时用于数据恢复。 数据库高速缓冲区的数据数据不是一变就写到 数据文件,而是由LGWR先将更改的数据写到重做 日志文件(日志先写),万一DBWR写数据文件前宕 机,通过重做日志文件恢复这部分数据。 重做日志文件记录了数据库高速缓存中的所有数 据。
3、控制文件(续)


控制文件应在不同的磁盘上存储多个备份,以减 少磁盘失败的危险,在一个数据库中,最少要包 括两个控制文件。 如果某个数据库的所有控制文件都被破坏了,那 么该数据库就不能使用了。 控制文件只能由Oracle服务器来操作,任何用户 都不能直接编辑控制文件的内容。只有oracle进 程才能更新其内容。
第三章 Oracle数据库结构
总述

Oracle数据库
——处理数据文件的若干程序。
Oracle数据库的结构
包括物理结构(文件结构)、存储结构(内存 结构)、进程结构和逻辑结构。
Overview of Primary Components
User process
Instance
Shared pool Library cache
PMON SMON DBWR LGWR CKPT Others
Background structures
ORACLE 服务器
An Oracle Server Is a database management system that provides an open, comprehensive, integrated approach to information management Consists of an Oracle instance and an Oracle database
1、数据文件(续)

ห้องสมุดไป่ตู้
数据文件中的数据在需要时可以读取并存储在 ORACLE内存区中。 例如:用户要存取一个表中的某些数据, 如果请求的信息不在内存,则从相应的数据文件 中读取并存储在内存。 当修改和插入新数据时,不必立刻写入数 据文件(为了减少磁盘输出的总数,提高性能)。 ORACLE后台进程DBWR决定何时将其写入到 相应的数据文件。
Global Area,SGA) Allocated at instance startup – 程序全局区(Program Global Area,PGA) Allocated when the server process is started
Oracle Memory Architecture
数据库启动与控制文件关系
启动数据库---默认搜索到参数文件,打开参数文件-- 在参数文件中找到控制文件,打开控制文件--打开数据库 可以用V$parameter查看控制文件的位置 也可以用V$controlfile查看控制文件的名和目录 可以用V$controlfile_record_section查看控制文件的内 容。 SQL>col name format a50 SQL>select * from v$controlfile /
Oracle服务器使用联机重做日志文件组防止数据库中数据 的丢失。一个数据库至少有两个联机重做日志文件组,循 环使用。组中每一个日志成员都有相同的内容(自动同步 每个成员)。
日志组1 日志组2 日志组3
磁盘1 成员1 成员1 成员1
磁盘2 成员2 成员2 成员2
重做日志文件结构
当一个重做日志文件组写满,自动进行日志切换,同时为 该日志组设置一个日志序列号。

访问DB前必须启动ORACLE INSTANCE,分配内存并启 动后台进程.
Instance
Shared pool
Library cache Data Dictionary cache
SGA
Database Redo log buffer cache buffer cache
Memory structures
3、控制文件(续)
(3)编辑初始化参数control-file(在init.ora文件中), control_files=(“f:\oracle\oradata\orcl\control01.ctl”, “F:\oracle\oradata\orcl\control02.ctl”, “F:\oracle\oradata\orcl\control03.ctl”, “F:\orcl\ orcl \ control07.ctl”) (4)启动数据库 SQL>startup
2、重做日志文件(续)

可 以 通 过 数 据 字 典 中 的 视 图 V$LOG 和 V$LOGLFILE来查看日志文件信息:
相关文档
最新文档