温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

数据库中如何使用CREATE TABLESPACE

发布时间:2021-12-13 11:47:55 来源:亿速云 阅读:271 作者:小新 栏目:关系型数据库

这篇文章给大家分享的是有关数据库中如何使用CREATE TABLESPACE的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、官档

BOOK → SQL Language Reference → 16 SQL Statements: CREATE SYNONYM to CREATE TRIGGER → CREATE TABLESPACE

二、基本语法

  1. CREATE [BIGFILE|SMALLFILE] TABLESPACE

  2. [数据文件语句]

  3. [最小区大小大小]

  4. [数据块大小]

  5. [记录日志语句]

  6. [强制记录日志]

  7. [加密语句]

  8. [存储语句]

  9. [是否在线]

  10. [范围管理语句]

  11. [段管理语句]

  12. [闪回模式语句]

三、数据文件大小

1、数据文件的路径名:DATAFILE datefile_spec1 [,datefile_spec2] ...

2、文件的初始大小:[SIZE INTEGER [K|M|G|T|P|E]]

3、重用:[REUSE]

4、表明是否自动扩展:[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

六、记录日志语句

这个子句声明这个表空间上所有的用户对象的日志属性,包括表,索引,分区,物化视图,物化视图上的索引,分区。
1、LOGGING
2、NOLOGGING
3、FILESYSTEM_LIKE_LOGGING

七、强制记录日志

使用这个子句指出表空间进入强制日志模式。此时,系统将记录表空间上对象的所有改变,除了临时段的改变。这个参数高于对象的nologging选项。
注意:设置这个参数数据库不行open并且出于读写模式。
FORCE LOGGING

八、加密语句

创建加密表空间时用,配合 default storage (encrypt) 使用
ENCRYPTION [USING '<加密格式>']
1、AES256
2、AES192
3、AES128
4、3DES168

九、存储语句

默认的存储语句
DEFAULT
1、[table_compression]
  Basic compression
  OLTP compression
  Warehouse compression (Hybrid Columnar Compression)
  Archive compression (Hybrid Columnar Compression)

2、[storage_clause]

用该语句为表空间内的所有对象设置存储参数。这个语句用于字典管理的表空间,您可以指定以下存储参数在语句中:COMPRESS,INITIAL,NEXT,MINEXTENTS,MAXEXTENTS,和 PCTINCREASE。

十、是否在线

1、使表空间创建后立即有效.这是缺省值:ONLINE
2、使表空间创建后无效:OFFLINE

十一、范围管理语句

说明了表空间如何管理范围。一旦你声明了这个子句,只能通过移植的方式改变这些参数。

1、如果希望表空间本地管理的话,声明local选项,本地管理表空间是通过位图管理的
EXTENT MANAGEMENT LOCAL

  a) 说明表空间自动分配范围,用户不能指定范围的大小。只有9.0以上的版本具有这个功能。
    AUTOALLOCATE

  b) uniform说明表空间的范围的固定大小,缺省是1m。
    UNIFORM [SIZE INTEGER [K|M|G|T|P|E]]

2、如果没有设置extent_management_clause,oracle会给他设置一个默认值。

  a) compatible小于9.0.0:如果初始化参数,那么系统创建字典管理表空间。
  b) compatible大于9.0.0:
    那么按照如下设置
    i. 如果没有指定 default storage_clause,oracle创建一个自动分配的本地管理表空间。
    ii. 如果指定 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将创建一个自动分配的本地管理表空间。
注意:本地管理表空间只能存储永久对象。如果你声明了local,将不能声明default storage_clause,mininum extent、temporary.

十二、段管理语句

段空间管理
SEGMENTSPACE MANAGEMENT
1、AUTO:自动管理
2、MANUAL:手动管理

十三、闪回模式语句

闪回模式
FLASHBACK
1、ON
2、OFF

十四、常用语句

  1. CREATE TABLESPACE TOOLS

  2. DATAFILE '+DATADG1' SIZE 100m

  3. EXTENT MANAGEMENT LOCAL

  4. UNIFORM SIZE 128k

  5. SEGMENT SPACE MANAGEMENT AUTO

感谢各位的阅读!关于“数据库中如何使用CREATE TABLESPACE”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI