在DB2数据库使用alter table之后会导致程序报错SQL0668N Operation not allowed for reason code "7" on table XXX,
意思就是对表进行任何操作都不被允许,提示SQLSTATE=57016 SQLCODE=-668 ,原因码 "7"的错误:SQL0668N Operation not allowed for reason code "7" on table XXX.
解决方法为:
db2命令行操作:
执行命令:reorg table XXX;即可。
什么是reorg,执行它有什么用?
简单来说reorg table是来优化整理数据库表的,例如当表进行了大量的删减之后,就需要进行reorg。
建议在每次使用完alter 操作后都执行一次reorg。
如果是db2客户端出现报错这个问题:db2客户端用dbvisualizer无法进行reorg操作
DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016
出现此类错误时,需要重新装载数据库表,但在db2客户端用dbvisualizer无法进行直接进行reorg操作 ,可执行下面的指令,
call Sysproc.admin_cmd('REORG TABLE MY_TABLE_NAME');