Skip to main content

Install: DB2 v9.7 on CentOS

系統環境
  • RedHat/CentOS 5/6 x86_64
  • IBM DB2 v9.7 Server
安裝前步驟

準備安裝檔:

  1. DB2_AESE_97_Linux_x86-64.tar.gz,DB2 主程式,必須由支援廠商提供。
  2. v9.7fp11_linuxx64_universal_fixpack.tar.gz,DB2 fixpack,可從官網下載。
     

CentOS 安裝模式:Minimal Desktop

需要的其它套件:

NOTE:

- libstdc++ 需要 32bit 與 64bit 都安裝。

- 需要的 32bit 的套件都應該在原始安裝來源目錄內,如果找不到,可能少了 DVD2 的安裝來源。

- CentOS 7 的 32bit 套件包含在 CentOS-7.?-x86_64-Everything-??? ISO 檔內。

CentOS 6, 7)

# yum install libaio ksh rsh-server pam-devel nfs-utils compat-libstdc++-33
# yum install libstdc++.i686 pam-devel.i686 compat-libstdc++-33.i686

# rpm -qa | grep "ksh\|openssh\|rsh-server\|nfs-utils\|libaio\|libstdc++\|libstdc++.i686\|pam-devel\|pam-devel.i686\|compat-libstdc++"
libstdc++-4.4.7-16.el6.x86_64
nfs-utils-lib-1.1.5-11.el6.x86_64
openssh-clients-5.3p1-111.el6.x86_64
pam-devel-1.1.1-20.el6.i686
libaio-0.3.107-10.el6.x86_64
ksh-20120801-28.el6.x86_64
libstdc++-4.4.7-16.el6.i686
openssh-server-5.3p1-111.el6.x86_64
pam-devel-1.1.1-20.el6.x86_64
nfs-utils-1.2.3-64.el6.x86_64
openssh-5.3p1-111.el6.x86_64
rsh-server-0.17-64.el6.x86_64

CentOS 5.11)

#> yum install pdksh nfs-utils rsh-server compat-libstdc++-296.i386 compat-libstdc++-33.i386 compat-libstdc++-33.x86_64 openssh

CentOS 系統調校:

關閉 SELinux
#> setenforce 0
#> sed -i 's/SELINUX=.*$/SELINUX=disabled/' /etc/selinux/config  

停用 NetworkManager
#> service NetworkManager stop
#> chkconfig NetworkManager off
安裝開始

主程式安裝

tar xzf DB2_AESE_97_Linux_x86-64.tar.gz
cd aese/
./db2prereqcheck
./db2_install -f NOTSAMP

-f NOTSAMP : 不要安裝 SAMP (System Automation for Multiplatforms),因為 CentOS 不支援這功能。

Default directory for installation of products - /opt/ibm/db2/V9.7

***********************************************************
Do you want to choose a different directory to install [yes/no] ?
no

Specify one of the following keywords to install DB2 products.

  AESE
  CLIENT
  RTCL

Enter "help" to redisplay product names.

Enter "quit" to exit.

***********************************************************
AESE

更新檔 fixpack 安裝
檔案名稱: v9.7fp11_linuxx64_universal_fixpack.tar.gz

tar xzf v9.7fp11_linuxx64_universal_fixpack.tar.gz
cd universal/
./db2prereqcheck

如果出現錯誤:
- DBT3534W  The db2prereqcheck utility determined that ASLR is set to ON and that this could cause issues with some tools.

解決: 編輯 /etc/sysctl.conf, 加上這一行
kernel.randomize_va_space = 0
執行  echo 0 > /proc/sys/kernel/randomize_va_space

- WARNING:
   The 32-bit library file libpam.so is not found on the system.

解決: 安裝這些套件
yum install pam-devel pam-devel.i686

- WARNING:
   The 32 bit library file libstdc++.so.5 is not found on the system.

解決:yum install compat-libstdc++-33.i686

./installFixPack

Enter full path name for the install directory -
------------------------------------------------
/opt/ibm/db2/V9.7 <== 輸入 DB2 主程式安裝目錄

錯誤訊息:

ERROR: The installFixPack command is not able to detect if there are any DB2
libraries still loaded in memory in the current installation copy. Unload all
DB2 libraries and re-issue the installFixPack command with the '-f db2lib'
parameter. Note: All DB2 libraries must be unloaded before re-issuing the
installFixPack command with the '-f db2lib' parameter, otherwise, some
applications might not work properly and might need to be restarted to function
properly against the updated DB2 instance.

Solution: Clean up the below processes and rerun the db2prechk command to verify that it returns 0.

For Linux)

lsof +D /opt/ibm/db2/V9.7

For AIX)

/usr/bin/genld -l | grep -p db2

 

新增 DB Instance
groupadd db2adm
useradd -g db2adm -c "DB2 Instance User" -d /devinst devinst

cd /opt/ibm/db2/V9.7/instance/
./db2icrt -s ese -u devinst devinst 

# for Client only
./db2icrt -s client <app-username>
匯入 DB2 授權檔

注意事項:

  • 匯入 license 必須使用 DB Instance 的帳號
  • 授權檔可從檔名區分不同類型
    • db2aese_c.lic - DB2 Advanced Enterpriese Server Edition(aese), CPU License type(_c)
    • db2ese_c.lic - DB2 Enterpriese Server Edition(ese), CPU License type(_c)
    • db2wse_c.lic - DB2 Workgroup Server Edition(wse),CPU License type(_c)
    • db2aese_t.lic - DB2 Advanced Enterpriese Server Edition(aese), Trial License type(_t)
  • 不同版本的授權檔不可互用
  • V9.1 與 V9.7 的授權不可互用

TIP

_c 以 CPU 計價
_t 試用版
_u 以 USER 數計價

解開檔案

su - db2inst
unzip  DB2_AESE_CPU_QS_Activation_97.zip
cd  aese_c/

匯入前的授權資訊

db2licm -l

Product name: "DB2 Advanced Enterprise Server Edition"
License type: "License not registered"
Expiry date: "License not registered"
Product identifier: "db2aese"
Version information: "9.7"

db2level

DB21085I This instance or install (instance name, where applicable: "mydev")
uses "64" bits and DB2 code release "SQL0907B" with level identifier
"080C0107".
Informational tokens are "DB2 v9.7.0.11", "s150922", "IP23944", and Fix Pack
"11".
Product is installed at "/opt/ibm/db2/V9.7".

開始匯入

db2licm -a db2/license/db2aese_c.lic

LIC1402I License added successfully.

LIC1426I This product is now licensed for use as outlined in your License Agreement. USE OF THE PRODUCT CONSTITUTES ACCEPTANCE OF THE TERMS OF THE IBM LICENSE AGREEMENT, LOCATED IN THE FOLLOWING DIRECTORY: "/opt/ibm/db2/V9.7/license/en_US.iso88591"

匯入後的授權資訊

db2licm -l

Product name: "DB2 Advanced Enterprise Server Edition"
License type: "CPU Option"
Expiry date: "Permanent"
Product identifier: "db2aese"
Version information: "9.7"
Enforcement policy: "Soft Stop"

TIPs:

若要移除授權可以執行

db2licm -r [Product identifier]

DB2 Instance 啟動
#> su - mydev
$> db2 "update dbm cfg using svcename DB2_mydev"
$> db2set DB2COMM=TCPIP
$> db2set DB2CODEPAGE=950
$> db2set DB2AUTOSTART=NO
$> db2start
$> ps -ef | grep db2sysc

TIPs:

如果要變更預設的 Port,可以修改 /etc/services。

可支援的 Linux 版本與 Hypervisors (需要虛擬化時)

DB2_v97_Linux_Supported.png