暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T CREATE TABLESPACE

墨天轮 2019-10-12
583

CREATE TABLESPACE

功能描述

创建表空间。

注意事项

  • 执行该语句的用户需要有CREATE TABLESPACE系统权限。
  • 不能将数据文件路径指定到数据库运行日志目录、归档日志目录等可能会被清理的目录下。
  • 只能对用户表空间设置AUTOOFFLINE。

语法格式

CREATE TABLESPACE tablespace_name [ EXTENTS integer ] DATAFILE { datafile_tempfile_spec [, ... ] } [NOLOGGING] [autooffline_clause]
  • datafile_tempfile_spec 子句:
    'file_name' SIZE integer [ K | M | G ] [ autoextend_clause ]
    • autoextend_clause 子句:
      AUTOEXTEND { OFF | ON [ NEXT integer [ K | M | G ] ] [ MAXSIZE integer [ K | M | G ] | UNLIMITED ] }
  • autooffline_clause子句:
    AUTOOFFLINE [ ON | OFF ]

参数说明

  • tablespace_name

    表空间名称。不能和已有tablespace重名,否则报错。

    EXTENTS

    一个extent里包含的页面数。

    取值范围 : [8, 8192],且必须为2的整数次幂。不指定EXTENTS时,默认一个extent包含8个页面。

    增大单个extent的页面数量可以提高IO性能,但如果表空间下存在小表(数据量未达到一个extent大小),会导致空间浪费。

  • DATAFILE

    数据文件。

  • datafile_tempfile_spec

    表空间数据文件,可以用逗号分隔多个数据文件,数据文件不支持中文。

    • file_name

      新生成的数据文件在操作系统下的路径+新数据文件名。指定文件名为相对路径时,默认保存在数据目录的data目录下。

    • SIZE integer[ K | M | G ]

      数据文件大小。

      K:单位KB。

      M:单位MB。

      G:单位GB。

      undo表空间的取值范围:[1M,32G),其它表空间的取值范围:[1M, 8TB]。

    • autoextend_clause

      表空间的AUTOEXTEND为on时,可以手动指定每次扩展的大小。

      • 不指定AUTOEXTEND字句,默认不自动扩展。
      • 指定AUTOEXTEND OFF;默认不自动扩展。
      • 指定AUTOEXTEND ON时,可设置的属性如下:
        • “NEXT”指定自动扩展的大小。若用户未指定时,默认值为16MB。
        • “MAXSIZE”指定数据文件自动扩展的上限。

          若用户未指定或指定为 "UNLIMITED" 时,undo表空间的上限大小为32GB,其它表空间的上限大小为 8TB。

          若用户指定了上限值,则undo表空间指定的上限值不可大于32GB,其它表空间指定的上限值不可大于 8TB。

        若用户既指定了上限值也通过“NEXT”指定了自动扩展大小,则指定的上限值不得小于用户指定的自动扩展值。

  • NOLOGGING

    指定tablespace为nologging类型,该类型的tablespace下的table为nologging table。nologging table只能放到nologging tablespace上。

    • create database默认创建表空间temp2, temp2_undo,分别存放nologging table的数据和undo。
    • 全局只有一个nologging的undo区:temp2_undo,不能删除temp2_undo,不能rename temp2_undo。
    • 可以创建多个nologging data tablespace。
    • 可以通过DV_TABLESPACES显示nologging tablespace,其中temporary字段显示为true。
  • autooffline_clause

    设置表空间是否开启自动离线。AUTOOFFLINE为ON时,开启自动离线的用户表空间,在数据库启动过程中存在文件打开失败的问题时,会自动离线该用户表空间;若用户表空间在数据库启动成功后出现问题,则不会自动离线。

示例

  • 创建表空间vedio_space,大小为32M。
    CREATE TABLESPACE vedio_space DATAFILE 'vedio_dfile1' SIZE 32M;
  • 创建表空间image_space,一个extent包含128页。表空间大小为32M,数据插满32M时,表空间自动扩展,可手动指定每次扩展大小。
    CREATE TABLESPACE image_space EXTENTS 128 DATAFILE 'image_dfile1' SIZE 32M AUTOEXTEND ON NEXT 10M;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论