发布于 2019-06-06 16:13:51
不,那些事没有关系。
自动分配意味着要让数据库决定为对象及其数据“分配”的大小范围。
从文档 -
如果您期望表空间包含不同大小的对象,那么AUTOALLOCATE是最好的选择。如果对空间分配和取消分配有很多控制并不重要,AUTOALLOCATE也是一个很好的选择,因为它简化了表空间管理。这种设置可能会浪费一些空间,但是让Oracle数据库管理您的空间的好处很可能超过了这个缺点
自动扩展意味着,如果表空间“满”,则表空间可以自己生成文件,直到它们达到预定的限制,或者可选地“无限”。
发布于 2019-06-06 16:19:58
是的这是一种混淆。自动分配是TABLESPACE的属性(参见子句 ),自动扩展是文件的代表--参见规格说明子句(AUTOEXTEND )
这里是一个小例子(文件名因简洁而缩短)
参见相关的数据字典列dba_tablespaces.ALLOCATION_TYPE
和dba_data_files.AUTOEXTENSIBLE
CREATE TABLESPACE T1 DATAFILE 'D:\...\T1.DBF' SIZE 1M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
;
CREATE TABLESPACE T2 DATAFILE 'D:\...\T2.DBF' SIZE 1M AUTOEXTEND ON
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
;
select TABLESPACE_NAME,EXTENT_MANAGEMENT, ALLOCATION_TYPE
from dba_tablespaces where tablespace_name in ('T1','T2');
TABLESPACE_NAME EXTENT_MAN ALLOCATIO
------------------------------ ---------- ---------
T1 LOCAL SYSTEM
T2 LOCAL UNIFORM
select AUTOEXTENSIBLE, FILE_NAME from dba_data_files;
AUT FILE_NAME
--- -------------------
NO T1.DBF
YES T2.DBF
https://stackoverflow.com/questions/56481072
复制相似问题