Oracle的体系结构

Oracle   甲骨文




体系结构 物理结构 (database)
逻辑结构 
实例






物理结构:数据文件   每一个Oracle 数据库
有一个或多个数据文件
包括全部数据库的数据
逻辑结构(表,索引)的
物理地址存放在数据文件中
特征  一个数据文件只能与一个数据库连接


当你创建多个数据库的时候需要多个数据文件
数据文件一旦建立就不能改变其大小
数据文件操作过程中需要先被读到
Oracle内存中,在进行数据文件写入时
先在内存中修改,修改完成时一次性写入


重做日志文件  操作日志 存放对数据修改的记录(存放的是对数据所进行的操作)
每一个数据库有两个或多个日志文件
因为数据库故障导致无法对数据文件进行更新
可以通过日志文件进行恢复,避免数据丢失
Oracle数据库允许镜像日志,可以通过不同的磁盘
去维护多个日志副本


分为两类   联机日志文件  循环存放数据库改变的相应操作
  归档日志文件  就是 联机日志文件的一个备份
    避免在对联机日志文件进行重复读写的时候
丢失数据
    归档日志模式   NOARCHIVELOG 不进行归档(整理)
可以减小数据库备份中的开销
   ARCHIVELOG 归档日志 将之前的日志文件进行归档
 一个给定的日志文件,在它成功归档之前
 是不可使用的,正式因为归档日志文件和联机日志文件的互相维护,使得数据库的所有的信息得到保存


控制文件   记录了数据库物理 数据库的名字 建立的时间 (控制中枢)
存放的是关于数据库物理结构的内容 
数据库名
数据库创建日期
数据文件和日志文件的名字 存放的位置
允许备份 
每一次Oracle数据库的实例启动时,必须先打开控制文件,
当数据库的物理组成更改时,进行对数据库控制文件的更改
数据库进行数据恢复的时候,也要使用控制文件


(补充:)参数文件 数据库基本参数信息
控制文件路径 进程等
SPFILEsid.ora ORCL sid指的是数据库实例名



逻辑结构:表空间(tablespace)、段、区、块....


操纵系统中也有块 操作系统进行读写的最小单位
数据库中的块 数据库进行读写的最小单位  它所表示的要大于操作系统中的块的大小




是数据库中最小的存储单位 一个数据块占据一定的磁盘空间
在进行访问数据库数据的时候如果少于一个块的数据,也是取一个块的大小


数据块的格式  块头:存放基本信息 快的物理地址  所属的段的类型
   表目录:如果表的数据被存放在这个块中,表目录存放表的相关信息
   行目录:如果有行的数据存放在块中,行目录用来存放行的信息,地址
   行数据:真正存放表数据的地方
 空余空间:未使用的区域  用作对新行的插入或者对现有行的更新
___________________________________
块头 表目录  行目录 空余空间 行数据
-------------------------------------
_____________________
头部信息区 只能存放基本信息 不可用于存放数据


区  是由连续的数据块组成 一个数据区不能跨越多个文件


使用区的目的就是用来保存特定类型的数据,它是表中数据增长的基本单位
数据库在进行分配空间的时候是以数据区为单位




段  是由多个数据区组成 可以给数据库对象去分配一系列的数据


不需要连续的区,所以可以跨越多个文件


四种类型的段   数据段(表段)包含表数据


当创建表的时候 系统会自动创建一个数据段
索引段
当创建索引的时候 会创建索引段 命名同索引一致
临时段
它是有oracle数据库运行时自行创建的
执行sql语句需要临时工作区的时候创建
执行完毕后回收
回滚段 包含回滚信息(相当于撤销)roll back 是用来回滚事务的数据空间




表空间  逻辑上的概念 类似于操作系统的文件夹
数据文件的集合(多个数据文件放在一块) 每个数据库至少要有一个表空间
大小是由其所包含的数据文件的大小总和决定
表空间里存放就是数据库中的对象
物理结构向逻辑结构的映射

系统表空间 oracle数据库系统必备
  存放表空间的名字  表空间所包含的数据
SYSAUX表空间 是系统表空间的辅助,随着数据库的创建而创建
存放除数据字典以外的其他对象,帮助系统表空间存储数据
临时表空间 用于存放数据库使用中所产生的临时数据
可以建立多个  非永久性表空间
数据库关闭 临时表空间会被回收


撤销表空间 存放数据库中撤销的信息 回滚段就存放在这里


用户表空间 存放用户对象的数据




数据库实例(orcl)相当于数据库Server
代表访问数据库文件集的存储结构和进程的集合


一个数据库实例只能对应一个数据库
而一个数据库可以装载多个数据库实例
SGA 全局区域
是一组为系统分配的共享的内存结构
当多个用户访问一个数据库实例的时候,数据可以被共享
数据库启动,会自动分配内存 关闭回收
数据缓存区 存放对数据文件的操作,同时也用来存放从数据段中获取的数据块的信息,也叫数据块缓存区
日志缓存区 它是用来存放对日志信息的操作


被用户所共享
数据字典缓存区 数据字典是用来存放数据库对象
用来存放对数据字典的操作


数据库高速缓存区 (预编译的sql语句)用来存放数据库的信息
包含预编译的sql语句 sql语句
被用户所共享

















  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库体系结构主要由以下几部分组成: 1. 客户端:客户端是通过网络连接到数据库服务器的应用程序,它们向数据库发送SQL命令并接收查询结果。 2. 数据库实例:数据库实例是运行在服务器上的Oracle数据库进程及其内存结构的集合。它负责管理数据库的物理存储、内存分配、用户会话、并发控制、恢复和备份等操作。 3. 数据库数据库是由一组数据文件组成的物理存储结构,包含了所有数据和元数据,如表、索引、视图、存储过程、触发器等。 4. 存储结构Oracle数据库使用了一种称为表空间的物理存储结构,表空间由一组数据文件组成,每个数据文件可以存储一个或多个表空间的数据。表空间的数据通过数据文件进行存储和管理,数据文件是由操作系统的文件系统进行管理的。 5. 进程结构Oracle数据库的进程结构包括了多个进程,包括了数据库实例进程、用户进程、后台进程等。其数据库实例进程主要负责管理数据库整体的运行,而用户进程则是为客户端提供服务的进程。 6. 内存结构Oracle数据库的内存结构包括了多个内存区域,包括了SGA(System Global Area)、PGA(Program Global Area)等。SGA是数据库实例所使用的共享内存区域,用于存储缓存数据、元数据等,而PGA则是用户进程所使用的私有内存区域,用于存储会话信息、执行计划等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值