金融其它

DB2 共享内存段无法分配,数据库无法连接

我从一台AIX小机上的源数据库备份,重定向恢复到另一台AIX小机。恢复完成后,输入"db2 connect to DB_NAME"后,报错"shared memory segments cannot be allocated",搞了好几天了还没搞好,求大神们指导是什么原因啊?
PS:网上有人说是数据库的缓冲池设置太大,要改小一点,可是现在连接不上数据库,怎么改缓冲池大小?真心求指导啊~~
参与13

12同行回答

yucckjbyucckjb其它好利公司
有收获显示全部
有收获收起
IT咨询服务 · 2013-07-20
浏览1658
sadade123sadade123数据库管理员北京科技大学
问题已解决,确实是实例32位与64位的问题,目标主机应该也用64位的实例,但是把32位实例直接升级到64位后,报错产生一个系统错误。于是我索性把这个32位实例删掉,重新建了新的64位实例,在新实例下重新恢复数据库后连接正常,感谢论坛大拿们的回复,这次又学到了很多。顺应论坛好风气,结...显示全部
问题已解决,确实是实例32位与64位的问题,目标主机应该也用64位的实例,但是把32位实例直接升级到64位后,报错产生一个系统错误。于是我索性把这个32位实例删掉,重新建了新的64位实例,在新实例下重新恢复数据库后连接正常,感谢论坛大拿们的回复,这次又学到了很多。顺应论坛好风气,结贴!收起
金融其它 · 2013-07-19
浏览1625
marvelyumarvelyu软件开发工程师IBM
确实上面的参数设置为automatic启动仍旧会以共享内存中的设置分配如果启动数据库时此内存不可用,数据库管理器将尝试启动用另一种页大小定义的一个缓冲池。 但是,只能启动每个为最小大小 16 页的缓冲池。要指定另一个最小缓冲池大小,使用 DB2_OVERRIDE_BPF 注册表变量。 当...显示全部
确实上面的参数设置为automatic启动仍旧会以共享内存中的设置分配
如果启动数据库时此内存不可用,数据库管理器将尝试启动用另一种页大小定义的一个缓冲池。 但是,只能启动每个为最小大小 16 页的缓冲池。要指定另一个最小缓冲池大小,使用 DB2_OVERRIDE_BPF 注册表变量。 当不能在启动时分配缓冲池时,返回 SQL1478W(SQLSTATE 01626)警告。 数据库会继续保持在此运作状态,直到更改其配置且数据库可以完全重新启动为止。
具体用法参见:
http://publib.boulder.ibm.com/in ... /admin/r0005665.htm收起
互联网服务 · 2013-07-11
浏览2026
iwaichiwaich软件开发工程师IBM
会不会是因为操作系统共享内存段设置太小,试着将SHMMAX操作系统参数调整大一些看看。。。显示全部
会不会是因为操作系统共享内存段设置太小,试着将SHMMAX操作系统参数调整大一些看看。。。收起
互联网服务 · 2013-07-10
浏览1981
zhmwangzhmwangPDOceanBase
回复 7# sadade123     最好升级下实例到相应的版本.前面有误,32到64位没问题,我以前升级过一个v8.1至v9.7 fp5的库。显示全部
回复 7# sadade123


    最好升级下实例到相应的版本.前面有误,32到64位没问题,我以前升级过一个v8.1至v9.7 fp5的库。收起
互联网服务 · 2013-07-10
浏览1900
sadade123sadade123数据库管理员北京科技大学
回复 6# tianshizuoyi     版本很低,V8.1.1.64显示全部
回复 6# tianshizuoyi


    版本很低,V8.1.1.64收起
金融其它 · 2013-07-10
浏览1882
DB-TrendSetterDB-TrendSetter联盟成员数据库架构师公司
WHAT'S YOUR DB2 LEVEL ?显示全部
WHAT'S YOUR DB2 LEVEL ?收起
电信运营商 · 2013-07-09
浏览1883
hczzhonghczzhong售前工程师CN
You can restore a database from a backup image taken on a 32–bit level intoa 64–bit level, but not vice versa.显示全部
You can restore a database from a backup image taken on a 32–bit level into
a 64–bit level, but not vice versa.收起
IT分销/经销 · 2013-07-09
浏览1944
zhmwangzhmwangPDOceanBase
回复 3# sadade123     32到64位是有问题的. 64位到32位没有遇到过。显示全部
回复 3# sadade123


    32到64位是有问题的. 64位到32位没有遇到过。收起
互联网服务 · 2013-07-09
浏览1915
sadade123sadade123数据库管理员北京科技大学
回复 2# zhmwang     INSTANCE_MEMORY和DATABASE_MEMORY都是AUTOMATIC,db2start没有问题,应该不是前者的问题。后者我试过各种值,连接数据库都不行,都报原来的错。DB2_OVERRIDE_BPF的值我也设置过,也不行。现在就是连接不上数据库.... 我发现了一个重要的问题,源数据...显示全部
回复 2# zhmwang


    INSTANCE_MEMORY和DATABASE_MEMORY都是AUTOMATIC,db2start没有问题,应该不是前者的问题。后者我试过各种值,连接数据库都不行,都报原来的错。DB2_OVERRIDE_BPF的值我也设置过,也不行。现在就是连接不上数据库....

我发现了一个重要的问题,源数据库的实例是64位的,目标数据库的实例是32位的,这个有影响吗?收起
金融其它 · 2013-07-09
浏览1947

提问者

sadade123
数据库管理员北京科技大学

问题状态

  • 发布时间:2013-07-09
  • 关注会员:1 人
  • 问题浏览:8116
  • 最近回答:2013-07-20
  • X社区推广