此问题有很多原因都会导致。现将个人解决步骤如下
1、查看linux机器最近一次启动时间
uptime
date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"
若发生机器重启,会导致1042错误。
2、安装jar文件期间,造成1042错误(此类多发在存储过程)
检查
应用程序支持层堆大小
ASLHEAPSZ
查询堆大小
QUERY_HEAP_SZ
参数。
db2 get dbm cfg 可以查看到该参数,以及设置。
db2 update dbm cfg using 参数 具体值
ASLHEAPSZ 默认比较小,可以设置1M
QUERY_HEAP_SZ 可以设置1M
解决方案 2:
检查
DB2_FMP_COMM_HEAPSZ
注册表变量。
db2set -all 可以查看该参数
为0的话,修改为空
3、查看物理内存
free -m
4、在升级DB2的时候,发生1042错误
在DB2安装目录/instance下有DB2IUPDT命令;
通过root用户执行./db2iupdt db2inst1 (db2inst1为实例名)
再用root用户执行./db2iupdt -e 来确认instance 被 updated.
接着在db2start就可以将数据库启动起来
5、终极解决方案
当以上问题都不能解决,查看diag日志
日志路径可以通过db2 get dbm cfg 获得 DIAGPATH