龙空技术网

SQL优化相关存储结构——表空间

我南柯一梦 182

前言:

眼前咱们对“oracle表空间对应的数据文件在哪里”大概比较着重,兄弟们都想要知道一些“oracle表空间对应的数据文件在哪里”的相关内容。那么小编在网上网罗了一些有关“oracle表空间对应的数据文件在哪里””的相关文章,希望兄弟们能喜欢,姐妹们快快来了解一下吧!

对SQL的优化过程中,了解对象存储结构也很重要。在Oracle数据库中,存储结构

分为四级管理:表空间(tablespace)、段(segment)、区(extent)、块(block)。

表空间是由段(segment)组成的,

段是由范围(extent)组成的,

范围是由连续的块(block)组成的。

当在表空间里创建一个table、index等对象时,其实对使用者而言其即为对象,

但是从Oracle存储的角度来说把它称为segment。

Oracle最小的读写单位是block,但是在为对象分配空间时单位却是extent,

这样做的好处其实就是为了提高效率。

段是由范围组成的,当一个extent被分配给一个segment时,和segment对应的对象就可以使用空间了。

表空间

表空间是数据库的一种逻辑结构,它在物理上对应着一个或多个数据文件。

平常所讲的表空间管理实际上指的是对表空间所对应的数据文件的空间管理。

Oracle支持两种管理方式,一种是字典管理(简称DMT),一种是本地管理(简称LMT)。这里所说的管理方式是指针对extent的管理方式。

extent也是数据库的一种逻辑结构,它包含一定数量的、连续的Oracle块。它是Oracle的空间分配的最小单位。

针对它的管理方式就是指表空间中的extent是如何被管理的(记录extent的free、used使用情况)。

在这两种管理方式中,字典管理方式是Oracle遗留的一种空间管理方式,它采用数据字典表UET$、FET$来记录表空间中extent的使用情况。

每次进行涉及空间管理的操作时,都必须对这两个表进行维护,其影响是显而易见的。当并发提高时,该表上的争用将无法避免被提高,同时将产生大量的undo占用大量系统回滚段,而且在字典管理方式下将产生令人头痛的碎片问题。

本地管理方式是从Oracle 8i开始支持的一种管理方式,也是目前Oracle强烈建议采用的一种方式。它不再利用数据字典表来记录空间使用情况,取而代之的是在数据文件头部增加一个位图区,用位图来记录空间的使用情况,每一个bit都代表着一个extent的使用情况。数据库中如果不存在dmt类型的表空间,则UET$和FET$中不再有信息

2-mysql服务器模式安装_哔哩哔哩_bilibili

标签: #oracle表空间对应的数据文件在哪里