[新手教程]GP数据库创建文件空间及表空间—详细篇

ronpris
ronpris
ronpris
253
文章
1
评论
2020年3月18日10:18:23 评论 450 2313字阅读7分42秒

(一)创建文件空间过程

1.首先在管理节点和数据节点上分别创建相关filespace目录
本地环境为数据存储目录为/data1,data2,并且是6p+6m

管理节点目录:

mkdir -p /data/cmcc_fs/master

如数据节点目录:

mkdir -p /data1/cmcc_fs/primary
mkdir -p /data2/cmcc_fs/primary
mkdir -p /data1/cmcc_fs/mirror
mkdir -p /data2/cmcc_fs/mirror

关于数据节点目录应该创建的个数,首先登录到数据节点上看一下挂载的数据盘是有几个,如果只有一个data目录,只需要分别创建一个filespace目录就可以。

如:

mkdir -p /data/cmcc_fs/primary
mkdir -p /data/cmcc_fs/mirror

当然还有一种情况就是可能有些集群只有primary,没有mirror时候,只需要针对primary创建文件空间目录即可。

如:

mkdir -p /data/cmcc_fs/primary

创建完成之后在管理节点上执行命令,注意创建的配置文件目录:

2.生成文件空间的配置文件

[gpadmin@ma01 gpAdminLogs]$ gpfilespace -o gpfilespace_config

然后开始填写之前填写过的文件空间目录,填写完成后会生成一个gpfilespace_config文件
按照日志内容执行文件即可

3.进行文件空间部署

[gpadmin@ma01 gpAdminLogs]$ gpfilespace --config gpfilespace_config

日志如下:

20190116:15:50:40:044545 gpfilespace:ma01:gpadmin-[INFO]:-
A tablespace requires a file system location to store its database
files. A filespace is a collection of file system locations for all components
in a Greenplum system (primary segment, mirror segment and master instances).
Once a filespace is created, it can be used by one or more tablespaces.
20190116:15:50:40:044545 gpfilespace:ma01:gpadmin-[INFO]:-getting config
Reading Configuration file: '/home/gpadmin/gpAdminLogs/gpfilespace_config'
20190116:15:50:40:044545 gpfilespace:ma01:gpadmin-[INFO]:-Performing validation on paths
..............................................................................
20190116:15:50:45:044545 gpfilespace:ma01:gpadmin-[INFO]:-Connecting to database
20190116:15:50:45:044545 gpfilespace:ma01:gpadmin-[INFO]:-Filespace "cmcc_fs" successfully created

表示创建完成

(二)创建表空间

CREATE TABLESPACE ts_bass FILESPACE cmcc_fs;

指定数据库默认表空间

set default_tablespace=ts_bass;

在数据库级别修改默认表空间:

alter database bass set default_tablespace=ts_bass;

(三)创建数据库

CREATE DATABASE bass WITH OWNER = gpadmin ENCODING = 'UTF8' TABLESPACE = ts_bass CONNECTION LIMIT = -1;

(四)创建资源队列

查看当前资源队列

SELECT * FROM gp_toolkit.gp_resqueue_status;

创建资源队列

create resource queue bass_queue with (ACTIVE_STATEMENTS=20);

赋予role资源管理队列

alter role dim resource queue bass_queue;

(五)创建数据库role

create role dim with password 'Zs30bass' login createdb RESOURCE QUEUE bass_queue;
create role stg with password 'Zs30bass' login createdb RESOURCE QUEUE bass_queue;

(六)创建schema

create schema dim;
create schema stg;

(七)绑定role和schema

grant all on schema dim to dim;
grant all on schema stg to stg;

(八)设定用户创建外部表权限,针对GP5版本以上

alter user dim with CREATEEXTTABLE(protocol='gpfdist',type='writable');
alter user stg with CREATEEXTTABLE(protocol='gpfdist',type='writable');
继续阅读
[基础教程]Mysql单表查询优先级实例讲解 原创推荐

[基础教程]Mysql单表查询优先级实例讲解

这篇文章主要介绍了MySQL单表查询操作,结合实例形式详细分析了mysql单表查询的语法、约束、分组、聚合、过滤、排序等相关原理、操作技巧与注意事项,需要的朋友可以参考下 本文实例讲述了MySQL单表...
[基础教程]Linux系统常用文件管理命令 原创推荐

[基础教程]Linux系统常用文件管理命令

这篇文章主要介绍了linux文件管理命令,结合实例形式分析Linux文件管理的显示、查看、统计等相关操作命令使用技巧,需要的朋友可以参考下 本文实例讲述了linux文件管理命令。分享给大家供大家参考,...