C/C++教程

Oracle存储结构

本文主要是介绍Oracle存储结构,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

oracle存储结构分为物理存储结构和逻辑存储结构

物理存储结构是数据文件、日志文件、参数文件、控制文件,在上一部分已经写过,这次主要谈逻辑存储。

逻辑存储结构是块(block)>区(extent)>段(segment)>表空间(tablespace)

块(block),oracle用于管理存储的最小单元,也是逻辑存储结构的最小。块的大小在数据库创建是就已经决定了不能修改,oracle以块为单位进行输入输出操作。

一般数据存放在一个块中,而如果一条数据过大,就会连续占用几个块,将数据分在存储在几个块,这个过程为行链接

当用户在做update更新时,原本在一个数据块中的数据,使这条记录变长,已经无法容纳这条数据,oracle会将整条数据迁移到另一个新的数据块,在原先的数据块中做一个指针指向新的数据块。这叫行迁移

区(extent),由一个或多个连续的块组成,oracle在进行存储空间的分配和回收的最小单位,段中的区空间不足时,会为该段分配新的区。

段(segment),由一个或多个区组成,可以是连续的,也可以不连续,是一个独立的逻辑结构,是存储对象、表、索引的数据对象,一个段属于一个数据对象,每创建一个新的的数据对象,就会创建新的独立段。不同类型的数据对象有不同的段:数据段、索引段、回滚段、临时段。

表空间(tablespace),逻辑结构最高级,一个Oracle数据库由一个或多个表空间组成,一个表空间则对应着一个或多个物理的数据文件,建立数据库是会创建一些默认的表空间,比如system表空间,sysaux表空间等,几种常见的表空间:数据表空间、系统表空间、回滚表空间、临时表空间。

可以用比喻来认识逻辑结构,能更好的理解:

块 :一张张白纸 ---> 区:白纸组成的本子---> 段:多个本子放到一个文件袋中---> 表空间:文件柜(存放多个文件袋)

这篇关于Oracle存储结构的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!