DB2 db2prereq检查如何使其工作?

时间:2018-06-22 09:06:17

标签: amazon-ec2 db2

我是DB2数据库管理的新手,我无法认为自己会被安装过程所困扰。在安装之前,我阅读了一些文档,发现了一个有趣的“ db2prereqcheck”东西。

所以我尝试在安装之前运行它,并得到一个错误:

DBT3505E  The db2prereqcheck utility was unable to determine the Linux distribution level.

关于ibm中的此错误:

我找到了一些其他答案,建议删除文件“ / etc / issue”和“ /etc/issue.net”。

我根据提示检查了我的“ / etc / issue *”文件。我用IBM支持文章中的示例填充了这些文件,但是没有任何变化。我尝试在具有CentOS,Debian操作系统的其他服务器上运行此脚本,但又遇到另一个错误:

./ db2prereqcheck

DBI1189E There has been an attempt to use db2prereqcheck
on an image for a platform that does not match the current platform
'Linux/x86-64' on which it is being run.

Explanation:

Possible causes include:

- This DB2 install image is not valid for the current
platform.

- The current platform is not supported by DB2.


User Response:

Install DB2 using the DB2 install image that corresponds
with the current platform 'Linux/x86-64'.

我已经安装了db2,但是我的自尊心下降了。所以问题是:我的手有问题还是其他问题呢?以及如何使db2正常工作

技术细节:

猫/ etc / issue

Amazon Linux AMI release 2018.03
Kernel \r on an \m

cat / etc / *-rel *

NAME="Amazon Linux AMI"
VERSION="2018.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2018.03"
PRETTY_NAME="Amazon Linux AMI 2018.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2018.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
Amazon Linux AMI release 2018.03
cpe:/o:amazon:linux:2018.03:ga

uname -a

Linux hostname.host 4.14.47-56.37.amzn1.x86_64 #1 SMP Wed Jun 6 18:49:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

您可能已经注意到,这是一个EC2实例。

DB2版本:

  • 用于AMD64和Intel®EM64T系统(x64)上的Linux®的IBM®Db2 11.1 Developer-C版
  • IBM®DB2 Express-C版本11.1

感谢您在此问题上的帮助。感谢您的时间。

2 个答案:

答案 0 :(得分:0)

如果db2prereqcheck报告:

  

DBT3505E db2prereqcheck实用程序无法确定Linux   分布水平。中止当前安装...运行   使用选项“ -f sysreq”的参数强制安装   安装。

并且如果其他IBM建议不适用,那么您可以通过以下解决方法来避免此症状:

(作为根用户)

cp /etc/os-release  /etc/lsb-release

之所以起作用,是因为某些版本的db2prereqcheck仅依次查找以下文件:

/etc/centos-release
/etc/redhat-release
/etc/SuSE-release
/etc/lsb-release

如果这些文件都不存在,则可能导致DBT3505E症状。 如果您的发行版(或容器)具有等效文件(例如,Debian可能具有/ etc / os-release),则只需将其复制到/ etc / lsb-release中,即可完成db2prereqcheck。

答案 1 :(得分:0)

db2prereqcheck检查并仅了解/ etc / SuSE-release具有以下内容:

  

SUSE Linux Enterprise Server 15(x86_64)

     

版本= 15

     

PATCHLEVEL = 1

这也适用于OpenSuse Leap 15.1。从SLES 12开始不推荐使用此文件。因此,您必须自己创建它。然后运行db2prereqcheck并安装提到的所有缺少的库和内核源。满足所有要求后,您可能最终会看到细分错误消息:

  Validating "Intel TCO WatchDog Timer Driver modules" ...
  DBT3546E The db2prereqcheck utility failed to determine whether the
  following file or package exists: "".
  Segmentation fault (core dumped)

别担心! 只需使用db2prereqcheck -i重新测试。 -i参数检查与Db2 pureScale不相关的先决条件。如果我们不安装pureScale并满足所有要求,则可以忽略此难看的分段错误。 否则,您必须通过添加以下内容将其列入黑名单:

  blacklist iTCO_wdt
  blacklist iTCO_vendor_support
  Into the file /etc/modprobe.d/blacklist.conf

另一个问题涉及:

 export DISPLAY=your.machine.ip:0.0

以root身份运行./db2setup不起作用。 ./db2_install已过时,但可以使用。 首先按照IBM知识中心的描述创建db2用户和组。 然后以root用户身份运行./db2_install,然后使用db2icrt创建一个实例。 以db2inst1身份登录并按照IBM知识中心的描述进行测试,最终创建SAMPLE数据库,等等。通常“第一步”可以完成工作,但是由于javascript错误而崩溃。因此,您必须手动执行! 在打开端口50001的防火墙并在/ etc / services和dbm cfg中使用以下命令设置此端口时,可能需要其他手动配置:

  

db2使用SVCENAME 50001更新dbm cfg

  

db2使用SVCENAME db2c_db2inst1更新dbm cfg

如果使用后者,则必须使用以下行更新/ etc / services:

  

db2c_db2inst1 50001 / tcp#和类似db2 tcp / ip的注释   连接端口。