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

GBase8a表空间功能介绍及注意事项

jacqui 2024-06-14
294

用户表的数据文件存储在配置文件中指定的“datadir”路径下,位置固定。数据库建好后就不允许更改。且在多磁盘的情况下用户无法控制数据的存储位置,从而引入表空间。

Tablespace功能是在现有固定存储的基础上实现表的数据存储路径用户可配置,主要是用户库和系统库(gctmpdb)库下的表。

GBase 8a MPP Cluster一个表空间表示一个数据存储路径。表空间的创建规则是每个库可以存在多个表空间,只有一个默认表空间,一个表空间可以多个表使用,但一个表只能属于一个表空间。

默认情况下,每个库都有一个默认表空间sys_tablespace,sys_tablespace指向现在的固定数据存储路径($GBASE_BASE/config/gbase_8a_gbase.cnf中datadir指定的目录下数据库名目录下sys_tablespace目录中),不可以删除。

 

1、创建表空间

create tablespace[ dbname. ] tablespace_name datadir path [segsize value] [maxsige value];

 

2、使用表空间

create table [dbname.]table_name (column …..) tablespace = tablespace_name;

create table [dbname.]table_name as select …… tablespace = tablespace_name;

3、修改表空间

修改表空间最大限额

alter tablespace[dbname.]tablespace_name maxsige value;

 

建库时修改默认表空间路径

create database dbname system tablespace datadir path;

 

修改数据库默认表空间

use tablespace_name as default tablespace;

 

5、删除表空间

drop tablespace tablespace_name;

 

6、查询表空间

show full tablespaces [in dbname];

select * from information_schema.tablespaces;

7.    注意:

表空间不允许在建库前单独建立

不支持gctmpdb库、gclusterdb库下,除SHOW TABLESPACES之外的其他TABLESPACE相关操作;

在建立镜像关系之前,用户需要预先手动在相关节点创建指定的目录和对应的TABLESPACE,且需要用户保证其一致性,镜像关系建立后,支持创建TABLESPACE指令的镜像下发功能;

卸载时,用户自定义表空间的相关目录中的数据会被删除;

关于备份恢复工具,其分为三个等级:实例级、库级和表级。其中,实例级和库级的恢复过程,用户不需要手动建立TABLESPACE和对应的目录,这些工作均由程序完成;表级的恢复过程,需要用户预先手动在指定库中建立好与备份时相同的TABLESPACE;

关于扩容功能,用户需要预先手动在扩容的新节点上将TABLESPACE所需要的目录建立起来,新节点上的创建TABLESPACE的动作由程序自行完成;

关于分区表,按照一个表来对待,用户只能指定一个TABLESPACE,不支持不同分区指定不同TABLESPACE;

对于节点替换功能,用户需要在被替换节点上预先手动建立好TABLESPACE的路径。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论