在db2数据库断开所有连接重启之后,无法连接数据库,报错信息如下,连接时候报错的日志文件(db2diag.txt)也在下面,请大神看看
SQL1224N The database manager is not able to accept new requests, has
terminated all requests in progress, or has terminated the specified request
because of an error or a forced interrupt. SQLSTATE=55032
附件:
db2diag.txt (523.26 KB)
大部分全是这个报错:
2021-03-22-17.31.02.899991+480 E31190E530 LEVEL: Error (OS)
PID : 29941 TID : 140310780831488 PROC : db2sysc 0
INSTANCE: db2inst1 NODE : 000 DB : DAYU
APPHDL : 0-7 APPID: *LOCAL.db2inst1.210322092633
AUTHID : DB2INST1 HOSTNAME: test.com
EDUID : 39 EDUNAME: db2redom (DAYU) 0
FUNCTION: DB2 UDB, SQO Memory Management, sqloMemCreateSingleSegment, probe:100
CALLED : OS, -, shmget
我瞎猜的, sqloMemCreateSingleSegment 这个应该创建内存段的时候报错,类型是OS,需要操作系统的shmget的系统调用来请求内存,但是没请求到。没请求到一般要么是没了,要么是达到限制数量了。两个建议:
1. 你参考信息中心结合自己的配置,检查下shmmax和shmall的值,如果有必要调大点
2. 你的db2版本10.1.0.0 没打补丁,更新下补丁吧 保不齐是bug
AIX 上的 SQL1224N
如果 SLM 数据库与 IBM Tivoli Service Level Advisor 的任何安装选项驻留在同一台机器行并且平台是 AIX(R),那么必须配置 DB2 使用扩展共享内存。要启用此支持,请执行以下操作:
将 EXTSHM=ON 添加到 /etc/environment 文件
从 DB2 命令提示符,运行如下命令:
db2set DB2ENVLIST=EXTSHM
将以下行添加到 sqllib/db2profile
EXTSHM=ON
export EXTSHM
重新引导机器,使更改生效
相关的文档:有关更多信息,请参阅有关共享内存配置的 DB2 文档。
Solaris 上的 SQL1224N
此错误可能表示 Sun Solaris 机器上 DB2 服务器的配置不正确。必须在 /etc/system 内核配置文件中正确设置内核配置参数,以便确保 DB2 正常工作。
这些值可以在 IBM DB2 Universal Database V7 for UNIX Quick Beginnings 中找到。必须重新引导系统,然后这些配置参数才生效。
收起日志中"the data does not exists",可能是丢失了某些文件,db2inst1.nfy中有没有报错信息。
收起