返回首页

gbase数据、南大通用产品文档:GBase8s表和分片压缩和解压缩操作

更新日期:2024年09月11日

(SQL 管理 API)

您可用 SQL 管理 API admin() 或 task() 函数和参数压缩和解压缩表中或表分片中的数
据。压缩操作仅适用于数据行的内容和那些出现在逻辑日志记录中的数据行的映像。
在每一 GBase
8s 实例的 sysadmin 数据库中,
定义内建 SQL 管理 API
admin() 或 task()
函数。缺省情况下,仅用户 gbasedbt 可调用这些函数。如果将 sysadmin 数据库上的
Connect 权限授予用户 root 或 DBSA 组成员,
则当他们直接地或远程地连接到 sysadmin
数据库时,他们也可调用 SQL 管理 API admin() 或 task() 函数。
您可在表和表分片中用于压缩和解压缩操作的 SQL 管理 API admin() 或 task() 命令参
数为:
table 压缩参数
对于指定表的所有分片执行不同的操作。
要了解更多信息,
请参阅 table 或 fragment
参数:压缩数据和优化存储(SQL 管理 API)。
fragment 压缩参数
对于属于特定表的单个分片或指定的分片集合执行不同的压缩操作。
要了解更多信息,
请参阅 table 或 fragment 参数:压缩数据和优化存储(SQL 管理 API)。
compression purge_dictionary
删除所有不活动的压缩字典或在您指定日期之前创建的所有不活动的压缩字典。要了
解更多信息,请参阅 清除压缩字典参数:移除压缩字典(SQL 管理 API)。
表和分片压缩操作包括创建压缩字典、估计压缩率、压缩表和表分片中的数据、合并空闲
空间(重新打包)、归还空闲空间到 dbspace(收缩)、解压缩数据以及删除个别的表和
分片压缩字典。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 819 -
当您运行 SQL 管理 API 压缩和解压缩命令时,
压缩和解压缩 dbspace 中的行数据和简单
大对象。您还可指定是否仅压缩或解压缩行数据,或仅压缩或解压缩 dbspace 中的简单大
对象。
admin() 命令返回一个整数;task() 命令返回一个字符串。
要了解关于您可压缩的数据类型、压缩率、压缩估计和压缩字典的信息,以及使用压缩命
令参数的步骤, 请参阅 GBase 8s 管理员指南 中的行数据的压缩。要了解关于显示压缩
信息的实用程序以及 sysmaster 表和视图的信息,请参阅 syscompdicts_full。
您还可压缩、优化存储和估计对 B-tree 的压缩收益。请参阅 index compress repack
shrink 参数:
优化 B-tree 索引的存储
(SQL 管理 API)
和 index
estimate_compression
参数:估计索引压缩(SQL 管理 API)。

操作步骤
步骤1:
将gcChangeInfo.xml 文件复制为gcRm_vc1.xml 文件,
并修改其中对应nodeip
内容为待修改节点IP:

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
276
$ cp gcChangeInfo.xml gcRm_vc1.xml
$ vi gcRm_vc1.xml
$ cat gcRm_vc1.xml






步骤2:将缩容节点从对应vc 中删除,变为freenode。
$ gcadmin rmnodes gcRm_vc1.xml vc1
gcadmin remove nodes ...
flush statemachine success
gcadmin rmnodes from vc [vc1] success
$ gcadmin
CLUSTER STATE:
ACTIVE
================================================================
|
GBASE COORDINATOR CLUSTER INFORMATION
|
================================================================
|
NodeName
|
IpAddress
| gcware | gcluster | DataState |
----------------------------------------------------------------
| coordinator1 | 172.168.83.11 |
OPEN
|
OPEN
|
0
|
----------------------------------------------------------------
| coordinator2 | 172.168.83.12 |
OPEN
|
OPEN
|
0
|
----------------------------------------------------------------
| coordinator3 | 172.168.83.13 |
OPEN
|
OPEN
|
0
|
----------------------------------------------------------------
| coordinator4 | 172.168.83.15 |
OPEN
|
OPEN
|
0
|
----------------------------------------------------------------
=============================================
|
GBASE VIRTUAL CLUSTER INFORMATION
|
=============================================
|
VcName
| DistributionId |
comment
|
---------------------------------------------
|
vc1
|
4
|
|
---------------------------------------------
|
vc2
|
2
|
|
---------------------------------------------
==============================================================
|
GBASE CLUSTER FREE DATA NODE INFORMATION
|
==============================================================
| NodeName
|
IpAddress
| gnode | syncserver | DataState |
--------------------------------------------------------------
| FreeNode1 | 172.168.83.16 | OPEN
|
OPEN
|
0
|
--------------------------------------------------------------

2017-06-01 09:28:07.346 [EXECTR][INFO ][S:125][Q:96]:--#--Begin a async API
mode--#--
2017-06-01 09:28:07.346 [EXECTR][INFO ][S:125][Q:96]:A plan Begin ...
2017-06-01 09:28:07.346 [EXECTR][INFO ][S:125][Q:96]:Current plan [0x7fff3d583520]
has 0 scalar subquery.
2017-06-01 09:28:07.346 [EXECTR][INFO ][S:125][Q:96]:Current plan [0x7fff3d583520]
has 0 from subquery.
2017-06-01 09:28:07.347 [EXECTR][INFO ][S:125][Q:96]:Current plan [0x7fff3d583520]
has 0 union subquery.

GBase 8a MPP Cluster 产品手册
6 附录
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1612
2017-06-01 09:28:07.347 [EXEC_P][INFO ][S:125][Q:96]:Current plan [0x7fff3d583520]
has 3 steps.
2017-06-01 09:28:07.347 [EXEC_P][INFO ][S:125][Q:96]:## STEP: 0 ...
2017-06-01 09:28:07.347 [EXECTR][INFO ][S:125][Q:96]:Current plan [0x7fff3d583520]
has 0 uncorrelated subquery.
2017-06-01 09:28:07.347 [EXECTR][INFO ][S:125][Q:96]:Distribution Info,
/[8a:P1C1]
2017-06-01 09:28:07.347 [EXECTR][INFO ][S:125][Q:96]:---Step detail: hash
redistribute the table in gbase.
2017-06-01 09:28:07.349 [EXECTR][INFO ][S:125][Q:96]:Create table by 'create as
select' mode
2017-06-01 09:28:07.349 [EXECTR][INFO ][S:125][Q:96]:Create table by 'create as
select' mode
2017-06-01 09:28:07.350 [EXECTR][INFO ][S:125][Q:96]:Create table by 'create as
select' mode
2017-06-01 09:28:07.350 [EXECTR][INFO ][S:125][Q:96]:Passed tasks to async API,
good luck!
2017-06-01 09:28:07.351 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.173,
SQL:CREATE TABLE `gctmpdb`._tmp_rht_2902894784_125_t2_1_1496210470_s_n1 AS SELECT
/*192.168.6.173_125_10_2017-06-01_09:28:07*/ /*+ TID('5') */ `test.td_t`.`a` AS
`a`, `test.td_t`.`b` AS `b`, `test.td_t`.`c` AS `c` FROM `test`.`td_t_n1`
`test.td_t` LIMIT 0 ; commit.
2017-06-01 09:28:07.355 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.174,
SQL:CREATE TABLE `gctmpdb`._tmp_rht_2902894784_125_t2_1_1496210470_s_n2 AS SELECT
/*192.168.6.173_125_10_2017-06-01_09:28:07*/ /*+ TID('5') */ `test.td_t`.`a` AS
`a`, `test.td_t`.`b` AS `b`, `test.td_t`.`c` AS `c` FROM `test`.`td_t_n2`
`test.td_t` LIMIT 0 ; commit.
2017-06-01 09:28:07.356 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.175,
SQL:CREATE TABLE `gctmpdb`._tmp_rht_2902894784_125_t2_1_1496210470_s_n3 AS SELECT
/*192.168.6.173_125_10_2017-06-01_09:28:07*/ /*+ TID('5') */ `test.td_t`.`a` AS
`a`, `test.td_t`.`b` AS `b`, `test.td_t`.`c` AS `c` FROM `test`.`td_t_n3`
`test.td_t` LIMIT 0 ; commit.
2017-06-01 09:28:07.361 [EXECTR][INFO ][S:125][Q:96]:
-----------------+----Node Performance----+---------------
+-Type-+-------Node------+-Port-+---Elapsed---+--Status--+
| T | 192.168.6.175 | 5050 | 0 s | Finish |

GBase 8a MPP Cluster 产品手册
6 附录
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1613
| T | 192.168.6.174 | 5050 | 0 s | Finish |
| T | 192.168.6.173 | 5050 | 0 s | Finish |
+------+-----------------+------+-------------+----------+
2017-06-01 09:28:07.362 [EXECTR][INFO ][S:125][Q:96]:Passed tasks to async API,
good luck!
2017-06-01 09:28:07.365 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.173,
SQL:SELECT /*192.168.6.173_125_10_2017-06-01_09:28:07*/ /*+ TID('5') */
`test.td_t`.`a` AS `a`, `test.td_t`.`b` AS `b`, `test.td_t`.`c` AS `c` FROM
`test`.`td_t_n1` `test.td_t` target into server (HOST
'192.168.6.173,192.168.6.174,192.168.6.175', PORT 5050, USER 'root', PASSWORD '',
DATABASE 'gctmpdb', TABLE
'_tmp_rht_2902894784_125_t2_1_1496210470_s_n1,_tmp_rht_2902894784_125_t2_1_1496
210470_s_n2,_tmp_rht_2902894784_125_t2_1_1496210470_s_n3', COMMENT 'group 0,
distribution 1, hash_map 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0
1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1
2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0
1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1
2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
2017-06-01 09:28:07.374 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.174,
SQL:SELECT /*192.168.6.173_125_10_2017-06-01_09:28:07*/ /*+ TID('5') */
`test.td_t`.`a` AS `a`, `test.td_t`.`b` AS `b`, `test.td_t`.`c` AS `c` FROM
`test`.`td_t_n2` `test.td_t` target into server (HOST
'192.168.6.173,192.168.6.174,192.168.6.175', PORT 5050, USER 'root', PASSWORD '',
DATABASE 'gctmpdb', TABLE
'_tmp_rht_2902894784_125_t2_1_1496210470_s_n1,_tmp_rht_2902894784_125_t2_1_1496
210470_s_n2,_tmp_rht_2902894784_125_t2_1_1496210470_s_n3', COMMENT 'group 0,
distribution 1, hash_map 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0
1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1
2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0
1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1
2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
2017-06-01 09:28:07.379 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.175,
SQL:SELECT /*192.168.6.173_125_10_2017-06-01_09:28:07*/ /*+ TID('5') */
`test.td_t`.`a` AS `a`, `test.td_t`.`b` AS `b`, `test.td_t`.`c` AS `c` FROM
`test`.`td_t_n3` `test.td_t` target into server (HOST
'192.168.6.173,192.168.6.174,192.168.6.175', PORT 5050, USER 'root', PASSWORD '',
DATABASE 'gctmpdb', TABLE
'_tmp_rht_2902894784_125_t2_1_1496210470_s_n1,_tmp_rht_2902894784_125_t2_1_1496
210470_s_n2,_tmp_rht_2902894784_125_t2_1_1496210470_s_n3', COMMENT 'group 0,

GBase 8a MPP Cluster 产品手册
6 附录
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1614
distribution 1, hash_map 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0
1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1
2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0
1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1
2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2
2017-06-01 09:28:07.394 [EXECTR][INFO ][S:125][Q:96]:
-----------------+----Node Performance----+---------------
+-Type-+-------Node------+-Port-+---Elapsed---+--Status--+
| T | 192.168.6.173 | 5050 | 0 s | Finish |
| T | 192.168.6.175 | 5050 | 0 s | Finish |
| T | 192.168.6.174 | 5050 | 0 s | Finish |
+------+-----------------+------+-------------+----------+
2017-06-01 09:28:07.394 [EXECTR][INFO ][S:125][Q:96]:Passed tasks to async API,
good luck!
2017-06-01 09:28:07.395 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.173,
SQL:flush temporary commit
`gctmpdb`._tmp_rht_2902894784_125_t2_1_1496210470_s_n1.
2017-06-01 09:28:07.399 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.174,
SQL:flush temporary commit
`gctmpdb`._tmp_rht_2902894784_125_t2_1_1496210470_s_n2.
2017-06-01 09:28:07.401 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.175,
SQL:flush temporary commit
`gctmpdb`._tmp_rht_2902894784_125_t2_1_1496210470_s_n3.
2017-06-01 09:28:07.407 [EXECTR][INFO ][S:125][Q:96]:
-----------------+----Node Performance----+---------------
+-Type-+-------Node------+-Port-+---Elapsed---+--Status--+
| T | 192.168.6.175 | 5050 | 0 s | Finish |
| T | 192.168.6.174 | 5050 | 0 s | Finish |
| T | 192.168.6.173 | 5050 | 0 s | Finish |
+------+-----------------+------+-------------+----------+
2017-06-01 09:28:07.407 [EXEC_P][INFO ][S:125][Q:96]:## STEP: 1 ...
2017-06-01 09:28:07.407 [EXECTR][INFO ][S:125][Q:96]:Current plan [0x7fff3d583520]
has 0 uncorrelated subquery.
2017-06-01 09:28:07.407 [EXECTR][INFO ][S:125][Q:96]:Distribution Info, /[8a:P1]
2017-06-01 09:28:07.407 [EXECTR][INFO ][S:125][Q:96]:---Step detail: 8a to client,
query to all gnode
2017-06-01 09:28:07.408 [EXECTR][INFO ][S:125][Q:96]:Result redirected to insert
table ......
2017-06-01 09:28:07.408 [EXECTR][INFO ][S:125][Q:96]:Distribution of insert table:
1
2017-06-01 09:28:07.409 [EXECTR][INFO ][S:125][Q:96]:Passed tasks to async API,
good luck!
2017-06-01 09:28:07.411 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.173,
SQL:SET SELF SCN = 23;.
2017-06-01 09:28:07.413 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.174,
SQL:SET SELF SCN = 23;
2017-06-01 09:28:07.414 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.175,
SQL:SET SELF SCN = 23;.
2017-06-01 09:28:07.415 [EXECTR][INFO ][S:125][Q:96]:
-----------------+----Node Performance----+---------------
+-Type-+-------Node------+-Port-+---Elapsed---+--Status--+

GBase 8a MPP Cluster 产品手册
6 附录
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1615
| T | 192.168.6.175 | 5050 | 0 s | Finish |
| T | 192.168.6.174 | 5050 | 0 s | Finish |
| T | 192.168.6.173 | 5050 | 0 s | Finish |
+------+-----------------+------+-------------+----------+
2017-06-01 09:28:07.415 [LOCK][INFO ][S:125][Q:96]:unlocked: test.td_t
2017-06-01 09:28:07.417 [LOCK][INFO ][S:125][Q:96]:acquired WRITE lock:
test.td_s.09B5BEEC-1EF7-4FA6-9850-C4217A781E0F
2017-06-01 09:28:07.429 [EXECTR][INFO ][S:125][Q:96]:Passed tasks to async API,
good luck!
2017-06-01 09:28:07.433 [EXECTR][INFO ][S:125][Q:96]:Set failover!
2017-06-01 09:28:07.433 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.173,
SQL:SELECT /*192.168.6.173_125_10_2017-06-01_09:28:07*/ /*+ TID('5') */
`_tmp_rht_2902894784_125_t2_1_1496210470_s_n1`.`a` AS `a`,
`_tmp_rht_2902894784_125_t2_1_1496210470_s_n1`.`b` AS `b`,
`_tmp_rht_2902894784_125_t2_1_1496210470_s_n1`.`c` AS `c` FROM
`gctmpdb`._tmp_rht_2902894784_125_t2_1_1496210470_s_n1 INNER JOIN
`test`.`td_s_n1` `test.td_s` ON (`test.td_s`.`a` =
`_tmp_rht_2902894784_125_t2_1_1496210470_s_n1`.`a`) target into server (HOST
'192.168.6.173,192.168.6.174', PORT 5050, USER 'root', PASSWORD '', DATABASE 'test',
TABLE 'td_s_n1', COMMENT 'table_host 0 0 1, scn 23, distribution 1' ).
2017-06-01 09:28:07.434 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.174,
SQL:SELECT /*192.168.6.173_125_10_2017-06-01_09:28:07*/ /*+ TID('5') */
`_tmp_rht_2902894784_125_t2_1_1496210470_s_n2`.`a` AS `a`,
`_tmp_rht_2902894784_125_t2_1_1496210470_s_n2`.`b` AS `b`,
`_tmp_rht_2902894784_125_t2_1_1496210470_s_n2`.`c` AS `c` FROM
`gctmpdb`._tmp_rht_2902894784_125_t2_1_1496210470_s_n2 INNER JOIN
`test`.`td_s_n2` `test.td_s` ON (`test.td_s`.`a` =
`_tmp_rht_2902894784_125_t2_1_1496210470_s_n2`.`a`) target into server (HOST
'192.168.6.174,192.168.6.175', PORT 5050, USER 'root', PASSWORD '', DATABASE 'test',
TABLE 'td_s_n2', COMMENT 'table_host 0 0 1, scn 23, distribution 1' ).
2017-06-01 09:28:07.434 [SQLDISP][INFO ][S:125][Q:96]:Target:192.168.6.175,
SQL:SELECT /*192.168.6.173_125_10_2017-06-01_09:28:07*/ /*+ TID('5') */
`_tmp_rht_2902894784_125_t2_1_1496210470_s_n3`.`a` AS `a`,
`_tmp_rht_2902894784_125_t2_1_1496210470_s_n3`.`b` AS `b`,
`_tmp_rht_2902894784_125_t2_1_1496210470_s_n3`.`c` AS `c` FROM
`gctmpdb`._tmp_rht_2902894784_125_t2_1_1496210470_s_n3 INNER JOIN
`test`.`td_s_n3` `test.td_s` ON (`test.td_s`.`a` =
`_tmp_rht_2902894784_125_t2_1_1496210470_s_n3`.`a`) target into server (HOST
'192.168.6.175,192.168.6.173', PORT 5050, USER 'root', PASSWORD '', DATABASE 'test',
TABLE 'td_s_n3', COMMENT 'table_host 0 0 1, scn 23, distribution 1' ).
2017-06-01 09:28:07.456 [EXECTR][INFO ][S:125][Q:96]:
-----------------+----Node Performance----+---------------
+-Type-+-------Node------+-Port-+---Elapsed---+--Status--+
| T | 192.168.6.175 | 5050 | 0 s | Finish |
| T | 192.168.6.174 | 5050 | 0 s | Finish |
| T | 192.168.6.173 | 5050 | 0 s | Finish |

GBase 8a MPP Cluster 产品手册
6 附录
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1616
+------+-----------------+------+-------------+----------+
2017-06-01 09:28:07.457 [EXEC_P][INFO ][S:125][Q:96]:## STEP: 2 ...
2017-06-01 09:28:07.457 [EXECTR][INFO ][S:125][Q:96]:Current plan [0x7fff3d583520]
has 0 uncorrelated subquery.
2017-06-01 09:28:07.457 [EXECTR][INFO ][S:125][Q:96]:---Enter Insert step...
2017-06-01 09:28:07.457 [EXECTR][INFO ][S:125][Q:96]:===========DML valid nodes
from query===========
2017-06-01 09:28:07.457 [EXECTR][INFO ][S:125][Q:96]:|| n1 | 192.168.6.173,