最近操作db2库时遇到了一些问题,在这里记录一下
本篇介绍一下db2的REORG命令的处理方法
最近在db2库对一个表的结构进行操作,突然执行报错
1 | alter table <tablename> alter <colname> set data type <new data type>; |
经过百度发现 连续三次set data type将会使该表进入reorg pending状态。
可通过该语句 获取次数
1 | SELECT NUM_REORG_REC_ALTERS from SYSIBMADM.ADMINTABINFO where tabname = '<tablename>'; |
可通过该语句 判断一个表是否处于reorg pending
1 | SELECT REORG_PENDING FROM SYSIBMADM.ADMINTABINFO where tabname = '<tablename>'; |
使用改语句解除reorg table schema.tabname;
REORG 不是 SQL 语句,因此不能使用 SQL 接口(如 QMF)发出.您将需要使用 DB2 命令行处理器来运行它.或者,您可以使用管理存储过程,可以通过 QMF 调用:
1 | call sysproc.admin_cmd('reorg table schema.tabname'); |
评论