DB2 docker共享内存段不能分配
我正在尝试使用DB2数据库设置docker镜像。 安装完成没有任何问题,但是当我尝试重新启动数据库时出现以下错误:
SQL1084C无法分配共享内存段。 SQLSTATE = 57019
我基于这个Dockerfile: https : //github.com/jeffbonhag/db2-docker他说,同样的问题应该通过添加命令来解决
sysctl kernel.shmmax=18446744073692774399
允许内核分配更多内存,但错误仍然存在。
docker守护进程本身运行在Ubuntu 14.04上,它运行在MacOSX上的Parallels中。
编辑:经过一番search后,我发现这与下面的命令有关:
UPDATE DB CFG FOR S0MXAT01 USING locklist 100000;
您正在过度分配数据库内存堆,即docker无法满足内存需求。 看看下面的手册链接 。 这会给你一个在数据库内存中的内容的细目:
Bufferpools The database heap The locklist The utility heap The package cache The catalog cache The shared sort heap, if it is enabled A 20% overflow area
docker工人很高兴的时候,你可以在这些堆上摆弄(减less)任何堆。