天天看點

Linux下安裝db2

db2是IBM公司的一款資料庫,一般在金融行業使用較多。

1下載下傳DB2資料庫軟體包

mkdir -p /opt/db2v11.1/
cd /opt/db2v11.1/
wget https://iwm.dhe.ibm.com/sdfdl/v2/regs2/db2pmopn/Express-C/DB2ExpressC11/Xa.2/Xb.aA_60_-i7xG42x7rZcj9irKm9qfC4e8JXlT1bnFk_tk/Xc.Express-C/DB2ExpressC11/v11.1_linuxx64_expc.tar.gz/Xd./Xf.LPr.D1vk/Xg.9927581/Xi.swg-db2expressc/XY.regsrvs/XZ.RNzclAYCV6lTKjleviVov4YXSbA/v11.1_linuxx64_expc.tar.gz      

2解壓軟體包

[root@localhost db2v11.1]# tar xf v11.1_linuxx64_expc.tar.gz      

3開始安裝軟體包

[root@localhost ~]# yum install -y compat-libstdc++-33 libaio.so.1
[root@localhost expc]# cd /opt/db2v11.1/expc
[root@localhost expc]# ./db2_install
Default directory for installation of products - /opt/ibm/db2/V10.5

***********************************************************
Install into default directory (/opt/ibm/db2/V10.5) ? [yes/no]
是否選擇預設目錄安裝,選擇yes
*************************************************
The execution completed successfully.
安裝指令執行完成      

4注冊license

[root@localhost expc]# cd /opt/ibm/db2/V11.1/adm/
[root@localhost adm]# chmod  775 *
[root@localhost adm]# ./db2licm -a /opt/db2v11.1/expc/db2/license/db2expc_uw.lic      

5建立使用者組

[root@localhost adm]# groupadd -g 901 db2iadm1
[root@localhost adm]# groupadd -g 902 db2fadm1
[root@localhost adm]# groupadd -g 903 db2dadm1      

6建立使用者

(分别是擁有執行個體的使用者,受防護的使用者,DAS使用者)且指定對應的使用者組      
[root@localhost adm]# useradd -g db2iadm1 -u 101 -d  /home/db2inst1 -m  db2inst1
[root@localhost adm]# useradd -g db2fadm1 -u 102 -d  /home/db2fenc1 -m  db2fenc1
[root@localhost adm]# useradd -g db2dadm1 -u 103 -d  /home/db2dasusr1 -m  db2dasusr1      
參數說明: 
-u uid  使用者的ID值,必須為唯一的ID值,除非用-o選項可以不唯一,數字不可為負值,0~999傳統上是保留給系統帳号使用。 
-d path 使用者目錄 
-m  使用者目錄如不存在則自動建立 
-s shell  使用者登入後使用shell名稱作為提示符,如果不寫系統會幫你指定預設的登入shell      

7添加使用者的密碼

[root@localhost adm]# passwd db2inst1
[root@localhost adm]# passwd db2fenc1
[root@localhost adm]# passwd db2dasusr1      

8檢查使用者組和使用者

[root@localhost adm]# more /etc/group | grep db2
db2iadm1:x:901:
db2fadm1:x:902:
db2dadm1:x:903:

[root@localhost adm]# more /etc/passwd | grep db2
db2inst1:x:101:901::/home/db2inst1:/bin/bash
db2fenc1:x:102:902::/home/db2fenc1:/bin/bash
db2dasusr1:x:103:903::/home/db2dasusr1:/bin/bash      

9建立執行個體

(1)綁定端口号

[root@localhost instance]# cd /opt/ibm/db2/V11.1/instance
[root@localhost instance]# ./db2icrt -p 50000 -u db2fenc1 db2inst1      

(2)建立樣本資料庫

[root@localhost instance]# su - db2inst1
[db2inst1@localhost ~]$ db2sampl
[db2inst1@localhost ~]$ db2start
[db2inst1@localhost ~]$ db2 “select * from staff”
[root@localhost instance]# ./dascrt -u db2dasusr1 (建立DB2管理伺服器)
[root@localhost instance]# ./db2icrt -u db2fenc1 db2inst1 (建立DB2執行個體)      

10配置DB2

(1)設定DB2自啟動

[root@localhost instance]# su -
[root@localhost instance]# cd /opt/ibm/db2/V10.5/instance
[root@localhost instance]# ./db2iauto -on db2inst1      

(2)修改網絡服務端口

(注:在db2inst1使用者下) ,修改DB2的服務端口為50658,預設情況下端口是50000(單執行個體的話可以不修改)

[root@localhost expc]# su - db2inst1 
[db2inst1@localhost ~]$ db2 update dbm cfg using SVCENAME 50658      

(3)修改DB2連接配接方式為TCP/IP

[root@localhost expc]# su - db2inst1 
[db2inst1@localhost ~]$ db2set DB2COMM=TCPIP      

(4)修改字元集

[db2inst1@localhost ~]$ db2set db2codepage=1208(也就是utf-8)      
資料庫db2  系統centos  xhell    三個字元集要一緻      

11檢視DB2許可證

[db2inst1@localhost ~]$ db2licm -l
Product name:                     "DB2 Express-C"
License type:                     "Unwarranted"
Expiry date:                      "Permanent"
Product identifier:               "db2expc"
Version information:              "11.1"
Max number of CPUs:               "2"
Max amount of memory (GB):        "16"
Max number of cores:              "2"
Enforcement policy:               "Soft Stop"      

12建立資料庫并設定字元集

[root@localhost expcD]# su - db2inst1 
[root@localhost expc]# db2 create database arapmdb2  using codeset UTF-8 territory CN pagesize 32768      
可能會等的時間長一點      

13連接配接資料庫

[db2inst1@localhost ~]$ db2 connect to arapmdb2 user db2inst1 using db2inst1      

14建立BUFFERPOOL

[db2inst1@localhost ~]$ db2 create BUFFERPOOL testBUFFER SIZE 1000 PAGESIZE 32K      

15建立TestTB表

[db2inst1@localhost ~]$ db2 "create table TestTB(id integer not null generated always as identity(start with 1,increment by 1),name varchar(10))"

插入資料
[db2inst1@localhost ~]$ db2 "INSERT INTO TestTB(name) VALUES('test')"      

作者:HaydenGuo