DB2在Linux下的安装

本文详细介绍了如何在SUSE Linux Enterprise Server 11环境下安装DB2 V9.7数据库,包括环境准备、安装包上传与解压、安装前检查及解决安装过程中遇到的问题,如ASLR内存地址随机化和libpam.so依赖问题。在安装结束后,还提到了安装日志中关于SA MP安装失败的情况及其影响与解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DB2在Linux下的安装

本文部分内容属网络搜寻,后经亲试验证整理

Eric 于 二〇一五年十一月七日星期六

目 录

  1. 安装环境说明
  2. 基础准备
  3. 安装步骤
    3.1. 安装包上传解压
    3.2. 安装前检查
    3.3. 安装
  4. 附录

1.安装环境说明
操作系统:SUSE Linux Enterprise Server 11 (x86_64)

数据库:db2 V9.7(64bit)
2.基础准备
操作系统,可在下述地址下载:
链接:http://pan.baidu.com/s/1bnBKRuB 密码:0pef
SLES-11-SP3-DVD-x86_64-GM-DVD1.iso

数据库,可在下述地址下载:
链接:http://pan.baidu.com/s/1kTlMh8r 密码:qnbs
v9.7fp6_linuxx64_server.tar.gz
DB2 9.7 License.rar
3.安装步骤
3.1.安装包上传解压
将上述下载的DB2解压至/home/software:tar -xvf v9.7fp6_linuxx64_server.tar.gz
3.2.安装前检查
进入解压后的目录,执行下述命令:/home/software/sever/db2prereqcheck
3.2.1.一般常见问题
3.2.1.1.问题一

这个是说开启了内存地址随机化机制(address space layout randomization)功能,这个功能对DB2本身没有太大影响,有个别工具db2pd db2egcf 会出现异常,若有强迫症,如下:

官方解释:
DBT3534W
db2prereqcheck实用程序确定ASLR设置为ON并且这可能导致某些工具发生问题。

说明
地址空间布局随机化(ASLR)缺省情况下在某些Linux分发上已激活。ASLR被设计为在随机地址装入共享内存对象。
ASLR启用后,DB2数据库不能保证地址对共享内存对象可用。
地址空间中的此冲突意味着尝试将共享内存对象附加至特定地址的进程可能无法完成任务,从而导致shmat子例程失败。但是,后续使用新进程重试共享内存附加时可能会成功。结果是一组随机失败。已知会见到此错误的一些进程包括:db2pd、db2egcf和db2vend。
此问题可能导致的一些错误包括以下各项:
db2pd命令可能会报告找不到数据,即使实例或数据库处于活动状态。
db2egcf进程(用于监视)可能会错误地确定实例已关闭并启动故障转移操作。
在备份和日志归档操作中,db2vend进程可能会失败,并产生错误,指示未能启动子进程。

用户响应
通过设置以下内核参数来关闭随机化:
kernel.randomize_va_space=0
通过发出以下命令来临时禁用随机化并重新启动DB2实例:
echo0>/proc/sys/kernel/randomize_va_space
或者
sysctl -w kernel.randomize_va_space=0

上面两条命令是临时更改,重启后,该值会还原成2
要想永远关闭,则编辑/etc/sysctl.conf文件
新增一行kernel.randomize_va_space=0
保存退出后,运行sysctl-p使之生效,重启后也有效了。
3.2.1.2.问题二

这个是DB2要求的一个32位的pam库

官网解释如下
Errordescription
Thedb2prereqcheckutilitywasenhancedtocheckforlibpam.so
inDB2version9.7FP6viaAPARIC78338andthevalidationis
donebylookingup”libpam.so”(eitherafileorasymbolic
link)onthesystem.Theoriginalapproachwastolookupthe
filelibpam.so.0onsystem,howeverthiswouldnotworkon
systemswithupdatedPAMmodule.PAMmodulecouldbeupdated
fromtimetotimeandifwehard-codeddb2prereqchecktocheck
forlibpam.so.0,thenthecheckwouldfailonnewersystemwhere
themodulemighthaveupdatedtoupperversionlikelibpam.so.1.

Inmostcaseasymboliclinkoflibpam.sowouldbecreatedto
pointtolatestversionoflibpam.so.x,hencehave
db2prereqchecktolookforlibpam.so(eitherafileorasymbol
link).ThisapproachwastoavoidanyfurtherissuewithPAM
moduleupgradeonaffectedplatform.Howeverthismaynotwork
onoldersystemwhichhaslibpam.so.0only.
Localfix
Createasymboliclinknamedlibpam.sothatpointsto
libpam.so.0:

参考IBM官方解决方案IC87092:
http://www-01.ibm.com/support/docview.wss?rs=0&q1=IC87092&uid=swg1IC87092&loc=zh_CN&cs=utf-8&lang=
大概意思就是说,DB2会找libpam.so文件,通常会找lipan.so.0,但可能涉及不定期更新,因此需要手工做个软链接到最新的文件
以下是具体操作:
安装PAM包(用zypper命令,具体用法可百度

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值