最近因為工作需要在學習DB2數據庫,本教程講解DB2數據庫在inux下的安裝步驟。
安裝前請查看DB2版本和許可證說明來增加了解,先弄明白改安裝什麼版本,這裡我用的是最新的Express-C版本,這個版本是提供給個人學習用的版本。
管理客戶端從v9.7版本之後就不再帶有控制中心了,而是使用 Data Studio Client。
Linux版本:
Linux版本下的DB2數據庫采用的官方免費版本,操作系統用的CentOS6.2。
安裝過程:
1、下載:db2_v101_linuxia32_expc.tar.gz
2、解壓,解壓完成後會在當前目錄下有一個 ./expc 文件夾
復制代碼 代碼如下:
[root@localhost opt]# tar -zxvf db2_v101_linuxia32_expc.tar.gz
3、進入這個目錄
復制代碼 代碼如下:
[root@localhost opt]# cd expc/
4、執行安裝
復制代碼 代碼如下:
[root@localhost expc]# ./db2_install
5、添加組和用戶:
組(用戶名)
db2iadm1(db2inst1)
db2fadm1( db2fenc1)
復制代碼 代碼如下:
[root@localhost expc]# groupadd -g 2000 db2iadm1
[root@localhost expc]# groupadd -g 2001 db2fadm1
[root@localhost expc]# useradd -m -g db2iadm1 -d /home/db2inst1 db2inst1
[root@localhost expc]# useradd -m -g db2fadm1 -d /home/db2fenc1 db2fenc1
[root@localhost expc]# passwd db2inst1
[root@localhost expc]# passwd db2fenc1
6、安裝 license(產品許可證) PS:如果是ExpressC版本就不用做
復制代碼 代碼如下:
[root@localhost adm]# pwd
/opt/ibm/db2/V10.1/adm
[root@localhost adm]# chmod -R 775 *
[db2inst1@localhost adm]$ ./db2licm -a /tmp/seagull/db2v10/license/db2ese_c.lic
7、創建實例和樣本數據庫
復制代碼 代碼如下:
[root@localhost instance]# pwd
/opt/ibm/db2/V10.1/instance
[root@localhost instance]# chmod -R 775 *
[root@localhost instance]# ./db2icrt -p 50000 -u db2fenc1 db2inst1
[root@localhost instance]# su - db2inst1
[db2inst1@localhost ~]$ db2sampl
Creating database "SAMPLE"...
Connecting to database "SAMPLE"...
Creating tables and data in schema "DB2INST1"...
Creating tables with XML columns and XML data in schema "DB2INST1"...
'db2sampl' processing complete.
[db2inst1@localhost ~]$ db2start
SQL1026N The database manager is already active.
[db2inst1@localhost ~]$ db2 connect to sample
Database Connection Information
Database server = DB2/LINUX 10.1.2
SQL authorization ID = DB2INST1
Local database alias = SAMPLE
[db2inst1@localhost ~]$ db2 "select * from staff"
8、創建 das 管理服務器
為了遠程客戶端能夠用控制中心來控制數據庫服務器,需要在數據庫服務器上安裝 das,當然,如果只是遠程連接而不是遠程管理,可以不用裝,這裡我安裝了一下。
復制代碼 代碼如下:
[root@localhost expc]# groupadd -g 2002 db2asgrp
[root@localhost expc]# useradd -m -g db2asgrp -d /home/db2as db2as
[root@localhost expc]# passwd db2as
[db2as@localhost ~]$ su - db2as # 這裡測試新建用戶
[db2as@localhost ~]$ su # 這裡進入root權限
[root@localhost ~]# cd /opt/ibm/db2/V10.1/instance/
[root@localhost instance]# ./dascrt -u db2as
DBI1070I Program dascrt completed successfully.
[root@localhost instance]# su - db2as
[db2as@localhost ~]$ db2admin start
SQL4409W The DB2 Administration Server is already active.
9、設置端口號
復制代碼 代碼如下:
vim /etc/services
在最後增加一行 # PS:VIM快捷鍵,在命令模式下輸入“G”跳到最後一行。
復制代碼 代碼如下:
db2inst1 50000/tcp
10、db2 配置,要切換到用戶 db2inst1
復制代碼 代碼如下:
su – db2inst1
db2set DB2_EXTENDED_OPTIMIZATION=ON
db2set DB2_DISABLE_FLUSH_LOG=ON
db2set AUTOSTART=YES
db2set DB2_STRIPED_CONTAINERS=ON
db2set DB2_HASH_JOIN=Y
db2set DB2COMM=tcpip
db2set DB2_PARALLEL_IO=*
db2set DB2CODEPAGE=819 # PS:這個地方比較重要
# db2 update database manager configuration using svcename db2inst1
11.將SVCENAME設置成/etc/services中的端口號或者服務名了嗎?
復制代碼 代碼如下:
[db2inst1@localhost ~]$ db2 get dbm cfg|grep SVCENAME
TCP/IP Service name (SVCENAME) =
SSL service name (SSL_SVCENAME) =
找到SVCENAME,如果當前值不是服務器端的端口號或者服務名,進行更新設置。
復制代碼 代碼如下:
[db2inst1@localhost ~]$ db2 update dbm cfg using SVCENAME db2inst1
# db2 update dbm cfg using INDEXREC ACCESS
[db2inst1@localhost ~]$ db2 get dbm cfg|grep SVCENAME
TCP/IP Service name (SVCENAME) = 50000
SSL service name (SSL_SVCENAME) =
# PS:svcename 在客戶端連接時需要用到
12.在啟動DB2之前需要先關閉防火牆,不然的話根本就不能連接(這個地方的疏忽糾結了好久),在root用戶下執行:service iptables stop
13.開啟DB2,執行:db2start ,如果已經開啟狀態,那就先停止,執行:db2stop 。
設置查看:
PS:重啟機器後遇到了一個問題,就是關閉防火牆無反應,開啟關閉數據庫無反應,遠程不能連接到數據庫,解決辦法是重啟了服務器,然後按照順序關閉了防火牆,然後重啟了DB2數據庫。
我用的CentOS系統,內核是Linux。 進入圖形界面後,在桌面上右鍵點擊“創建新終端”
1.在命令行界面中用如下語句切換到db2inst1賬戶中:
su - db2inst1
注意,命令要小寫,中間的減號是半角的。其中db2inst1賬戶(同時也是實例、進程)是在安裝DB2過程中創建的一個默認賬戶,相當於Windows中的那個DB2實例,要想執行各種db2的命令,需要在這個賬戶下操作;
2.在該賬戶下,可以打開控制中心,也可以進入到命令行處理器。進入命令行處理器的方法很簡單,直接用db2命令,然後回車即可;
3.打開控制中心稍微有點麻煩,需要在桌面上另外打開一個命令行窗口,在其中輸入:
xhost local:db2
然後在db2inst1賬戶所在的窗口中,輸入命令:
db2cc &
就可以打開控制中心。
4.現在可以查看當前實例
db2ilist
如果需要創建表,則需要打開數據庫管理服務,輸入命令:
su - db2inst1
db2start //啟動db2工作實例
db2stop //停止db2實例
db2set -all //查看db2所有注冊表變量
在變量列表中有一個db2管理用戶:DB2ADMINSERVER=XXXXX
只有切換到管理用戶才可以創建表 su - XXXXX
然後,輸入命令: db2admin start 啟動管理實例
說明:
在Linux環境下,一個用戶對應一個實例,創建數據庫必須在實例下創建,因此切換到用戶即可切換到實例。命令如下:
su - db2inst1
db2 get instance
wenku.baidu.com/...4.html