db2 增加刪除分割槽

2021-06-25 07:29:18 字數 2684 閱讀 3607

1.建立分割槽表,inclusive(包含),exclusive(不包含)

create table "mabas"."bas_mid_trans_list_ck_bak" (

"report_date" date,

"ma_acct_no" varchar(100),

"trans_date" date,

"org_unit_id" varchar(15),

"org_prod_id" varchar(15),

"curr_cd" varchar(15),

"acct_no" varchar(15),

"trans_num" varchar(15),

"trans_no" varchar(15),

"trans_dif" varchar(15),

"deposit_char" varchar(15),

"deposit_bal" decimal(18,2),

"trans_amt" decimal(18,2),

"trans_type" character(1),

"***" character(1),

"rate" decimal(18,6),

"trxmem" decimal(4,0)

) in "ma_data"

index in "ma_index"

partition by range ( "report_date" nulls last ) ( partition part0 starting '2010-12-10' inclusive  ending '2010-12-20' inclusive )

;comment on table "mabas"."bas_mid_trans_list_ck_bak" is '活期交易明細表';

comment on "mabas"."bas_mid_trans_list_ck_bak" ( 

"report_date" is '資料日期',

"ma_acct_no" is '管會賬號',

"trans_date" is '營業日期',

"org_unit_id" is '行所號',

"org_prod_id" is '業務品種 ',

"curr_cd" is '幣別',

"acct_no" is '帳號',

"trans_num" is '交易序號',

"trans_no" is '交易代號',

"trans_dif" is '交易區別',

"deposit_char" is '存款性質 ',

"deposit_bal" is '存款餘額',

"trans_amt" is '交易金額',

"trans_type" is '交易別',

"***" is '連動標誌',

"rate" is '匯率' );

grant control on table "mabas"."bas_mid_trans_list_ck_bak" to user "db2inst2";

grant select, insert, update, alter, delete,

index, references on table "mabas"."bas_mid_trans_list_ck_bak" to user "db2inst2" with grant option;

grant select, insert, update, alter, delete,

index, references on table "mabas"."bas_mid_trans_list_ck_bak" to user "db2inst2" with grant option;

grant select, insert, update, alter, delete,

index, references on table "mabas"."bas_mid_trans_list_ck_bak" to user "mapub" with grant option;

2.增加分割槽,注意這裡的inclusive,exclusive,這時只有2011-01-31的資料可以進行insert

alter table mabas.bas_mid_trans_list_ck_bak add partition list_ck_bak0131  starting '2011-01-31' inclusive ending  '2011-02-01' exclusive

3.insert 資料

insert into mabas.bas_mid_trans_list_ck_bak select * from mabas.bas_mid_trans_list_ck where report_date=date('2011-01-31');

4.轉移分割槽到臨里表

alter table mabas.bas_mid_trans_list_ck_bak detach partition list_ck_bak0131 into mabas.bas_mid_trans_list_ck_bak1

5.刪除生成的分割槽遷移表,注意這時分割槽表的分割槽(list_ck_bak0131)己經不存在了,如果要insert必須新增該分割槽

drop table mabas.bas_mid_trans_list_ck_bak1

以下為應用寫的shell指令碼,並參照syscat.datapartitions 進行判斷,如果有則刪除分割槽,否則進行新建。

DB2 分割槽表增加分割槽

最近,需要在db2的分割槽表中增加新的分割槽,用於儲存資料,因此,就研究了db2表的分割槽機制。現在總結,實現的方式共有三種,分別是 1 建立臨時表,將原表資料匯入臨時表,之後將原表重建,擴大分割槽 2 通過alter table tab name add partition,為表增加分割槽 3 建...

DB2 刪除例項

要使用命令列來除去根例項,請完成下列步驟 停止當前使用該例項的所有應用程式。在每個命令視窗中,通過執行 terminate 命令來停止命令列處理器。執行 db2stop 命令來停止該例項。備份由 db2instprof 登錄檔變數指示的例項目錄。在 linux 和 unix 作業系統上,請考慮備份 ...

db2 最大分割槽數 DB2表分割槽資料清空維護

清空一張表的資料,我們可以truncate這張表,亦或是用replace的方式載入乙個空檔案來清空表。那麼如果現在我只需清空表的某個分割槽的資料話,要如何來做呢?2b青年說 直接delete 條件嘛。那好,現在我有張表的情況是這樣的 每個分割槽中都有1g多點的資料,現在用delete來刪除1號分割槽...