龙空技术网

一图了解Oracle存储结构

HideOnCode 516

前言:

而今姐妹们对“oracle数据库物理结构包括哪三种”大致比较关怀,同学们都需要剖析一些“oracle数据库物理结构包括哪三种”的相关内容。那么小编同时在网摘上汇集了一些有关“oracle数据库物理结构包括哪三种””的相关知识,希望姐妹们能喜欢,姐妹们快快来了解一下吧!

Oracle数据库包含逻辑结构和物理结构,逻辑结构独立于物理结构,对逻辑结构的操作不会影响物理结构,下面带大家深入浅出了解数据库是如何管理存储结构的。

从直观角度看,当我们创建完数据库后,数据库其实创建了一堆数据文件,我们就是把数据存储在这些数据文件上,简而言之数据库的物理结构就是一堆数据文件的集合

从使用角度来看,其实我们是创建了一堆的逻辑结构,我们的应用程序在数据库中创建了一个方案(即用户),比如表、视图、索引等,都是方案的一个集合,我们通常操作的其实是单个的表,也就是逻辑结构,我们无需关注数据存储在哪个数据文件。

那么数据库是如何把它的逻辑结构和物理结构联系在一起的呢?

数据库、表空间和数据文件

首先让我们了解下表空间的概念,顾名思义,表空间即存储表的空间,比如hr用户拥有的表存放在hr表空间,sales用户拥有的表存放在sales表空间,也就是说不同的用户数据放置在不同的表空间中达到数据隔离的效果,表空间是由一个个物理的数据文件构成的,因为表实际存储在数据文件中,表空间就是把数据文件集合起来的一个逻辑概念,规定哪些数据文件是属于某一个表空间的,通过表空间这一概念把数据库的物理结构和逻辑结构组合在了一起。

段、区、块

我们再深一步了解表又是如何进一步被分割的呢?在数据库中一个表在表空间中其实就是一个段,段又是由多个区组成,区又是由连续的数据块组成,大家是不是被搞晕了[尬笑],下面待我慢慢给大家细说。

首先数据库中将存储划分为一个个8K的数据块,也就是说数据库能操作的最小单元就是8k的数据,一个个连续的8k数据库就组成了一个区,多个区最终组成一个段也就是我们的表。想象一下,当我们创建一个表时,数据库为我们分配了一个段,当我们往表写数据时,数据库为我们分配区,而区其实就是一些数据块,实际我们就是往数据块上写数据,这时候有些小伙伴可能还是很懵[看],细细品味其实很好理解,就是套娃一层套一层,小伙伴可能会问了为什么绕那么多层呢,别问问就是大佬们就是这么设计的[偷笑],像类似操作系统和数据库等这种底层设计都是久经沙场,经历几十年的使用和优化才逐渐成熟稳定的,小伙伴一定要好好学习,掌握大佬们的思想,方能更上一层楼[比心]

标签: #oracle数据库物理结构包括哪三种