DB2 Buffer Pool定义的太大


DB2 Buffer Pool定义的太大

  如果是 Buffer Pool定义的太大, 无法分配造成的数据库不能连接, 可以尝试用下面的步骤来解决:
  1. 用DB2实例Owner的用户登录到系统,
  2. 执行下面的命令来设置环境变量DB2_OVERRIDE_BPF
  db2set DB2_OVERRIDE_BPF=number-of-pages
  其中number-of-pages为页数, 应该是一个较小的, 操作系统可以分配的值, 如5000; 下一次DB2数据库连接以激活数据库时, DB2系统会尝试按照此参数指定的大小来分配BUFFERPOOL;
  3.执行db2 terminate ,
  运行命令db2 connect to db来建立数据库连接; 由于我们已经设置了DB2_OVERRIDE_BPF环境变量, 此连接应该可以成功;
  4. 连接建立后, 不要做其他操作, 立刻修改bufferpool;
  db2 alter bufferpool bufferpool-name size number-of-pages
  5. 为了使得我们修改的新buffer pool的大小可以生效, 需要先运行命令 db2 connect reset 断开当前的连接;
  6. 运行命令 db2set DB2_OVERRIDE_BPF= 以去掉该环境变量, 使得我们配置的新的buffer pool的大小可以生效;
  7. 重新连接数据库

相关