DB2 11.5 的容器镜像,启动的时候,自动创建了数据库TESTDB, 但是没有自动启动DB2 manager,进入db2inst1账号后,由于db2admin没有在PATH里面,db2start会失败,所以,将路径 /opt/ibm/db2/V11.5/das/bin 假如到PATH 后,db2start可以正常启动,但是,db2 connect to testdb 时,就会报错,然后db2 manager进程就退出了。
然而,也找不到哪里有有用的错误日志。
db2 manager启动的时候,数据库本身并没有启动,可以激活数据库,也可以第一次connect to 数据库的时候自动激活,目前的情况就是第一次连接的时候失败,应该就是因为数据库启动失败
先怀疑一下:
- 可能是日志文件配置的太多、太大,磁盘不够,所以数据库启动不了
- 可能是启动数据库需要的内存不能满足需求,所以数据库启动失败
检查:
db2 get db cfg for testdb
日志文件存储需求: 1024 * 4K * (13+12) = 100MB ;
这个完全没有问题。
内存需求: 1237664 * 4K = 4.8GB ,然而,我的容器限制的是2GB的内存
修改内存需求配置:
1 |
db2 update db cfg for testdb using DATABASE_MEMORY 4096 |
修改后: 4096*4KB= 16MB (这个是非常小的,这里仅仅是快速测试一下是不是内存问题导致的失败,所以,随便写了一个很小的值)
再次测试,发现连接数据库正常了
总结:
- 注意修改数据库相关配置
问题:
- 默认的数据库内存大小是如何确定的?