DB2 表分区创建与管理

DB2 表分区创建与管理

表分区创建脚本

-- 创建表空间
--https://www.ibm.com/support/knowledgecenter/zh/SSEPGG_10.5.0/com.ibm.db2.luw.admin.dbobj.doc/doc/t0004953.html
CREATE TABLESPACE ts_2011 INCREASESIZE 1g;
CREATE TABLESPACE ts_2012 INCREASESIZE 1g;
CREATE TABLESPACE ts_max INCREASESIZE 1g ;

-- 表空间授权
GRANT USE OF TABLESPACE ts_2011 TO USER u1;
GRANT USE OF TABLESPACE ts_2012 TO USER u1;
GRANT USE OF TABLESPACE ts_max TO USER u1;

-- 创建分区表
--https://www.ibm.com/support/knowledgecenter/zh/SSEPGG_10.5.0/com.ibm.db2.luw.admin.partition.doc/doc/c0021557.html
CREATE TABLE t 
(id INT NOT NULL ,
rq DATE,
CONSTRAINT pk_t PRIMARY key(ID)
)
compress yes
PARTITION BY range(rq NULLS FIRST )(
PART p2011 starting MINVALUE ending '2012-01-01' EXCLUSIVE IN ts_2011
);

-- 添加数据分区:
-- https://www.ibm.com/support/knowledgecenter/zh/SSEPGG_10.5.0/com.ibm.db2.luw.admin.partition.doc/doc/t0021566.html
ALTER TABLE t ADD PARTITION p2012 ending '2013-01-01' EXCLUSIVE in ts_2012 ;

-- 拆离数据分区
-- https://www.ibm.com/support/knowledgecenter/zh/SSEPGG_10.5.0/com.ibm.db2.luw.admin.partition.doc/doc/t0021576.html
ALTER TABLE t detach PARTITION p2012 INTO t_2012;

-- 连接数据分区
-- https://www.ibm.com/support/knowledgecenter/zh/SSEPGG_10.5.0/com.ibm.db2.luw.admin.partition.doc/doc/t0021577.html
ALTER TABLE t attach PARTITION p2012 ending '2013-01-01' EXCLUSIVE FROM TABLE t_2012;
SET INTEGRITY FOR t IMMEDIATE checked;

-- 删除数据分区
-- https://www.ibm.com/support/knowledgecenter/zh/SSEPGG_10.5.0/com.ibm.db2.luw.admin.partition.doc/doc/t0021569.html
ALTER TABLE t detach PART p2012 INTO t_junk;
SELECT * FROM t_junk;
DROP TABLE t_junk;

表分区相关系统字典表

-- 表分区相关系统字典表
SELECT * FROM syscat.tables WHERE TABNAME LIKE 'T%' ORDER BY TABNAME;
SELECT * FROM SYSCAT.DATAPARTITIONS WHERE TABNAME LIKE 'T%' ORDER BY TABNAME;
SELECT * FROM syscat.indexes WHERE TABNAME LIKE 'T%' ORDER BY TABNAME;
SELECT * FROM SYSCAT.INDEXPARTITIONS;

你可能感兴趣的:(db2,db2,表空间授权,拆离数据分区,连接数据分区,删除数据分区)