下載地址:https://pan.baidu.com/s/1GtF03x1FMF3IsGdSiBJu-g 提取碼:8vfj
失效了發郵件:wells974@163.com
一、db2prereqcheck預檢查
首先進入到壓縮包所在的目錄,執行tar
命令對.tar.gz壓縮檔案進行解壓
# 解壓到當前目錄
tar -zxvf v10.5_linuxx64_expc.tar.gz
# 後面加 -C 目錄 可以指定需要解壓到的目錄。
# 如:tar -zxvf v10.5_linuxx64_expc.tar.gz -C /home/wells/soft
第一次解壓的時候失敗了,刪了重新從網盤下了一次再解壓,解壓完成!
解壓完成後,進入當前目錄下剛剛解壓出來的expc
資料夾,通過ll
命令可以看到,有一個叫db2prereqcheck
的檔案,這個檔案是用於db2安裝預檢查的,命令如下:
# 進入解壓出來的資料夾
cd expc/
# 檢視當前所在目錄下的所有檔案資訊
ll
# 執行預檢查程式
./db2prereqcheck
預檢查程式顯示未滿足的條件,這裡出現了4個問題。
-
/lib/libpam.so*
錯誤資訊
英文: DBT3514W The db2prereqcheck utility failed to find the following 32-bit library file: "/lib/libpam.so*" 中文: DBT3514W db2prereqcheck 實用程式未能找到以下 32 位庫檔案:"/lib/libpam.so*"
解決方案:
yum install pam-devel.i686 yum install pam.i686
這裡我只執行成功了
yum install pam-devel.i686
,執行yum install pam.i686
時提示沒有可以安裝的依賴包。
-
sg3_utils / sg_persist
錯誤資訊
英文: DBT3507E The db2prereqcheck utility failed to find the following package or file: "sg_persist". DBT3507E The db2prereqcheck utility failed to find the following package or file: "sg3_utils". 中文: DBT3507E db2prereqcheck 實用程式未能找到以下程式包或檔案:"sg_persist" DBT3507E db2prereqcheck 實用程式未能找到以下程式包或檔案:"sg3_utils"
解決方案:
yum install sg3_utils-*
執行一行解決兩個!nice!
sg_persist也解決了
-
關閉SELinux
這裡我使用永久關閉,百度有臨時關閉的方法~
使用
vi
命令編輯/etc/selinux/config
vi /etc/selinux/config
將
SELINUX=enforcing
註釋,新增一行SELINUX=disabled
。:wq
儲存退出設定完成後,記得使用
reboot
命令重啟。
重啟後再次執行預檢查程式。
# 執行預檢查程式
./db2prereqcheck
如下圖所示,剛剛出現的問題已經解決了!
二、db_install安裝
還是在剛剛的expc
資料夾,執行db2_install
進行安裝:
./db2_install
這裡有詢問是否安裝到預設目錄。我這裡選擇是
,當然,也可以輸入 否 ,安裝到指定的目錄。
三、建立使用者組和使用者
建立例項前,需要先建立使用者組和使用者
# 建立兩個組
groupadd db2adm1
groupadd db2fen1
# 建立兩個使用者,並將他們分配給剛剛建立好的使用者組
# 在這裡-d指定目錄,-m 表示如果使用者目錄不存在,則建立, -g指定使用者組
useradd -d /home/db2inst1 -m db2inst1 -g db2adm1
useradd -d /home/db2fenc1 -m db2fenc1 -g db2fen1
給db2inst1
和db2fenc1
兩個賬戶設定密碼,如果沒有設定密碼後面會出現問題。
tip: 密碼不能小於8位,且不能與使用者名稱相同
passwd db2inst1
passwd db2fenc1
現在可以建立例項啦~
首先進入我們前面的安裝路徑/opt/ibm/bd2/V10.5
下的/instance/
目錄。在這個目錄下,用ls
或ll
命令可以看到一個叫db2icrt
的命令。他是db2 instance create 的縮寫,我們用這個命令來建立一個例項。
cd /opt/ibm/bd2/V10.5/instance/
ll
# 建立一個叫db2inst1的例項
./db2icrt -u db2fenc1 db2inst1
驗證是否建立成功
# 切換使用者
su - db2inst1
# 啟動資料庫例項
db2start
# 在例項中建立資料庫
db2sampl # 建立一個DB2SAMPL樣板庫
# 或
db2 create create db wellsdb # 用db2的命令來建立資料庫,這裡的wellsdb是資料庫名,可改成自己的
# 檢視當前例項下所存在的資料庫
db2 list db directory
# 連線到資料庫
db2 connect to wellsdb
# 檢視當前資料庫下的表空間有哪些,可以看到,我的資料庫中有3個表空間,id 分別為 0,1,2
db2 list tablespaces
執行sql語句
db2 "create table user(id int,name varchar(10))"
db2 "insert into user values(1,'wells')"
db2 "insert into user values(2,'974')"
db2 "select id,name from user"
關閉資料庫
db2 terminate
db2stop
tip:
terminate 、db2stop、db2start三個命令的意義
db2 terminate
斷開當前與資料庫的連線
終止後臺對應的db2bp程式
db2start/db2stop
啟動/停止資料庫伺服器
搞定,債見~