DB2的多分区管理通常会给大家有点挑战性,但是很多时候多分区和单分区管理差别不是很大,如下总结了常见的操作管理命令:
启动指定分区的数据库节点:
DB2start dbpartitionnum DBNODENUM
在日常操作中,我们需要确定当前连接节点号码,如下就是检查当前分区节点号码方法:
DB2 values current dbpartitionnum
在日常多分区环境下 ,需要查看分区组数如下:
DB2 LIST DATABASE PARTITION GROUPS SHOW DETAIL
对于多分区数据库的数据分布不均匀时,需要重新分布数据库分区组数据:
DB2 “REDISTRIBUTE DATABASE PARTITION GROUP pg123 UNIFORM”
OR
DB2 “REDISTRIBUTE DATABASE PARTITION GROUP pg123 using TARGETMAP pg123.map”
DB2 “REDISTRIBUTE DATABASE PARTITION GROUP IBMDEFAULTGROUP USING TARGETMAP /home/wangfg/t2.map TABLE (t2) ONLY”
检查分区表数据在各分区的分布情况:
SELECT DBPARTITIONNUM(distribution key),COUNT( * )
FROM schema.table
GROUP BY DBPARTITIONNUM(distribution key)
ORDER BY DBPARTITIONNUM(distribution key)
查看分区图分布情况:
SELECT HASHEDVALUE(distribution key),COUNT( * )
FROM schema.table
GROUP BY HASHEDVALUE(distribution key)
ORDER BY HASHEDVALUE(distribution key)
对于多分区操作可以参见如下方式的命令来管理多分区:
DB2_all “DB2 UPDATE DB CFG FOR TESTDB USING LOGRETAIN ON”
DB2_all “;DB2 UPDATE DB CFG FOR TESTDB USING LOGRETAIN ON”
DB2_all “DB2 CONNECT TO testdb ;DB2 LIST TABLESPACES SHOW DETAIL”