ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 在AIX 上安装DB2 碰到的错误

在AIX 上安装DB2 碰到的错误

原创 Linux操作系统 作者:fjmingyang 时间:2019-01-14 20:03:05 0 删除 编辑
这两天因为工作需要,搭建DB2   9.1   For   AIX   5.3,   DB2   8.1   For   AIX   5.2环境。总的来讲还算顺利,不过也碰到不少问题,共享一下经验。

1。获取安装程序
      DB2   9.1   在IBM官方网站可以直接下载,注册一个ID就行,免费的。(顺便说一下,像IBM,Oracle等网站,不注册可惜啊,里面好多资料。)
      DB2   8.1   没找到下载链接,不过Fix补丁不少,下一个。(补丁解压后有1.2G,汗...,偶见过的最大的补丁),安装包是借来的光盘。

2。安装
      安装比较简单,把安装程序FTP到AIX,用root用户依次解压   uncompress   xxx.Z,
      解包   tar   -xvf   xxxx.tar,然后生成一个文件夹。进入文件夹,可以看到db2setup,db2install两个程序和其它一些包。其中db2setup是图形 化安装,需要X环境支持,db2install是文字模式脚本形式安装。新手推荐用db2setup,老鸟随便你。

      此后,无非是   接受Licence   ->   选取安装组件   ->   选择安装目录(DB2   8.1无法更改安装目录)   ->   选择或创建DB2   管理员用户,   DB2   实例所有者用户(如果你选择创建实例的话),db2实例fenc用户   ->   Finish   开始拷贝文件安装   ->   安装完毕。

      整体安装过程比较简单,类似Windows的傻瓜程序,基本上一路Next就行。

3。可能碰到的问题与解决
      如果只是Next就一切OK,就没发表帖子的必要了。下面是我安装过程中碰到的一些问题以及解决,有些很低级,大家别笑,呵呵。
DB2   9.1的问题:
(1)安装到选择组件那步,如果你的AIX上没Informix,就不要选择“Informix   数据源转换支持”。我当时全选了,结果它提示我输入Informix安装路径。
(2)装好后,输入db2,回车执行,出现SQL10007N   Message   "-1390 "   could   not   be   retrieved.   Reason   code:   "3 "
          偶当时是用Root用户执行的....su   -   db2inst1执行就OK了。
(3)db2start出现如下错误:
db2start
exec():   0509-036   Cannot   load   program   db2start   because   of   the   following   errors:
0509-130   Symbol   resolution   failed   for   /usr/lib/threads/libc.a(aio.o)   because:
0509-136   Symbol   kaio_rdwr   (number   0)   is   not   exported   from
dependent   module   /unix.
0509-136   Symbol   listio   (number   1)   is   not   exported   from
dependent   module   /unix.
0509-136   Symbol   acancel   (number   2)   is   not   exported   from
dependent   module   /unix.
0509-136   Symbol   iosuspend   (number   3)   is   not   exported   from
dependent   module   /unix.
0509-136   Symbol   aio_nwait   (number   4)   is   not   exported   from
dependent   module   /unix.
0509-130   Symbol   resolution   failed   for   /usr/opt/db2_08_01/lib/libdb2e.a(shr.o)   because:
0509-136   Symbol   aio_nwait   (number   593)   is   not   exported   from
dependent   module   /usr/lib/threads/libc.a(aio.o).
0509-150   Dependent   module   libdb2e.a(shr.o)   could   not   be   loaded.
0509-026   System   error:   Cannot   run   a   file   that   does   not   have   a   valid   format.
0509-192   Examine   .loader   section   symbols   with   the
'dump   -Tv '   command.

这个问题是因为AIX   KAIO(异步IO)引起,确保你的AIX安装并开启了KAIO即可。
  检查和修改   AIX   KAIO   状态的具体方法如下:

  首先输入下述命令以确认   KAIO   已安装:

  #lslpp   -l   |grep   -i   async

  从输出中应能看到类似下面的内容:

  bos.rte.aio   5.1.0.35   COMMITTED   Asynchronous   I/O

  Extension   devices.common.IBM.async.diag

  bos.rte.aio   5.1.0.10   COMMITTED   Asynchronous   I/O

  Extension

  这表明系统上安装了   KAIO。然后,为启用   KAIO,   需调用   SMIT   执行下述步骤:

  1.   执行命令:smitty   chgaio

  2.   从菜单中选择“STATE   to   be   configured   at   system   restart”

  3.   将该选项的值改为“available”,按回车键

  4.   按“F10”键退出   SMIT

  5.   重新启动系统
(4)解决KAIO问题后,db2start出现0509-136错误
        DB2   9.1需要XLC   8.0以上版本,而AIX   5.3自带的是6.x版本。到IBM网站下载XLC   8.x补丁安装即可。
(5)db2start,   db2stop没问题了,可是db2ilist看不到实例。
        看看解压后的db2   9.1安装目录,里面还有个runInstallFixPatch,运行它打上DB2补丁即可。

到此DB2   9.1一切OK,创建数据库,建表,connect   OK.

=================================================================

DB2   8.1碰到的问题:
(1)安装完毕后无法创建实例,db2icrt   -u   db2fenc1   db2inst1报错如下:
              Program   name   =   db2idbm
Instance   home   dir   =   /home/db2inst1,       Sysadm   group   =   db2
Instance   type   =   1,     Auth   type   =   SERVER

SQL6031N     Error   in   the   db2nodes.cfg   file   at   line   number   "1 ".     Reason   code  
"10 ".
Update   DBM   cfg   SYSADM_GROUP   errcode   =   8
  > > > > >   Error   message   =   SQL6031N     Error   in   the   db2nodes.cfg   file   at   line   number   "1 ".     Reason   code  
"10 ".   < < < < <  
DBI1703E   No   valid   service   name   or   port   number   found.
DBI1079I   Output   is   saved   in   the   log   file   /tmp/db2icrt.log.508058.    

Explanation:  

All   processed   and   failed   operations   have   been   saved   into   this   log  
file.    
----------------------
      解决:这个问题是因为主机名设置有问题。运行   uname   -a   ,   hostname   ,并检查/etc/hosts,确保三个地方主机名一致。我的AIX5.2环境中,最初设置的主机名是aix5.2,结果hostname,   /etc/hosts中是aix5.2,但是uname   -a   是aix5,估计是对“.”不支持。这里也提醒一下设置主机名,最好不要用特殊字符,以免引起不必要的麻烦。

(2)DB2能创建32位实例,但是创建64位实例出错(我的AIX   5.2已经开启64位程序支持)。错误如下:
              Program   name   =   db2idbm
Instance   home   dir   =   /home/db2inst1,       Sysadm   group   =   db2
Instance   type   =   1,     Auth   type   =   SERVER

DB21016E     The   Command   Line   Processor   encountered   a   system   error   while   sending  
the   command   to   the   backend   process.
Update   DBM   cfg   SYSADM_GROUP   errcode   =   8
DBI1281E   The   database   manager   configuration   file   could   not   be  
                    initialized.    

Explanation:  

An   error   occurred   when   attempting   to   initialize   the   database  
manager   configuration   file.   A   DB2   instance   could   not   be   created  
or   migrated.    

-------------------
解决:DB2的Bug,打补丁就好了。补丁从IBM网站下。


以前没装过DB2,这次碰到不少问题,还好都google解决了。其实总的来说,先按DB2安装需求,打好操作系统补丁,安装DB2后再打好DB2补丁,就没问题了。


from
http://topic.csdn.net/u/20070429/10/360f7dc8-e256-4372-9a6a-c807650fd346.html


关于8.1补充一句
创建实例的命令如下(root用户下)
/usr/opt/db2_08_01/instance/db2icrt -a SERVER -s ese -u db2fenc -w 64 -p db2c_db2inst db2inst1
尽管这里指定的db2inst1为实例名,但是OS也必须存在同名的OS用户
否则提示:DBI1131E The user ID myinst1 is invalid. 因为db2会在该用户下创建实例,并指定该用户为实例的拥有者(可以db2start,db2stop)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/1698901/viewspace-509891/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2006-04-03

  • 博文量
    66
  • 访问量
    48416