oracle体系结构(详解)

合集下载

《ORACLE体系结构》PPT课件

《ORACLE体系结构》PPT课件

– 将表空间设置为脱机或 只读
– 删除或截断表
– 备份表空间
整理ppt
24
LOG Writer(LGWR)
LGWR在以下情况将缓 冲区中的数据写入磁盘:
– 事务提交 – 三分之一的redo日志缓
冲区已满
– Redo日志缓冲区中的内 容超过1M
– 每三秒钟 – 在DBWn写磁盘之前
整理ppt
25
System Monitor(SMON)
Redo Log Buffer Cache缓存对于数据块 的所有修改。
– 主要用于恢复 – 其中的每一项修改记录都被称为redo 条目。 – 利用Redo条目的信息可以重做修改。
整理ppt
15
Large Pool
Large Pool是SGA中一个可选的内存区域, 它只用于shared server环境。
information
SGA
Shared Server
Stack space
sort area, cursor information
SGA Session information
Shared SQL整A理repapt
Shared SQL Area
18
Program Global Area(PGA)
– ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;
整理ppt
11
Library Cache
Libray Cache缓存最近被执行的SQL和 PL/SQL的相关信息。
– 实现常用语句的共享 – 使用LRU算法进行管理 – 由以下两个结构构成:
• Shared SQL area • Shared PL/SQL area

Oracle体系结构

Oracle体系结构

牢记安全之责,善谋安全之策,力务 安全之 实。2020年10月15日 星期四9时51分 17秒T hursday, October 15, 2020
相信相信得力量。20.10.152020年10月 15日星 期四9时51分17秒20.10.15
谢谢大家!
文件中?
wanghailiang
15
树立质量法制观念、提高全员质量意 识。20.10.1520.10.15Thursday, October 15, 2020
人生得意须尽欢,莫使金樽空对月。09:51:1709:51:1709:5110/15/2020 9:51:17 AM
安全象只弓,不拉它就松,要想保安 全,常 把弓弦 绷。20.10.1509:51:1709:51Oc t-2015- Oct-20
作业标准记得牢,驾轻就熟除烦恼。2020年10月15日星期 四9时51分17秒 09:51:1715 October 2020
好的事情马上就会到来,一切都是最 好的安 排。上 午9时51分17秒 上午绩,梅开二度,业 绩保底 。20.10.1520.10.1509:5109:51:1709:51:17Oc t-20
2
Oracle实例
实例 SGA
后台进程
wanghailiang
3
Oracle数据库
参数文件
控制文件
口令文件
数据文件
重做日志 归档日志
数据库
wanghailiang
4
SELECT * FROM emp ORDER BY ename;
用户进程
处理查询
Statement Handle Handle
解析
相信相信得力量。20.10.152020年10月 15日星 期四9时51分17秒20.10.15

描述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实例=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数据库体系结构

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体系结构(共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值,确定文件 是否损坏、系统是否出现异常,最终确定系 统是否需要进行恢复。

第2讲 Oracle体系结构[28页]

第2讲 Oracle体系结构[28页]
或 SELECT * FROM V$LOG 三种文件存放路径:${ORACLE_HOME}\oradata\${SID}\
Kegully
Oracle的物理结构(一)
物理存储结构是现实的数据存储单元,主要由以下四个部 分组成:数据文件、控制文件、日志文件、其他文件 。 (4)参数文件(也叫配置文件)
❖ 可以将表空间看作为一个容纳数据库对象的容器,其中被 划分为一个一个独立的段。
❖ 表空间在物理上对应操作系统中的一个或多个数据文件。
Kegully
连线题
假如将数据库比作一个存放资料的柜子 列表1:数据库,表空间,数据文件,段,数据 列表2:文字,纸,抽屉,柜子,文件夹
• 如果将数据库比做一个存放资料的柜子,则柜子中的抽屉就是表空间,抽屉 中的文件夹就是数据文件,文件夹中的纸就是段,记录在纸上的文字就是数 据。
LGWR (Log Writer) 日志写入进程,将日志数据从日志缓冲区写 入磁盘日志文件组。必须进程。
SMON (System Monitor) 系统监控进程,在实例启动时执行实 例恢复,并负责清理不再使用的临时段。必须进程。
PMON (Process Monitor) 进程监控进程,在用户进程出现故障 时执行进程恢复,负责清理内存区和释放该进程所使用的资源。 必须进程。
Kegully
Oracle的进程结构
❖用户进程 ❖服务器进程 ❖后台进程
Kegully
后台进程 – Back process
❖ 为了提高系统性能,更好地实现多用户功能,Oracle在后 台启动一些后台进程,用于数据库的各种数据操作,主要 有:
DBWR (Database Writer) 数据写入进程,执行将缓冲区的内 容写入数据文件。必须进程。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在学习oracle中,体系结构是重中之重,掌握的越深入越好。

在实际工作遇到疑难问题,其实都可以归结到体系结构中来解释,所以我们根据下面的示图了解一下oracle体系结构。

1.Summarize
根据示图,便于我们记忆,示图分三部分组成,左侧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)概念的必备部分。

2.Client端
在Client端的作用是如何从客户端创建服务器进程与数据库进行交互的过程。

2.1 User process
用户运行一个应用程序时与Oracle数据库进程交互(例如:sql/plus)时,oracle创建一个用户进程来运行用户的应用程序。

2.2 Server process
Server Process是用来处理连接到实例的用户进程(User Process)提交的请求。

当应用程序与Oracle服务器运行在同一台机器上时,某些用户进程(User Process)可以与Server Process合并为同一个进程,即便减小系统开销。

从逻辑层面来讲,用户进程必须要通过一个Server Process来同Oracle进行通信的。

(只不过有些时候在同一台机器的时候,某些User Process和Server Process会合并罢了)2.3
PGA
PGA(ProgramGlobal Area)程序全局区,是用户进程连接到数据库并创建一个会话时,由Oracle服务器进程分配的专门用于当前用户会话的内存区,该区域是私有的。

为每个用户连接Oracle数据库保留的内存当进程创建时分配进程结束后被释放只能被一个进程使用参数:PGA_AGGREGATE_TARGET指定PGA的总共大小
3. Database
"3+3"结构,3个必要文件+3个可选文件。

3.1 Data files
内容:
1)用户数据:用户表、DML语句可调整;
2)数据字典数据:数据字典表记录DB结构、只读不可修改、DDL语句调整
3)真实看到的文件
作用:
读取数据
特点:
1)至少包含一个SYSTEM表空间、DDL语言
2)各种不同表空间数据字典信息
3)我的数据保存在表空间上,表空间是以多个数据文件的形式体现的。

3.2 Control files
内容:
1)DB基本信息:DBID
2)DB结构信息
3)最后一次同步的SCN信息
3.1)同步:内存区域database buffer cache的脏数据写出磁盘
3.2)SCN:(system change number),时间轴、生命线
4)当前日志序列号
5)RMAN备份信息
作用:
1)记录数据库基本信息
2)记录内存下一些信息
特点:
1)大小一般不变(固定部分、可变部分)
2)个数,一个即可,分类存放
3.3 Redo log files
内容:
按时间顺序记录着DB中的改变(redoentry条目),数据块改变就会生成redo 作用:
提供数据的可恢复性
特点:
1)大小不变
2)顺序写
3)容量有限,循环覆写
4)至少两组日志,日志成员冗余
5)提供恢复的手段
3.4 Parameter file
内容:
1)记录那些定制的DB参数
2)参数默认值
3)pfile:需要重启实例和spfile
作用:
定义数据库实例的属性
特点:
两种类型参数的特点
3.5 Password file
内容:
特权身份用户的口令
作用:
用于特权身份用户登录的验证
特点:
1)操作系统、密码认证方式登录数据库
2)特高、特权身份登录到数据库实例启动数据库,跳过了数据字典的验证3)O7:Oracle 7版本,启用普通身份登录
3.6 Archived logfiles
内容:
重做日志(redo log)历史
作用:
1)长期保存日志以便恢复
2)保证redo log不丢失
特点:
1)个数=当前日志数-1
2)大小<=在线日志文件大小
3)命名需要具有唯一性:序列号、RAC节点号
4)离线文件可通过操作系统命令管理
4. Instance
实例由存储结构和进程组成,并且只短暂存在于RAM和CPU中。

4.1 SGA
内存结构包括两个部分
1)系统全局(SGA):在实例启动时候分配,是Oracle实例的基础组件。

2)程序全局(PGA):当服务器进程生成分配。

4.1.1 Shared Pool
用于存储:
1)最近执行的SQL语句
2)最近使用的数据定义
由两个与性能相关的部分组成:
1)库缓存
2)数据字典缓存
由参数SHARED_POOL_SIZE决定大小
4.1.1.1 Library Cache
1.1)存储最近使用的SQL和PL/SQL语句的信息(软解析,缓存一次多次使用) 1.2)共享常用的语句
1.3)管理上遵循LRU规则
1.4)包括两个部分
1.4.1)共享SQL区
1.4.2)共享PL/SQL区
1.5)大小由Shared Pool的大小决定
4.1.1.2 Data Dictionary Cache
2.1)存储在数据库中最近使用的定义
2.2)包括数据文件、表、索引、列、用户、权限和其他的数据库对象
2.3)在分析阶段,服务器进程查找数据字典去验证对象的名字以及是否是合法访问 2.4)对于查询和DML语句,如果数据字典的信息在缓存中能够提高响应时间
2.5)大小由Shared Pool的大小决定
4.1.2 Database Buffer Cache
1)存储从数据文件中获得的数据块的镜像
2)当获取和更新数据的时候能够大幅度的提高性能
3)管理上遵循LRU规则
4)参数DB_BLOCK_SIZE其块的大小
5)包括以下独立的子缓存:
DB_CACHE_SIZE
DB_KEEP_CACHE_SIZE
DB_RECYCLE_CACHE_SIZE
6)能够动态的调整大小
4.1.3 Red o Log Buffer
1)记录所有数据库的块改变
2)主要的目的是用于恢复
3)大小由参数LOG_BUFFER(不可动态调整)决定
4.1.4 Large Pool
1)是系统全局区中可选的一个部分
2)用于:
2.1)RMAN备份恢复操作
2.2)I/0并行进程
2.3)共享服务器的会话内存(UGA),以减轻在共享池中的负担3)大小由参数LARGE_POOL_SIZE决定
4)能够被动态的改变大小。

相关文档
最新文档