1 经常需要用到在不drop表的前提下去修改表字段的数据类型。
<!--StartFragment --> alter table yc_module alter name set data type varchar(255)
添加列
alter table tablename add 列明 varchar();
遇到不能操作数据表,错误码 57016 原因码 "7"
SQLSTATE 57016: 因为表不活动,所以不能对其进行访问。
解决方法为:执行命令:reorg table XXX
其中:
reorg table [table]通过重构行来消除“碎片”数据并压缩信息,对表进行重组。
runstats on table . 收集表 的统计信息。
reorgchk on table all 确定是否需要对表进行重组,对于对所有表自动执行 runstats 很有用。
>>> reorg 和runstats 都是单个表优化,初始化的命令:
3,关于DB2 57011错误的时候
一般来说发生这种问题的原因是APPLHEAPS的大小不足了,可以通过增大APPLHEAPS来解决此问题,步骤如下:
第一步:执行
db2 get db cfg for <dbname>|grep "Default application heap" 检查当前APPLHEAPS的大小。
第二步:执行
db2 update db cfg for <dbname> using APPLHEAPSZ <新APPLHEAPSZ的大小(例如:512)>来设置 APPLHEAPSZ的大小,一般来说是当前APPLHEAPSZ的倍数。
第三步:执行
db2stop 来停止DB2服务,如果停止不掉可以考虑执行 db2stop force 强制停止。
第四步:执行 db2start 启动DB2服务。
第五步:再次执行
db2 get db cfg for <dbname>|grep "Default application heap" 检查当前APPLHEAPS的大小是否是新设置的值