可支援的 Linux 版本與 Hypervisors (需要虛擬化時)
官網連結:http://www-969.ibm.com/software/repo...Platform=Linux
更多系統需求可以閱讀附檔區的文件。
準備安裝檔:
CentOS 安裝模式:Minimal Desktop
需要的其它套件:
NOTE:
- libstdc++ 需要 32bit 與 64bit 都安裝。
- 需要的 32bit 的套件都應該在原始安裝來源目錄,如果找不到,可能少了 DVD2 的安裝來源。
CentOS 6.7)
# yum install libstdc++.i686 pam-devel pam-devel.i686 ksh rsh-server compat-libstdc++-33 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
調整系統核心參數
#> ipcs -l ------ Shared Memory Limits -------- max number of segments = 4096 // SHMMNI max seg size (kbytes) = 67108864 // SHMMAX max total shared memory (kbytes) = 17179869184 // SHMALL min seg size (bytes) = 1 ------ Semaphore Limits -------- max number of arrays = 128 // SEMMNI max semaphores per array = 250 // SEMMSL max semaphores system wide = 32000 // SEMMNS max ops per semop call = 32 // SEMOPM semaphore max value = 32767 ------ Messages: Limits -------- max queues system wide = 7916 // MSGMNI max size of message (bytes) = 65536 // MSGMAX default max size of queue (bytes) = 65536 // MSGMNB
編輯 /etc/sysctl.conf
從最下方加上這幾行
# for DB2 # shmmax: 4GB kernel.shmmax = 4294967296 fs.file-max = 16384 kernel.randomize_va_space = 0
kernel.shmall, fs.file-max, kernel.msgmni, kernel.sem 這些值在 v9.7 不需要特別設,fs.file-max 如果設定成小於 16384,當 DB2 Instance 啟動後會被改成 16384,其餘也會被改成建議值。
套用後再確認一次
#> sysctl -p #> ipcs -l ------ Shared Memory Limits -------- max number of segments = 4096 max seg size (kbytes) = 4194304 max total shared memory (kbytes) = 3670016 min seg size (bytes) = 1 ------ Semaphore Limits -------- max number of arrays = 2048 max semaphores per array = 250 max semaphores system wide = 64000 max ops per semop call = 32 semaphore max value = 32767 ------ Messages: Limits -------- max queues system wide = 4096 max size of message (bytes) = 65536 default max size of queue (bytes) = 65536
更多的指令用法
查詢目前系統的參數值 #> cat /proc/sys/kernel/shmmax #> cat /proc/sys/kernel/shmall #> ipcs -lm ------ Shared Memory Limits -------- max number of segments = 4096 max seg size (kbytes) = 3145728 SHMMAX max total shared memory (kbytes) = 2621440 SHMALL min seg size (bytes) = 1
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] ?
noSpecify one of the following keywords to install DB2 products.
AESE
CLIENT
RTCL
Enter "help" to redisplay product names.
Enter "quit" to exit.
***********************************************************
AESE
檔案名稱: 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 主程式安裝目錄
#> groupadd db2adm #> useradd -g db2adm -c "DB2 Instance User" devinst #> cd /opt/ibm/db2/V9.7/instance/ #> ./db2icrt -s ese -u devinst devinst
注意事項:
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]
#> 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。
DB2 Instance:
$> db2 "update dbm cfg using HEALTH_MON OFF" $> db2 "update dbm cfg using DIAGSIZE 50" db2 "update db cfg for <db-name> using AUTO_MAINT off" db2 "update db cfg for <db-name> using AUTO_TBL_MAINT off" db2 "update db cfg for <db-name> using AUTO_RUNSTATS off" db2 "update db cfg for <db-name> using AUTO_STMT_STATS off" // If enabled HADR db2 "update db cfg for <db-name> using BLOCKNONLOGGED yes"
db2_install.log:
DBI1130E The IBM Tivoli System Automation for Multiplatforms (SA MP)
could not be installed or updated because system prerequisites
were not met. See the log file /tmp/prereqSAM.log.3380 for details.
prereqSAM.log:
prereqSAM: OPTIONS = '-l /tmp/prereqSAM.log.8304 --noliccheck --silent'
prereqSAM: OPT_SILENT = 1
prereqSAM: OPT_NOLICCHECK = 1
prereqSAM: Detected operating system: Linux
prereqSAM: Detected architecture: i386x
prereqSAM: Detected distribution: RH
prereqSAM: Supported operating system versions: RH Linux i386x - 4.6 5.0
prereqSAM: Detected operating system version:
Red Hat Enterprise Linux Server release 6.7 (Santiago)
prereqSAM: Error: None of the supported operating system versions matched the version detected for the operating system: RH Linux i386x
prereqSAM: Supported operating system versions: RH Linux i386x - 4.6 5.0
prereqSAM: Detected operating system version:
Red Hat Enterprise Linux Server release 6.7 (Santiago)
prereqSAM: Error: Prerequisite checking for the ITSAMP installation failed: Linux i386x RH
Red Hat Enterprise Linux Server release 6.7 (Santiago)
prereqSAM: Most severe error code returned: 22
prereqSAM: The operating system has a version that is not supported.
解決:試過了 CentOS 6.7 與 RedHat 6.7 都出現一樣的錯誤;但若是安裝在 SLES 11 卻沒有這類錯誤,應該是 SAMP 功能不支援 CentOS/RedHat。安裝主程式時可加上這參數:
./db2_install -f NOTSAMP