有關受支持的 Linux 分發版的信息,請參閱 DB2 for Linux。建議使用 2.4.18 或更高版本的內核。本文中的示例使用帶 GNOME 桌面的 Red Hat 7.3 安裝。
注意:Red Hat 9 對於 DB2 不是受支持的分發版。我們將給您一個允許您在 Red Hat 9 上使用 DB2 的工作區,但是該環境中可能有一些功能不能正常工作。
如果您剛開始接觸 Linux 並且在掛裝 CD 或打開終端窗口時需要幫助,請參閱“ 針對 Linux 開發新手的基本任務”,這篇文章講述了這些任務和更多信息。
打開一個終端窗口。如果您在執行這一任務時需要幫助,請參閱我們的“ 針對 Linux 開發新手的基本任務”。首先,使用帶 -r
選項的 uname
命令來驗證內核級別。然後,使用 which
命令來檢查是否安裝了 ksh (the Korn shell) 和 Netscape。如果您知道軟件包名稱,則可以使用 rpm
命令。
[root@attic root]# uname -r 2.4.18-3 [root@attic root]# which ksh /bin/ksh [root@attic root]# which netscape /usr/bin/netscape [root@attic root]# rpm -q pdksh pdksh-5.2.14-16 [root@attic root]# rpm -q netscape-communicator netscape-communicator-4.79-1 [root@attic root]# |
如果沒有安裝 pdksh 軟件包,請在安裝 IBM DB2 試用軟件之前,先參閱文章“ Installing prerequisite Linux packages”。
如果沒有安裝 Netscape,但是卻安裝了 Mozilla,您可以使用帶 -s
選項的 ln
命令來創建一個從 Mozilla 到 Netscape 的 符號鏈接,如下所示。
[root@attic root]# which mozilla /usr/bin/mozilla [root@attic root]# ln -s /usr/bin/mozilla /usr/bin/netscape [root@attic root]# |
解壓縮文件
磁盤大小通常以兆字節(使用 1,000 的乘方,而不是許多其他計算機度量所採用的 1,024 的乘方)爲單位計量。這裏的所有大小都是指 1,000 的乘方,所以 1 兆字節是 1,000,000 個字節,而不是 1,048,576 個字節。大約需要 520 MB 的磁盤空間臨時用於從 CD 解壓縮文件。如果下載 DB2 Enterprise Sever Edition for Linux(32 位)的 tar 文件(DB2_V81_ESE_LNX_32_NLV.tar),則另需要 508 MB 用於下載。當對下載文件進行解壓縮之後,馬上就可以刪除它,在您安裝了想要安裝的功能部件之後,就可以刪除已解壓縮的文件。
以 root 用戶身份登錄,並打開一個終端窗口。我們的示例將在 root 用戶的主目錄中創建一個名爲 db281 的臨時目錄。如果您願意,也可以使用其他位置。使用 df
命令來驗證包含 /root 目錄的文件系統中是否至少有 520 MB 的可用空間。如果要下載到相同位置,請確保至少有 1030 MB 的可用空間。注意,~(代字號)指當前用戶的主目錄,所以可以將 ~ 或 /root 用作 df
命令的參數。要獲得使用 1,000 的倍數而不是使用 1,024 的倍數的磁盤塊數來表示的人類可讀的報告,需添加 -H
選項。
[root@attic ss3db2]# df -H ~ Filesystem Size Used Avail Use% Mounted on /dev/hdb5 4.6G 2.6G 1.8G 59% / [root@attic ss3db2]# df -H /root Filesystem Size Used Avail Use% Mounted on /dev/hdb5 4.6G 2.6G 1.8G 59% / [root@attic ss3db2]# |
對於典型安裝,在 /opt 文件系統中至少需要有 500 MB 的可用空間,在 /home 文件系統中至少需要有 50 MB 的可用空間。另外,還必須有用於數據庫的空間。
使用不帶參數的 cd
命令更改到 root 用戶的主目錄。然後,創建名爲 db281 的臨時目錄並更改至該目錄。
[root@attic root]# cd [root@attic root]# mkdir db281 [root@attic root]# cd db281 [root@attic db281]# |
掛裝 Speed Start your Linux app 1Q 2003 CD 集中的第 2 張盤(或者 2Q 2003 CD 集中的第 2 張盤)。這些步驟中的示例使用的是帶有 GNOME 桌面的 Red Hat Linux 7.3 系統。(如果您使用的是 SuSE Linux 系統,則 CD 很可能掛裝在 /media/cdrom 或 /cdrom,而不是 /mnt/cdrom 處。)使用瀏覽器打開 CD 根目錄上的 index.html 文件(在我們的示例中是 /mnt/cdrom/index.html),然後查看許可證條款。如果系統啓用了自動掛裝,那麼會爲您打開該文件。接下來,在 d81eeuxe 中找到 d81eeuxe.tar.gz 並使用帶 -zxvf
選項的 tar
命令來對它進行解壓縮和解包。如果您使用的是 2Q 2003 CD 集,那麼您將會從 d8eseuxe 解壓縮 d8eseuxe.tar.gz。如果下載了 DB2_V81_ESE_LNX_32_NLV.tar,則只需要 -xvf
選項,因爲該文件未被壓縮。
root@attic db281]# ls /mnt/cdrom autopp.ini autorun.exe d81eeuxe ids51uxi template.css autorun autorun.inf devcon index.html [root@attic db281]# ls /mnt/cdrom/d81eeuxe d81eeuxe.tar.gz [root@attic db281]# tar -zxvf /mnt/cdrom/d81eeuxe/d81eeuxe.tar.gz ./ ./db2_deinstall ./db2_install ./db2setup . . . ./doc.cmn/db2qt/images/statubgd.jpg ./doc.cmn/db2qt/images/tab_separator.gif [root@attic db281]# |
以 root 用戶身份登錄。您將需要一個圖形環境,所以如果使用 su
命令切換到 root 用戶,請確保顯示器設置正確。如果您剛接觸 Linux,請參考“ 針對 Linux 開發新手的基本任務”,以獲取諸如切換用戶、設置顯示器、掛裝 CD-ROM 和打開終端窗口之類任務的信息。
- 打開一個終端窗口。對非 root 用戶,許多提示符在結尾處顯示
$
符號,對 root 用戶,則在結尾處顯示#
, 而一些提示符將用戶名作爲提示符的一部分顯示。如果您不能確定當前用戶的身份,可以通過運行whoami
命令來檢查。[ian@echidna ian]$ whoami ian [ian@echidna ian]$ su Password: [root@echidna ian]#
- 如果您剛剛解壓縮了 DB2 安裝代碼,那麼應該仍然還在我們爲解壓縮所創建的臨時目錄(/root/db281)中。如果不在該目錄中,那麼現在使用
cd
命令更改到該目錄。 - 如果使用的是多處理器系統而且內核版本大於 2.4.10,那麼需要在安裝腳本中註釋掉兩行。通過使用
vi
編輯器或您所選的其他編輯器,編輯文件 ./db2/linux/install/db2setup 並將設置LD_ASSUME_KERNEL
環境變量的那兩行代碼註釋掉,這樣它們類似於:# LD_ASSUME_KERNEL=2.2.5 # export LD_ASSUME_KERNEL
注意:如果是單處理器系統,就 不必這樣做。 - 如果您使用的是 Red Hat 9,其中帶有新的線程庫 Native POSIX Thread Library (NPTL),那麼 DB2 所使用的 Java 安裝代碼將不能工作。您可以在啓動安裝程序 (db2setup) 之前,通過將環境變量
LD_ASSUME_KERNEL
設置爲 2.2.5 來強制爲兼容模式。LD_ASSUME_KERNEL=2.2.5 export LD_ASSUME_KERNEL
注意:這對於 DB2 V8.1 不是受支持的平臺,因此有些功能可能無法預期地工作。您也應該爲那些想使用 DB2 Control Center 或其他 Java 工具的用戶(例如 db2inst1),將這兩行代碼添加到 .bashrc 概要配置文件。 - 通過輸入
./db2setup
啓動 DB2 安裝過程。出於安全性方面的原因,不應該使 root 從當前目錄自動運行程序,所以需要前導./
。您應該看到類似於下面的屏幕:
圖 1. 啓動 db2setup您可以閱讀安裝說明,如果願意,也可以快速瀏覽一遍。注意,如果運行 Netscape 4.79,快速瀏覽啓動程序會彈出一個窗口,表示不能運行快速瀏覽。如果您仍然單擊鏈接來運行它,則可以將產生的 URL 從 Netscape 4.79 剪貼到 mozilla 之類受支持的瀏覽器中。準備就緒時,單擊 Install products以開始安裝。
- 我們將通過選擇 DB2 Enterprise Server 來開始。確保選中該項並單擊 Next。
圖 2. 選擇 DB2 Enterprise Server 安裝 - 您將看到安裝嚮導的介紹性屏幕。單擊 Next。查看並接受許可證。再次單擊 Next。選擇安裝類型。我們將選擇 Typical。如果您願意,可以添加“Data warehousing”。您可以單擊 View features按鈕來查看將要安裝的功能部件,但是如果需要更改它們,則應該執行 Custom安裝。準備就緒時,單擊 Next。
圖 3. 選擇安裝類型 - 在該練習中,將不設置分區數據庫,所以無需將響應保存在響應文件中。單擊安裝操作屏幕上的 Next,繼續前進至 DAS 用戶屏幕。如果安裝了先前版本的 DB2,那麼顯示的屏幕可能會有點不同。
圖 4. 設置 DB2 管理服務器用戶標識 - 按 Enter 鍵。現在,選擇選項來創建 DB2 實例。按製表鍵或使用光標移動鍵,直到“Create a DB2 Instance”突出顯示,然後按空格鍵。這將把您帶到該實例的第一個定製屏幕。默認的實例名是 db2inst1,並將創建同名的系統用戶。如果未選擇口令,則 ibmdb2 將被用作口令。我們建議您選擇自己的口令。該實例的數據庫將創建在該用戶的主目錄中,除非您在創建數據庫時指定了另一個位置。輸入您期望的口令兩次,或接受默認值,然後按製表鍵到 Properties selection,屏幕類似於:
圖 5. 創建 DB2 實例 - 單擊 Next。接受下一屏上針對單個分區實例的選項,然後指定該實例所有者和保護的用戶的口令。用戶定義的函數以受保護用戶的標識運行,出於安全性方面的原因,該標識不應該與該實例所有者的標識相同。
- 如果這是您的第一個 DB2 數據庫,那麼建議您創建一個工具編目( tools catalog)。
圖 6. 創建 DB2 工具編目單擊 Next 並接受默認值,使工具編目創建在新的實例中。
- 接下來,可以指定要通知的用戶標識。如果當前沒有運行 SMTP 服務器,則仍可以設置聯繫人列表,但要禁用 Enable notification 複選框。
圖 7. 指定聯繫人列表 - 接下來,可以接受或更改某標識的默認值,以便該標識在超出數據庫運行狀況閾值時接收運行狀況通知。在完成運行狀況監控程序選擇之後,您應該會看到有關選項的摘要。複查這些選項,然後單擊 Finish 以開始複製文件並設置系統。
圖 8. 開始複製文件 - 當安裝完成時,您應該會看到一個安裝後摘要。
圖 9. 安裝後摘要
此時,您已經安裝了 DB2 及其管理服務器,並創建了一個 DB2 實例。如果您稍後需要添加一些東西,始終可以重新運行 db2setup
。
使用 2.4.x 系列 Linux 內核的系統,其 msgmni
(消息隊列)參數的默認值是 16,這隻允許 DB2 有兩個同時的連接。而且,必須爲 DB2 更改信號數組參數才能成功運行。
注意:如果先前爲 DB2 V7.2 更新了這些參數,那麼新值會有所不同。
- 要檢查共享內存段、信號數組和消息隊列限制,可發出
ipcs -l
命令。輸出將類似於:[root@attic root]# ipcs -l ------ Shared Memory Limits -------- max number of segments = 4096 max seg size (kbytes) = 262144 max total shared memory (kbytes) = 8388608 min seg size (bytes) = 1 ------ Semaphore Limits -------- max number of arrays = 1024 max semaphores per array = 250 max semaphores system wide = 32000 max ops per semop call = 32 semaphore max value = 32767 ------ Messages: Limits -------- max queues system wide = 1024 max size of message (bytes) = 8192 default max size of queue (bytes) = 16384
- 要更改內核參數,在默認的系統控制配置文件 /etc/sysctl.conf 中添加下列項:
kernel.msgmni = 512 kernel.sem=250 128000 32 1024
注意:如果您的系統還沒有 /etc/sysctl.conf 文件,那麼您需要創建一個。
我們將用
vi
命令來利用 vi 編輯器編輯該文件。如果您更願意使用其他編輯器(如gedit
或Emacs
),請儘管使用。我們在此任務中使用vi
只是爲了演示該編輯器,在所有 UNIX 和 Linux 系統上都能找到該編輯器。儘管的確存在圖形版本 (vim),但 vi 編輯器並不是圖形編輯器。您得使用命令來移動和刪除或更改字符、單詞或行。如果想要知道有關 vi 或 Emacs 的更多信息,請參閱本文後面的 參考資料中列出的教程。要用 vi 編輯器編輯 /etc/sysctl.conf,可輸入
提示:如果您有三鍵鼠標(或者如果您將鼠標設置成靠兩個鍵的配合來模擬第三個鍵 —— 即同時按下這兩個鍵),則可以按下左鍵並在一個窗口的文本上拖動,然後使用中間鍵(或同時按下兩鍵鼠標上的兩個鍵),將突出顯示的文本粘貼到命令的其餘地方。可以在一個窗口中或幾個窗口之間使用這個方便的竅門。vi /etc/sysctl.conf
。按住 Shift 鍵的同時按g
以移動至文件末尾。輸入o
,以在文件末尾打開一個新行用於輸入。可以在 vi 窗口中將上面的兩行代碼輸入到文件末尾,也可以複製到文件末尾。按 Esc 鍵,退出插入方式。如果您犯了個錯誤,則輸入
:q!
以退出而不進行任何保存。不然,在輸入zz
的同時按住 Shift 鍵,以保存文件。 - 運行帶
-p
參數的sysctl
,以從默認的 /etc/sysctl.conf 裝入系統控制設置。[root@attic root]# sysctl -p net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 kernel.sysrq = 0 kernel.core_uses_pid = 1 kernel.msgmni = 512 kernel.sem = 250 128000 32 1024 [root@attic root]#
以後,網絡初始化腳本將在啓動期間從 sysctl.conf 文件讀取這些項。現在,您只要手工運行
sysctl
就可更新參數,而無需重新引導。如果您願意,可以再次運行帶-l
選項的ipcs
命令來查看更改後的值。