一、基本语法
CREATE [BIGFILE|SMALLFILE] TABLESPACE
[数据文件语句]
[最小区大小大小]
[数据块大小]
[记录日志语句]
[强制记录日志]
[加密语句]
[存储语句]
[是否在线]
[范围管理语句]
[段管理语句]
[闪回模式语句]
二、数据文件大小
- 数据文件的路径名:DATAFILE datefile_spec1 [,datefile_spec2] …
- 文件的初始大小:[SIZE INTEGER [K|M|G|T|P|E]]
- 重用:[REUSE]
- 表明是否自动扩展:[AUTOEXTEND]
- 不自动扩展:OFF
- 自动扩展:ON
- 表示数据文件满了以后,扩展的大小:[NEXT INTEGER [K|M|G|T|P|E]]
- 最大扩展到:[MAXSIZE ]
- 表示无限的表空间:[UNLIMITED]
- 表示数据文件的最大大小:INTEGER [K|M|G|T|P|E]]
三、数据文件最小扩展大小
指出在表空间中范围的最小值,保证在表空间的范围是这个数值的整数倍。
MINIMUM EXTENT INTEGER [K|M|G|T|P|E]
四、数据块大小
这个参数可以设定一个不标准的块的大小。如果要设置这个参数,必须设置db_block_size,至少一个db_nk_block_size,并且声明的integer的值必须等于db_nk_block_size,默认为 8k 块
BLOCKSIZE INTEGER K
五、记录日志语句
这个子句声明这个表空间上所有的用户对象的日志属性,包括表,索引,分区,物化视图,物化视图上的索引,分区。
- LOGGING
- NOLOGGING
- FILESYSTEM_LIKE_LOGGING
六、强制记录日志
使用这个子句指出表空间进入强制日志模式。此时,系统将记录表空间上对象的所有改变,除了临时段的改变。这个参数高于对象的nologging选项。
注意:设置这个参数数据库不行open并且出于读写模式。
FORCE LOGGING
七、加密语句
创建加密表空间时用,配合 default storage (encrypt) 使用
ENCRYPTION [USING ‘<加密格式>’]
- AES256
- AES192
- AES128
- 3DES168
八、存储语句
默认的存储语句
- DEFAULT
- [table_compression]
- Basic compression
- OLTP compression
- Warehouse compression (Hybrid Columnar Compression)
- Archive compression (Hybrid Columnar Compression)
- [storage_clause]
用该语句为表空间内的所有对象设置存储参数。这个语句用于字典管理的表空间,您可以指定以下存储参数在语句中:COMPRESS,INITIAL,NEXT,MINEXTENTS,MAXEXTENTS,和 PCTINCREASE。
- [table_compression]
九、是否在线
- 使表空间创建后立即有效.这是缺省值:
ONLINE - 使表空间创建后无效:
OFFLINE
十、范围管理语句
说明了表空间如何管理范围。一旦你声明了这个子句,只能通过移植的方式改变这些参数。
- 如果希望表空间本地管理的话,声明local选项,本地管理表空间是通过位图管理的
EXTENT MANAGEMENT LOCAL- 说明表空间自动分配范围,用户不能指定范围的大小。只有9.0以上的版本具有这个功能。
AUTOALLOCATE - uniform 说明表空间的范围的固定大小,缺省是 1m。
UNIFORM [SIZE INTEGER [K|M|G|T|P|E]]
- 说明表空间自动分配范围,用户不能指定范围的大小。只有9.0以上的版本具有这个功能。
- 如果没有设置 extent_management_clause,oracle 会给他设置一个默认值。
- compatible小于9.0.0:如果初始化参数,那么系统创建字典管理表空间。
- compatible大于9.0.0:
那么按照如下设置- 如果没有指定 default storage_clause,oracle 创建一个自动分配的本地管理表空间。
- 如果指定 default storage_clause
- 如果指定了 mininum extent,那么 oracle 判断 mininum extent、initial、next 是否相等,以及 pctincrease 是否=0.
- 如果满足以上的条件,oracle 创建一个本地管理表空间,extent size 是 initial。
- 如果不满足以上条件,那么 oracle 将创建一个自动分配的本地管理表空间。
- 如果没有指定 mininum extent。initial、那么 oracle 判断 next 是否相等,以及 pctincrease 是否=0。
- 如果满足 oracle 创建一个本地管理表空间并指定 uniform。
- 否则oracle将创建一个自动分配的本地管理表空间。
- 如果指定了 mininum extent,那么 oracle 判断 mininum extent、initial、next 是否相等,以及 pctincrease 是否=0.
- 如果指定 default storage_clause
- 如果没有指定 default storage_clause,oracle 创建一个自动分配的本地管理表空间。
注意:本地管理表空间只能存储永久对象。如果你声明了local,将不能声明default storage_clause,mininum extent、temporary.
十一、段管理语句
- 段空间管理
SEGMENTSPACE MANAGEMENT- AUTO:自动管理
- MANUAL:手动管理
十二、闪回模式语句
- 闪回模式
FLASHBACK- ON
- OFF
十三、常用语句
CREATE TABLESPACE TOOLS DATAFILE '+DATADG1' SIZE 100m
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 128k
SEGMENT SPACE MANAGEMENT AUTO --ASSM
来源:https://blog.csdn.net/Ryan_Bai/article/details/100133718