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

Gbase 8a用户级磁盘限额

VV_刺头王 2022-03-24
708

    用户级磁盘配额通过设置用户的磁盘使用上限,限制所设置用户创建表的sys_tablespace 和 metadata 空间总和。

语法格式:

Grant usage on *.* to <user name> limit_storage_size=integer[K,M,G,T]

 查看用户磁盘限额和磁盘使用现状:

select * from information_schema.gnodes_user_diskspace_usage;

控制刷新系统表磁盘使用现状:

_gbase_storage_flush_interval

    数据库服务启动和关闭时会自动刷新磁盘使用现状记录入相应的系统表,之后由该参数控制间隔多少秒刷新系统表的磁盘统计信息。该参数的最小值为 1,最大值为86400(24 小时)。该参数可以用下面 sql 自定义设置,例如:

gbase> set global _gbase_storage_flush_interval=100;

Refresh user storage usage;

手动刷新系统表中磁盘使用现状的 sql。

示例:

gbase> create user u;

gbase> grant all on *.* to u;

gbase> grant usage on *.* to u limit_storage_size=1M;

gbase> select * from information_schema.gnodes_user_diskspace_usage;

+-----------+------------------+-------------------------+-------------------+

| NODE_NAME | User | user_limit_storage_size |user_storage_size |

+-----------+------------------+-------------------------+-------------------+

| node1 | root | |96773982 |

| node1 | gbase | |0 |

| node1 | u | 1M |0 |

| node2 | root | |96461010 |

| node2 | gbase | |0 |

| node2 | u | 1M |0 |

| node3 | root | |96548104 |

| node3 | gbase | |0 |

| node3 | u | 1M |0 |

| node4 | root | |96860988 |

| node4 | gbase | |0 |

| node4 | u | 1M |0 |

+-----------+------------------+-------------------------+-------------------+

12 rows in set (Elapsed: 00:00:00.01)

[gbase@rhel73-1 ~]$ gccli –uu

gbase> use ssbm_u;

Query OK, 0 rows affected (Elapsed: 00:00:00.00)

gbase> create table part (

-> p_partkey bigint,

-> p_name varchar(22),

-> p_mfgr varchar(6) comment 'lookup',

-> p_category varchar(7) comment 'lookup',

-> p_brand1 varchar(9) comment 'lookup',

-> p_color varchar(11) comment 'lookup',

-> p_type varchar(25) comment 'lookup',

-> p_size int,

-> p_container varchar(15) comment 'lookup'

-> );

Query OK, 0 rows affected (Elapsed: 00:00:01.60)

gbase> load data infile 'file://192.168.146.20/opt/ssbm/part.tbl'

into table part data_format 3 FIELDS TERMINATED BY '|';

Query OK, 200000 rows affected (Elapsed: 00:00:05.69)

Task 262151 finished, Loaded 200000 records, Skipped 0 records

gbase> load data infile 'file://192.168.146.20/opt/ssbm/part.tbl' into table part data_format 3 FIELDS TERMINATED BY '|';

ERROR 1733 (HY000): (GBA-01EX-700) Gbase general error: Task 262152failed, [192.168.146.20:5050](GBA-02AD-0005)Failed to query in gnode:

DETAIL: (GBA-01EX-700) Gbase general error:(gns_host: ::ffff:192.168.146.21) The disk space of User 'u' has exceeded the limit value.(Usage: 4437691, Limit: 1048576)

SQL: LOAD /*+ TID('262223') */ DATA INFILE '/opt/ssbm/part.tbl' INTO TABLE `ssbm_u`.`part_n1` DATA_FORMAT 3 FILE_FORMAT UNDEFINED FIELDS TERMINATED BY '|' HOST '::ffff:192.168.146.20' CURRENT_TIMESTAMP

1601029204 SCN_NUMBER 2

gbase> select * from information_schema.gnodes_user_diskspace_usage;

+-----------+------------------+-------------------------+-------------------+

| NODE_NAME | User | user_limit_storage_size |user_storage_size |

+-----------+------------------+-------------------------+-------------------+

| node1 | root | |96773982 |

| node1 | gbase | |0 |

| node1 | u | 1M |4435201 |

| node2 | root | |96461010 |

| node2 | gbase | |0 |

| node2 | u | 1M |4437691 |

| node3 | root | |96548104 |

| node3 | gbase | |0 |

| node3 | u | 1M |4438453 |

| node4 | root | |96860988 |

| node4 | gbase | |0 |

| node4 | u | 1M |4435963 |

+-----------+------------------+-------------------------+-------------------+

12 rows in set (Elapsed: 00:00:00.17)

说明:

用户级磁盘限额是用户级的,该用户所创建的多个表共享该磁盘空间。

用户级磁盘限额只统计用户创建的 express 引擎表的 sys_tablespace 和 metadata所占空间,不统计 gbase、gclusterdb、gctempdb 库各表的磁盘占用,不统计其他引擎的库表。

磁盘限额在 sql 执行开始时进行检查是否超额,执行过程中磁盘使用超额不检查不报错。

检查磁盘限额的 sql 是会增加所统计磁盘大小的 sql,对于简单的 select、delete、drop、shrink 等不会增加磁盘大小的 sql 不做超额检查。 DDL 不检查磁盘限额。

注意:

用户磁盘限额和资源池磁盘管理是从两个维度对用户创建的 express 引擎表sys_tablespace 和 metadata 占用的磁盘空间进行限制,它们相互独立,同时开启时,超过两者最低限额将会报错。 

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

评论