Linux(Ubuntu)環境下安裝DB2 V10和Data Studio V3圖文詳解
本文詳細介紹一下DB2資料庫在Linux環境下的安裝過程。所使用的Linux發行版是Ubuntu 12.04。DB2版本是DB2 Express-C V10.1 Linux 32位版,即DB2 V10的社區版(免費版本)。
裝前準備
擷取DB2
1.到IBM官網:http://www-01.ibm.com/software/data/db2/express/download.html下載DB2 Express-C Linux版(你需要註冊一個IBM免費帳號)。
2.下載頁面一共有5個檔案:
第一個檔案是DB2 Express-C light,一個輕量級的版本;
第二個檔案是DB2 Express-C 的完整版,所以建議不用第一個,下第二個就行了;
第三個檔案是Data Studio Administation Client,這個是一個單獨的資料庫管理軟體,由於從DB2 V10開始,DB2資料庫已經不再整合控制中心(Control Centre)了(意味著預設只能用命令列方式管理資料庫),對DB2的GUI方式的管理由單獨的Data Studio工具完成。所以為了便於管理DB2資料庫,建議Data Studio也要下載安裝。這裡提供的只是Data Studio的管理用戶端版,也可以選擇下載Data Studio完整版。Data Studio是免費提供的。
第四個檔案是Accessories Suit Text Search。這是DB2的一個全文本搜尋組件,一個很強大的搜尋組件。可裝可不裝。
第五個檔案是National Language Pack for DB2,即本地化語言套件。裡麵包含了DB2支援的全部語言。要注意:由於DB2安裝時會自動根據作業系統的語言來選擇DB2安裝語言(當然,英文語言總是被安裝的),如果你使用的Linux環境是中文的,那麼安裝過程中會要求提供語言套件的地址(不知道如果不提供語言套件是不是就安裝成英文的了)。所以,建議下載這個語言套件。
另外,IBM支援使用HTTP下載或者用它自己的Download Director下載。後者需要Java運行時環境。
安裝必要軟體
1.由於DB2的安裝包是基於RPM的,所以需要安裝一個rpm相容的安裝器。IBM推薦使用alien。安裝命令為:
sudo apt-get install alien
2.由於DB2的安裝過程需要依賴gcc,所以還需要安裝libstdc++5和libaio-dev。安裝命令為:
sudo apt-get install libstdc++5
sudo apt-get install libaio-dev
正式安裝
1.下載得到的db2_v101_linuxia32_expc.tar.gz就是DB2安裝包了。你可以在圖形化介面上直接將其解壓,得到expc目錄。也可以在終端下,運行 $tar xzvf db2exc_91_LNX_x86.tar.gz 命令完成解壓。這裡以直接解壓得到expc目錄為例。
2.雙擊expc目錄下的db2setup檔案運行。或者終端下跳轉到expc目錄,然後鍵入sudo ./db2setup 開始安裝。這裡要注意:如果當前的Ubuntu使用者不是root使用者,那麼直接雙擊db2setupyunx安裝程式的話就是以非root方式安裝。而終端下鍵入sudo ./db2setup則是進行root安裝(當然如果沒有sudo則同樣是非root安裝)。推薦root安裝。所以這裡使用後者。
3.稍後彈出安裝頁面,正式開始DB2安裝。注意一定不要將上面的終端關閉了!
4.直接點擊“安裝產品”,接受許可協議,安裝類型預設(典型),安裝操作預設(回應檔),安裝目錄預設(root安裝會安裝到root目錄下,非root安裝會安裝到目前使用者的home目錄下)。然後是DAS使用者佈建。DAS是資料庫管理伺服器,這裡可以預設建立新使用者,也可以使用現有使用者。
使用新使用者可以自己指定使用者名稱,UID,組名,GID和使用者主目錄。這些都可以使用預設值,只需要設定一個密碼就可以了。
使用現有使用者則需要注意:指定的使用者必須具有最低特權集。即不要使用root賬戶。還有,DAS使用者不能和後面指定的執行個體所有者使用者相同。
由於這個使用者並不需要去特別管理,使用預設,建立一個新使用者就行了。
5.然後進入執行個體設定頁面,DB2必須至少要有一個執行個體才行,可以選擇安裝時建立DB2執行個體或者安裝完成後再建立。選擇安裝後建立則後面就沒有執行個體使用者和受防護使用者的設定內容了,但是需要安裝完成後立即在終端中手動建立執行個體和執行個體使用者等,要麻煩一些。所以這裡選擇安裝時建立。
6.然後進入執行個體設定頁面。這是DB2安裝過程中最重要的一環了,和DAS使用者佈建一樣,DB2執行個體所有者可以是建立的新使用者,也可以直接使用現有使用者。
如果建立新使用者,則可自己指定使用者名稱,組名,使用者主目錄等。DB2預設執行個體名和該執行個體的所有者使用者名稱是一樣的,比如預設建立一個使用者名稱為db2inst1的使用者,則執行個體名為db2inst1。
如果直接使用現有使用者,則可以指定一個已存在的使用者,比如直接指定為目前使用者。使用現有使用者主要是基於方便上的考慮。當然,建立的執行個體名也會和指定的現有使用者的使用者名稱一樣。
要注意:Linux環境下,DB2執行個體直接是和使用者相關聯的,一個執行個體必須對應於一個執行個體所有者使用者和一個受防護使用者(當然執行個體所有者使用者和受防護使用者可以是同一個使用者),一個使用者也最多隻能有一個DB2執行個體。想要建立多個執行個體就需要先建立多個使用者。為了使用的方便,這裡直接使用目前使用者作為執行個體所有者使用者,即為���前使用者建立DB2執行個體。(如果使用別的使用者建立執行個體,則使用目前使用者登入後還要進行使用者切換才能使用DB2資料庫)
7.設定受防護的使用者。上面介紹過,一個執行個體對應一個所有者使用者和一個受防護使用者。受防護使用者的作用是以該使用者執行不穩定的預存程序或函數,出錯時不會影響到執行個體本身。(類似沙箱)
受防護使用者的設定和所有者使用者的設定一樣,這裡依然是設定為目前使用者(會出現警告,無視)。
8.一切配置就緒,開始安裝。安裝過程中可能要求提供語言套件鏡像。將之前下載的語言套件解壓後,指定鏡像目錄為解壓得到的目錄就行了。
9.安裝完成!
後續配置
啟動/切換執行個體:
如果是建立了新的執行個體所有者,如db2inst1,而當前登入使用者為maple,要啟動db2inst1執行個體,則終端下需要輸入以下命令啟動(執行個體切換也是下述命令,因為同時只允許一個執行個體是活動的):
su db2inst1 (切換到db2inst1使用者)
. ~/sqllib/db2profile (調入該使用者配置指令碼,設定db2inst1執行個體為當前執行個體)
db2start (啟動當前執行個體)
如果當前登入使用者為maple,而maple使用者擁有執行個體maple,則要啟動maple執行個體,終端下需要輸入的命令為:
db2start (直接啟動目前使用者的執行個體)
如果我們希望一個執行個體在每次系統啟動後自動啟動,可以使用以下命令:
db2iauto -on <執行個體名>
如:希望執行個體db2inst1自動啟動,命令為:db2iauto -on db2inst1
如果希望關閉執行個體的自動啟動,則可使用以下命令:
db2iauto -off <執行個體名>
##################################################################################
以上執行個體的啟動是以執行個體已經存在為前提的,如果安裝DB2時選擇在DB2安裝完成後設定執行個體,則需要在安裝完成後先建立執行個體。當然,如果需要建立多個執行個體,同樣是執行下面的操作。注意下面的操作需要root方式執行。
1.建立使用者組(DAS組,執行個體所有者組,受防護使用者組):
sudo groupadd -g 999 db2iadm1
sudo groupadd -g 998 db2fadm1
sudo groupadd -g 997 dasadm1
2.建立使用者(DAS使用者,執行個體所有者,受防護使用者):
sudo useradd -u 1002 -g dasadm1 -m -d /home/dasusr1 dasusr1 -p password2
sudo useradd -u 1003 -g db2fadm1 -m -d /home/db2fenc1 db2fenc1 -ppassword3
sudo useradd -u 1004 -g db2iadm1 -m -d /home/db2inst1db2inst1 -p password4
[3.建立DAS管理伺服器:] (如果建立過DAS管理伺服器,就不用再行建立了,一台電腦只能有一個DAS伺服器,它能管理所有DB2執行個體)
sudo /opt/ibm/db2/V10.1/instance/dascrt -u dasusr1 (這裡的dascrt命令的位置為DB2的安裝目錄,dasusr1為剛才建立的DAS使用者)
另外:DAS伺服器的關閉和開啟需要切換到DAS使用者下執行
/opt/ibm/db2/V10.1/das/bin/db2admin stop 或 /opt/ibm/db2/V10.1/das/bin/db2admin start
4.建立執行個體:
sudo /opt/ibm/db2/V10.1/instance/db2icrt-u db2fenc1 db2inst1 (db2icrt命令的位置為DB2的安裝目錄,db2fenc1為剛才建立的受防護使用者,db2inst1為剛才建立的所有者使用者)
5.按照上面啟動執行個體的方法啟動執行個體.
##################################################################################
建立樣本資料庫
DB2 V10安裝完成後預設是不會建立Sample資料庫的,建立Sample資料庫的命令為:
db2sampl
注意:建立Sample資料庫前請確認當前執行個體名,避免將資料庫建立到別的執行個體上,顯示所有資料庫執行個體的命令是db2ilist。顯示當前資料庫執行個體的命令是
db2 get instance
如果需要將資料庫建立到別的執行個體上,則參考前面執行個體啟動/切換的內容先就行執行個體切換。
更多詳情見請繼續閱讀下一頁的精彩內容: