kingbase数据库批量写N个分区语句

本次举例子为N=20个

[kingbase@node202 ~]$ for ((i=1;i<=20;i++));do echo "partition p$i values('sp$i');";done > add_partiton20.sql
[kingbase@node202 ~]$ cat add_partiton20.sql
partition p1 values('sp1');
partition p2 values('sp2');
partition p3 values('sp3');
partition p4 values('sp4');
partition p5 values('sp5');
partition p6 values('sp6');
partition p7 values('sp7');
partition p8 values('sp8');
partition p9 values('sp9');
partition p10 values('sp10');
partition p11 values('sp11');
partition p12 values('sp12');
partition p13 values('sp13');
partition p14 values('sp14');
partition p15 values('sp15');
partition p16 values('sp16');
partition p17 values('sp17');
partition p18 values('sp18');
partition p19 values('sp19');
partition p20 values('sp20');


–批量替换成添加分区的语句
:%s/partition/alter table test_tab_list add partition/g
在这里插入图片描述

–将add_partition.sql分成14个文件
split add_partition.sql -l 10000 -d -a 14 add.sql
在这里插入图片描述

vi  create_partition.sql
create table test_tab_list(
spcode varchar2(8),  
time date)
partition by list(spcode)(
partition p1 values('sp1')
);
ksql -Usystem -dtest -f create_partition.sql

–后台批量执行
[kingbase@node202 add_par]$ cat add_par.sh

#!/bin/bash
ksql -Usystem -dtest -p54343 -f add.sql00000000000000 > add.sql0000000.log 2>&1 &
ksql -Usystem -dtest -p54343 -f add.sql00000000000001 > add.sql0000001.log 2>&1 &
ksql -Usystem -dtest -p54343 -f add.sql00000000000002 > add.sql0000002.log 2>&1 &
ksql -Usystem -dtest -p54343 -f add.sql00000000000003 > add.sql0000003.log 2>&1 &
ksql -Usystem -dtest -p54343 -f add.sql00000000000004 > add.sql0000004.log 2>&1 &
ksql -Usystem -dtest -p54343 -f add.sql00000000000005 > add.sql0000005.log 2>&1 &
ksql -Usystem -dtest -p54343 -f add.sql00000000000006 > add.sql0000006.log 2>&1 &
ksql -Usystem -dtest -p54343 -f add.sql00000000000007 > add.sql0000007.log 2>&1 &
ksql -Usystem -dtest -p54343 -f add.sql00000000000008 > add.sql0000008.log 2>&1 &
ksql -Usystem -dtest -p54343 -f add.sql00000000000009 > add.sql0000009.log 2>&1 &
ksql -Usystem -dtest -p54343 -f add.sql00000000000010 > add.sql00000010.log 2>&1 &
ksql -Usystem -dtest -p54343 -f add.sql00000000000011 > add.sql00000011.log 2>&1 &
ksql -Usystem -dtest -p54343 -f add.sql00000000000012 > add.sql00000012.log 2>&1 &
ksql -Usystem -dtest -p54343 -f add.sql00000000000013 > add.sql00000013.log 2>&1 &
[kingbase@node202 add_par]$

在这里插入图片描述

–进入到数据库查看或者查看日志
[kingbase@node202 ~]$ cat add.sql00*.log | grep -i “alter table” | wc -l

test=# select count(*) from sys_tables where tablename like ‘test_tab_list1_p%’;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值