06 Oracle数据是怎么存储的

前面几篇文章给大家介绍了数据的操作和事务管理等话题,作为基础篇的最后一篇文章,今天和大家聊聊Oracle数据是怎么存储的。

逻辑结构上的数据存储

在这里插入图片描述

为了数据管理上的方便,Oracle数据库从逻辑结构上看其数据存储可分为表空间、段、区和数据块几个层次。

表空间

Oracle数据库中的表空间是一个管理逻辑上的概念,其底层对应的是一个或多个物理的数据文件组成。按照功能划分,Oracle表空间可分为以下几类:

  • SYSTEM表空间:Oracle数据库是一个完整的软件系统,自身包含大量的数据库系统表、数据字典及视图、存储过程等对象,用于提供数据库运行和管理功能,这些对象都包含在SYS模式下,只能由SYS用户或具有对应权限的其他管理用户才能访问;
  • UNDO表空间:我们在《Oracle事务是怎么练成的》这篇文章中提到,DML操作修改数据块,会先将相关数据的“前镜像”保存到undo段中。Oracle会为每个数据库实例分配一个undo表空间,undo表空间的数据不需要永久保留,但是需要满足事务和查询语句构造一致性,以及异常崩溃后实例恢复的需求;
  • SYSAUX表空间:随着数据库功能的不断增加,Oracle自身产生的管理数据也越来越多。尤其是10g之后引入了AWR(Automatic Workload Repository)组件,默认每个小时收集一次系统运行状态快照,这类辅助功能也会消耗较多的空间,因此Oracle新增了SYSAUX表空间专门存放这类数据;
  • TEMP表空间:临时表空间的主要作用有两个,一是对于大的排序或创建索引等操作时,如果内存空间不够,数据会存放到临时表空间进行短暂的中转交换,虽然磁盘操作会比内存操作慢很多,但也不失为一个折中的解决方案;二是用于存放临时表等对象操作过程中的临时数据。临时表空间的数据不需要永久保留,会随着
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值