数据文件使用达到多少时候自动扩展

数据文件使用达到多少时候自动扩展,第1张

1,创建一个表空间:

CREATE TABLESPACE "T" DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\T.DBF' SIZE 5M

默认的话是不自动扩展的:

SQL>select file_id, tablespace_name,autoextensible, increment_by

2 from dba_data_files where tablespace_name='T'

FILE_ID TABLESPACE_NAMEAUT INCREMENT_BY

---------- ------------------------------ --- ------------

8 T NO 0

2,如果插入的数据超过5M,会出错

SQL> create table largeinsert tablespace t as select * from dba_objects

create table largeinsert tablespace t as select * from dba_objects*

ERROR at line 1:

ORA-01652: unable to extend temp segment by 128 in tablespace T

3,将表空间修改为自动扩展:

SQL>alter database datafile 8 autoextend on

Database altered.

SQL>select file_id, tablespace_name,autoextensible, increment_by

在 Oracle 数据库中,一个表空间(tablespace)是由一个或多个数据文件(datafile)组成的逻辑存储单元,用于存储数据库对象,如表、索引、存储过程等。

当一个表空间中的数据文件没有足够的空间来存储新的数据时,Oracle 会自动扩展这个表空间,以便继续存储数据。这个扩展过程称为“表空间的自动扩展”。

在 Oracle 中,表空间的自动扩展有两种方式:一种是增加数据文件,另一种是使用 EXTENTS。EXTENTS 是一种逻辑数据结构,是用来描述表空间中的空闲空间的。当表空间需要扩展时,Oracle 会从 EXTENTS 中获取空闲空间,用来存储新的数据。

一个 EXTENT 是由若干个连续的数据块组成,可以存储一个或多个数据库对象。EXTENTS 在表空间中形成一个链,每个 EXTENT 都指向下一个 EXTENT,形成一个链式结构,用于存储数据。当一个数据库对象需要扩展时,Oracle 会根据这个对象的大小,分配一个或多个新的 EXTENT,并将这些 EXTENT 插入到表空间的链中,用于存储新的数据。

因此,EXTENTS 是 Oracle 中表空间自动扩展的一种方式,用于描述表空间中的空闲空间,以便存储新的数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11422462.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存