พอดีอยากลองศึกษา DB2 กับตัว Docker แต่ความรู้พื้นฐานของ Linux ไม่ค่อยมีเลย ใช้แต่ GUI มาตลอด (Ubuntu GUI สวยนะ) ผมเลยลองมาศึกษา Linux ปกติก่อนและ เอาให้เชี่ยวระดับแล้วค่อยข้ามไป Docker มาเข้าเรื่องดีกว่า สำหรับการลง DB2 11.1 Ubuntu โดยใช้ตัว Command Line
หัวข้อใน Blog นี้
สิ่งที่ต้องเตรียม
- Ubuntu ลงให้เรียบร้อยเลย ใช้ VM หรือ เครื่องจริงก็ได้ (ของผมใช้ VM นะ)
- ตัวติดตั้ง DB2 ของ Linux สามารถ Download ได้จาก ที่นี่ (ผมลอง Version Express C นะครับ Feature ต่างๆ เพียงพอแล้วสำหรับผม)
- เนื้อที่ว่างประมาณ 3.5 GB
ลงมือเข้า Terminal ลุยติดตั้ง
- ไปที่ Path ที่เก็บตัว Setup DB2 11.1 ไว้ครับ
- มันถูกบีบเป็น .tar.gz เราใช้คำสั่ง เพื่อแตกตัวติดตั้งออกมาครับ ดังนี้
tar xvzf v11.1_linuxx64_expc.tar.gz
- เมื่อแตกไฟล์ออกมาเสร็จ ได้ folder expc ดังรูป
- ลองเข้าไปดูข้างในด้วยคำสั่ง ls พบไฟล์ที่สำคัญ ดังนี้
โพลเดอร์ db2 - เก็บทุกอย่างที่จำเป็นสำหรับการติดตั้ง db2ckupgrade - เปลี่ยน Version db2_deinstall - เอาออก db2_install - ติดตั้งแบบ Command line db2ls db2prereqcheck - เช็คความพร้อมของเครื่องก่อนติดตั้ง db2setup - ต้วติดตั้งแบบ GUI
- ลองรัน bash db2prereqcheck ก่อนเพื่อตรวจสอบ คำสั่ง
sudo ./db2prereqcheck
- มันมีหลาย Version สนใจที่ 11.1 ตามรูป
- มาดูเฉพาะอันดีกว่า
Validating "32 bit version of "libstdc++.so.6" " ... Found the 64 bit "/usr/lib/x86_64-linux-gnu/libstdc++.so.6" in the following directory "/usr/lib/x86_64-linux-gnu". DBT3514W The db2prereqcheck utility failed to find the following 32-bit library file: "libstdc++.so.6". Validating "/lib/i386-linux-gnu/libpam.so*" ... DBT3514W The db2prereqcheck utility failed to find the following 32-bit library file: "/lib/i386-linux-gnu/libpam.so*". WARNING : Requirement not matched. Requirement not matched for DB2 database "Server" . Version: "11.1.0.0". Summary of prerequisites that are not met on the current system: DBT3514W The db2prereqcheck utility failed to find the following 32-bit library file: "/lib/i386-linux-gnu/libpam.so*". DBT3514W The db2prereqcheck utility failed to find the following 32-bit library file: "libstdc++.so.6".
- ผมลองเพิ่มไป 3 ตัว เพื่อแก้ปัญหาดังนี้
(Ref:https://www.ibm.com/support/knowledgecenter/SS4KMC_2.4.0/com.ibm.sco.doc_2.4/ts/ts_errors_of_32_bit_library_files.html)
apt-get install libx32stdc++6 apt-get install libpam0g:i386 apt-get install libaio1
- ลอง Run Bash db2setup มีตัวติดตั้งแบบ GUI สวยแฮะ ด้วยคำสั่ง
sudo ./db2setup
- กลับมาที่เราสนใจดีกว่า
sudo ./db2_install
- มันถาม Path ว่าติดตั้งตาม Default ไหม ที่ /opt/ibm/db2/V11.1 ตอบ yes ไปครับ
Install into default directory (/opt/ibm/db2/V11.1) ? [yes/no] yes
- รอให้มันลงทีละ step เรื่อยๆ
- จากนั้นสร้าง user และ password ที่จำเป็น ดังนี้
useradd -m db2inst1 sudo passwd db2inst1 useradd -m db2fenc1 sudo passwd db2fenc1 useradd -m db2das1 sudo passwd db2das1
- DB2DIR คือ Path ที่ลง DB2 ตอนนี้ คือ /opt/ibm/db2/V11.1
- ต่อไปสร้าง db2 administration server ด้วยคำสั่ง
DB2DIR/instance/dascrt -u db2das1
- สร้าง db2 instance ด้วยคำสั่ง
DB2DIR/instance/db2icrt -a server -u db2fenc1 db2inst1
- สร้าง Symbolic link เชื่อม DB2 โดยใช้ db2ln ด้วยคำสั่ง
DB2DIR/cfg/db2ln
- มาดู Port ของ DB2 ดีกว่า ที่ /etc/services ปกติ default 50000 ถ้าไม่ชอบก็เปลี่ยนได้ครับ
Verify DB2
- login เข้า user db2inst1
- เปิด Terminal ทดสอบ DB2 ด้วย คำสั่ง db2stop และ db2start
- ลองสร้าง Database ในที่นี้ ผมสร้างชื่อ Test ด้วยคำสั่ง
db2 create database TEST
- ทดสอบ Connect ด้วยคำสั่ง
db2 connect to TEST user db2inst1
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.