金仓数据库sys_repack使用方式

使用方法:
1.设置autovacuum=off
    酌情配置,小表可以不用关闭,大表酌情配置
2.把sample/sys_repack目录下的两个sql文件拷贝到bin目录下
3.修改sys_repack--1.0.sql文件里的libdir,改成绝对路径
4.\i sys_repack--1.0.sql  (注意:每个库都要执行)
5.简单用例环境准备:
create table repack_test(n_id int primary key,c_name varchar(3000));
insert into repack_test select generate_series(1,4000000),'张三';
update repack_test set c_name = '张三-1' where n_id <=2000000;
analyze repack_test;
select * from sys_class where relname='REPACK_TEST';
6.测试:
./sys_repack -h localhost -p 8001 -U SYSTEM -WMANAGER -d TEST --no-order --elevel=debug --table repack_test 
7.查看relfilenode是否改变和relpages是否变小
select * from sys_class where relname='REPACK_TEST';


注意:
(1)repack前评估一下数据量大小,添加足够的数据文件以及临时文件
(2)当sys_repack工具运行途中异常中断,可能会遗留一些临时对象在repack模式下。可以通过执行sys_repack--unpackaged--1.0.sql卸载工具再重装来解决。
(3)sys_repack被kill掉或者异常退出的时候,可能会遗留3个触发器repack_trigger_insert,repack_trigger_delete,repack_trigger_update。排除非客户触发器后手动删除即可。
(4)处理大表的时候建议先执行一次vacuum,减少sys_repack执行中触发vacuum。
(5)访问频率比较高的表建议配合-D 和 -T参数使用,让sys_repack等待足够长的时间来不停地尝试加锁
        ./sys_repack -h localhost -p 8001 -U SYSTEM -WMANAGER -d TEST --no-order --elevel=debug --table repack_test -D -T 1800
 

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值