Oracle OCP(47):表空间的创建

安稳与你 提交于 2019-11-28 21:54:53

一、基本语法

CREATE [BIGFILE|SMALLFILE] TABLESPACE
[数据文件语句]
[最小区大小大小]
[数据块大小]
[记录日志语句]
[强制记录日志]
[加密语句]
[存储语句]
[是否在线]
[范围管理语句]
[段管理语句]
[闪回模式语句]

二、数据文件大小

  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

五、记录日志语句

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

  • 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。

九、是否在线

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

十、范围管理语句

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

  • 如果希望表空间本地管理的话,声明local选项,本地管理表空间是通过位图管理的
    EXTENT MANAGEMENT LOCAL
    • 说明表空间自动分配范围,用户不能指定范围的大小。只有9.0以上的版本具有这个功能。
      AUTOALLOCATE
    • uniform 说明表空间的范围的固定大小,缺省是 1m。
      UNIFORM [SIZE INTEGER [K|M|G|T|P|E]]
  • 如果没有设置 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将创建一个自动分配的本地管理表空间。

注意:本地管理表空间只能存储永久对象。如果你声明了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
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!