IBM DB2 เป็นฐานข้อมูลเชิงสัมพันธ์ที่พัฒนาและเป็นเจ้าของโดย IBM ฐานข้อมูล DB2 พร้อมใช้งานสำหรับหลายแพลตฟอร์ม รวมถึง Linux, UNIX และ Windows (LUW) DB2 พร้อมใช้งานเป็นซอฟต์แวร์ฐานข้อมูลที่มีหลายรุ่นหรือหลายรุ่น
หนึ่งในรุ่น DB2 ที่รู้จักกันในชื่อ Community Edition มีให้ใช้งานฟรีสำหรับนักพัฒนาซอฟต์แวร์ตลอดอายุการใช้งาน ส่วนรุ่นอื่นๆ คือ Standard และ Enterprise Edition ที่มีข้อกำหนดสิทธิ์การใช้งาน ในบล็อกนี้ ฉันกำลังแบ่งปันงานบางอย่างที่เกี่ยวข้องกับการดูแลฐานข้อมูล IBM DB2 หวังว่าคุณจะพบว่ามีประโยชน์สำหรับกิจกรรมปกติในการดูแลฐานข้อมูล
- ค้นหารายละเอียดใบอนุญาต
- เซิร์ฟเวอร์ DB2 อินสแตนซ์ ความสัมพันธ์ฐานข้อมูล
- กลุ่มระบบปฏิบัติการ DB2
- การกำหนดค่าพารามิเตอร์ฐานข้อมูลsi) Global Levelii) Instance Leveliii) ระดับฐานข้อมูล
- สร้าง เปลี่ยนแปลง แก้ไข วางด้วยการติดตั้ง DB2, ไคลเอ็นต์ , อินสแตนซ์, ฐานข้อมูล
- Tablespaces เริ่มต้น, Create Tablespace , List Tablespaces
- การกำหนดค่าตัวฟัง
- การกำหนดค่าที่เก็บถาวร
1) ค้นหารายละเอียดใบอนุญาต:หากต้องการตรวจสอบรายละเอียดใบอนุญาตผลิตภัณฑ์ของคุณ โปรดใช้คำสั่งด้านล่าง
$>db2licm -l
ชื่อผลิตภัณฑ์:“DB2 Community Edition”
ประเภทใบอนุญาต:“ชุมชน”
วันหมดอายุ:“ถาวร”
ตัวระบุผลิตภัณฑ์:“db2dec”
ข้อมูลเวอร์ชัน:“11.5”
จำนวนหน่วยความจำสูงสุด (GB):“16”
จำนวนคอร์สูงสุด:“4”
คุณลักษณะ:ข้อเสนอการจัดการประสิทธิภาพ IBM DB2:“ไม่ได้รับอนุญาต”
2) เซิร์ฟเวอร์ DB2 อินสแตนซ์ ความสัมพันธ์ของฐานข้อมูล (ไม่ได้แบ่งพาร์ติชัน)
โปรดตรวจสอบรูปที่ 1 ด้านล่าง ดังที่แสดงในรูปที่ 1 Db2 Server เป็นไดเร็กทอรีการติดตั้งไบนารีของฐานข้อมูล ซึ่งสามารถกำหนดได้ด้วยชื่อ เช่น DB2COPYn เซิร์ฟเวอร์นี้สามารถใช้สำหรับการอัพเกรด โยกย้าย และสามารถแยกสภาพแวดล้อมได้โดยไม่ซ้ำกันสำหรับฐานข้อมูลและอินสแตนซ์หลายตัวบนเซิร์ฟเวอร์ คุณสามารถสร้างการติดตั้งเซิร์ฟเวอร์ DB หลายรายการบนเซิร์ฟเวอร์เดียว DB2 Server สามารถติดตั้งบนหลายโหนดของคลัสเตอร์เป็นพาร์ติชันที่มีตำแหน่งเดียวกันได้ เซิร์ฟเวอร์ DB2 สามารถรักษาไว้ได้โดยใช้พารามิเตอร์ในไฟล์คอนฟิกูเรชัน (แสดงเป็น Global CFG) DBA สามารถสร้างนโยบายเพื่อปรับแต่ง/ทำให้อินสแตนซ์ DB2 หลายรายการเป็นอัตโนมัติโดยการสร้างสภาพแวดล้อมที่รับผิดชอบในการจัดการทรัพยากรระบบและฐานข้อมูลที่สามารถจัดการได้ด้วยชุดพารามิเตอร์เดียวกันในฐานข้อมูลและอินสแตนซ์ทั้งหมด อินสแตนซ์ DB2 สามารถแบ่งออกเป็นส่วนต่างๆ ที่มีชุดของกระบวนการ , เธรด และพื้นที่หน่วยความจำ สำหรับการบำรุงรักษาและเชื่อมต่อกับหลายฐานข้อมูลในนั้น อินสแตนซ์สามารถกำหนดค่าได้โดยใช้ไฟล์การกำหนดค่าที่เรียกว่า (อธิบาย DBM CFG) และสามารถสร้างนโยบายสำหรับการจัดสรรทรัพยากรได้ สามารถกำหนดพอร์ตสำหรับการเชื่อมต่อตามความต้องการของแอปพลิเคชัน ฐานข้อมูล DB2 ถูกตั้งค่าของกลุ่มการจัดเก็บข้อมูลแบบลอจิคัลหลายกลุ่ม พื้นที่ตาราง อ็อบเจ็กต์ในพื้นที่ตาราง บันทึกธุรกรรม (แสดง TX LOGS) และบัฟเฟอร์พูล ไดอะแกรมต่อไปนี้แสดงความสัมพันธ์ระหว่างเซิร์ฟเวอร์ Db2 อินสแตนซ์ และฐานข้อมูลที่เกี่ยวข้อง
รูปที่ 1:ไดอะแกรมแสดง DB2 Server อินสแตนซ์ ความสัมพันธ์ของฐานข้อมูลและเนื้อหา
3) กลุ่มระบบปฏิบัติการ DB2
บน Windows ชื่ออินสแตนซ์ดีฟอลต์คือ DB2 และใน Linux จะใช้ DB2INST1 แต่ละอินสแตนซ์สามารถกำหนดค่าด้วยพอร์ตเฉพาะสำหรับการเชื่อมต่อกับมัน สามารถมีอินสแตนซ์ได้หลายตัวบนเซิร์ฟเวอร์เดียวกัน การติดตั้ง DB2 สามารถกำหนดค่าด้วย OS Groups 4 ประเภทเพื่อความปลอดภัยและความปลอดภัยของข้อมูลจากบทบาทที่เกี่ยวข้องกับการใช้งาน โดยมี SYSADM เป็นผู้ดูแลฐานข้อมูลที่มีสิทธิ์ทั้งหมด กลุ่ม SYSMON เพื่อจัดการฐานข้อมูลหลายตัวของอินสแตนซ์ตัวจัดการฐานข้อมูล และ DBADM เป็นเงินช่วยเหลือระดับบนสุดสำหรับฐานข้อมูลโดยเฉพาะ
• SYSADM
• SYSCTRL
• ระบบ
• ซิมมอน
• DBADM
4) การกำหนดค่าพารามิเตอร์ฐานข้อมูล
ตามรูปที่ 1 คุณสามารถกำหนดค่า IBM DB2 ได้ 3 ระดับ ระดับบนสุดเรียกว่าการกำหนดค่าเซิร์ฟเวอร์ DB2 ระดับที่ 2 เรียกว่าการกำหนดค่าตัวจัดการฐานข้อมูล และระดับที่ 3 ที่การกำหนดค่าระดับฐานข้อมูล
i) สำหรับพารามิเตอร์ส่วนกลาง:
วิธีดูการตั้งค่า:db2set -all
ในการแสดงรายการพารามิเตอร์ที่เปลี่ยนแปลงได้ทั้งหมด: db2set -lr
ในการอัปเดตการตั้งค่า:db2set parameter=newvalue
เช่น db2set db2comm=tcpip
เมื่อเปลี่ยนแล้ว คุณจะต้องรีสตาร์ทอินสแตนซ์ทั้งหมดโดย db2stop และ db2start
ii) ระดับอินสแตนซ์ :
ในการดูการตั้งค่า:db2 get dbm cfg
ในการอัปเดตการตั้งค่า:db2 อัปเดต dbm cfg โดยใช้ parameter_name new-valueEg:db2 update dbm cfg using NUM_DB 5
iii) ระดับฐานข้อมูล:
ในการดูการตั้งค่า:db2 รับ db cfg สำหรับชื่อฐานข้อมูล
ในการอัปเดตการตั้งค่า:db2 update db cfg for database-name using parameter new-value
เช่น:db2 update db cfg for sample using AUTO_REORG ON
5) สร้าง เปลี่ยนแปลง แก้ไข วางด้วยการติดตั้ง DB2 อินสแตนซ์ ฐานข้อมูล
เซิร์ฟเวอร์ DB2 ประกอบด้วยสำเนา Db2 เป็นหลัก อ้างอิงถึงการติดตั้งผลิตภัณฑ์ฐานข้อมูล Db2 อย่างน้อยหนึ่งรายการในตำแหน่งเฉพาะบนเซิร์ฟเวอร์เดียวกัน สำเนา Db2 Version แต่ละชุดสามารถอยู่ที่ระดับโค้ดเดียวกันหรือต่างกัน ด้วย DB2 เวอร์ชัน 9 และใหม่กว่า คุณสามารถติดตั้งและรัน Db2 หลายชุดบนเซิร์ฟเวอร์เดียวกัน เช่น DB2COPY1 ของ DB2 เวอร์ชัน 9, DB2COPY2 ของเวอร์ชัน 10 … DB2COPY3 เวอร์ชัน 11 เป็นต้น
ข้อดีของสำเนา DB2 หลายชุด:
i) แอปพลิเคชันที่มีเวอร์ชันฐานข้อมูล Db2 ต่างกันบนเซิร์ฟเวอร์เดียวกัน
ii) ความสามารถในการทดสอบบนคอมพิวเตอร์เครื่องเดียวกันก่อนที่จะย้ายฐานข้อมูลที่ใช้งานจริงไปยังเวอร์ชันหลังของผลิตภัณฑ์ฐานข้อมูล Db2
iii) ความสามารถในการแบ่งกิจกรรมของคุณในเวอร์ชัน DB2 แยกกัน
วิธีการเปลี่ยนเป็นสำเนาการติดตั้ง DB2 ในกรณีที่มี DB2COPY หลายตัว:
$>db2swtch -l
DB2COPY1 C:\ IBM\ SQLLIB (คัดลอก DB2 และ IBM Database Client Interface ดีฟอลต์)
$>db2swtch -db2 -d DB2COPY1
การสลับทำได้สำเร็จ สำเนา DB2 ดีฟอลต์ปัจจุบันคือ DB2COPY1
$>dasupdt (Change DB admin Server to current copy.
SQL22266N DB2 Administration Server ได้รับการติดตั้งภายใต้ DB2 Copy ปัจจุบัน
วิธีการรักษาอินสแตนซ์ DB2:
ในการสร้าง/แสดงรายการ/วางอินสแตนซ์ และตั้งค่า/ดูชื่ออินสแตนซ์ปัจจุบันในการติดตั้ง DB2CPOPY1 ปัจจุบัน คุณสามารถเรียกใช้คำสั่งด้านล่าง:
หากต้องการหยุดและเริ่มอินสแตนซ์ปัจจุบัน ให้ใช้คำสั่งด้านล่าง โปรดทราบว่าพารามิเตอร์ start_stop_time ส่งผลต่อพฤติกรรมการหยุดการทำงานของฐานข้อมูล :
$>Db2stop [ force ]
$>Db2start
มีวิธีอื่นในเครื่อง Windows เพื่อให้คุณใช้บริการสำหรับการเริ่ม/หยุด/การเริ่มต้นอัตโนมัติสำหรับอินสแตนซ์ได้
ในการเริ่มอินสแตนซ์ฐานข้อมูลสำหรับวัตถุประสงค์ของการดูแลฐานข้อมูลเท่านั้น คุณสามารถใช้คำสั่งด้านล่าง:$>db2start admin mode [ user <username> | group <groupname> ]
หรือ
$>QUIESCE DATABASE
โดยคำสั่งข้างต้น ฐานข้อมูลสามารถเข้าถึงได้เฉพาะผู้ใช้ที่มีสิทธิ์ของ SYSADM, SYSMAINT, DBADM หรือ SYSCTRL.$>QUIESCE INSTANCE instance-name
เมื่อใช้คำสั่งข้างต้น ฐานข้อมูลทั้งหมดภายใต้อินสแตนซ์ที่กำหนดจะสามารถเข้าถึงได้เฉพาะผู้ใช้ที่มีสิทธิ์ของ SYSADM, SYSMAINT หรือ SYSCTRL
ไวยากรณ์แบบเต็มของคำสั่ง QUIESCE:
เมื่อกิจกรรมการดูแลฐานข้อมูลเสร็จสิ้น คุณสามารถแปลงฐานข้อมูลจากโหมด DBA เท่านั้นเป็นโหมดพร้อมใช้งานทั้งหมดได้โดยใช้คำสั่งด้านล่าง:
UNQUIESCE DATABASE – Remove database from Quisece mode
UNQUIESCE INSTANCE instance-name – Remove instance and all databases of instance from Quisece mode
วิธีสร้างฐานข้อมูล: ฐานข้อมูล DB2 สามารถสร้างได้สำหรับแอปพลิเคชันหลายประเภท มี 3 หมวดหมู่ภาระงาน:
- ง่าย (การประมวลผลธุรกรรมออนไลน์)
- ซับซ้อน (การประมวลผลเชิงวิเคราะห์ออนไลน์)
- ผสม (ประเภทผสมของ OLTP และ OLAP)
ไวยากรณ์:CREATE database testdb1
( ตัวเลือกเช่น:เข้ารหัส โปรดตรวจสอบคำแนะนำเฉพาะของ ibm db2 สำหรับไวยากรณ์แบบเต็ม);
เช่น:db2 create db emp_utf autoconfigure using workload_type simple apply db only
db2 create db emp_utf using codeset utf-8 territory lets us collate using system
db2 drop db emp_utf
6) พื้นที่ตารางเริ่มต้น สร้าง Tablespace แสดงรายการ Tablespaces
Tablespace ดีฟอลต์และบัฟเฟอร์พูลบน DB2 Database:
ฐานข้อมูล DB2 มาพร้อมกับพื้นที่ตารางดีฟอลต์ 3 แบบ คุณสามารถสร้างพื้นที่ตารางได้หลายแบบตามความต้องการของแอปพลิเคชันของคุณ นอกเหนือจากพื้นที่ตารางดีฟอลต์:
• SYSCATSPACE – พื้นที่ตารางนี้มีรายละเอียดที่เกี่ยวข้องกับแคตตาล็อกระบบ
• TEMPSPACE1 – tablespace ชั่วคราวนี้ใช้สำหรับการดำเนินการที่เน้นหน่วยความจำ เช่น SORTING
• USERSPACE1 – tablespace นี้เป็นค่าเริ่มต้นสำหรับอ็อบเจ็กต์ฐานข้อมูลที่ไม่ใช่ค่าเริ่มต้น
ฐานข้อมูล DB2 ยังมีบัฟเฟอร์พูลดีฟอลต์หนึ่งรายการ ด้วยชื่อ IBMDEFAULTBP
สร้าง Tablespace บนฐานข้อมูล DB2:
ตัวอย่างการสร้างพื้นที่ตาราง:
คุณสามารถสร้างวัตถุ เช่น ตาราง ดัชนี มุมมอง ฯลฯ บน tablespace ที่สร้างขึ้นใหม่ ตัวอย่างเช่น ให้สร้างตารางหนึ่งชื่อ B บน MYTBLS1 tablespace:
แสดงรายการ Tablespace:
คุณสามารถใช้คำสั่งด้านล่าง และใช้ตัวเลือกเพื่อค้นหาข้อมูลโดยละเอียด
db2 list tablespaces [show details]
7) การกำหนดค่า Listener
คุณสามารถตั้งค่ารายละเอียดการเชื่อมต่อฐานข้อมูลโดยการตั้งค่าพารามิเตอร์ DB2COMM ที่ระดับอินสแตนซ์ มาเปลี่ยนการตั้งค่า Listener ปัจจุบันเพื่อใช้พอร์ต 60000 สำหรับการเชื่อมต่อ เมื่อพอร์ตมีการเปลี่ยนแปลง คุณจะต้องเริ่มบริการฐานข้อมูลใหม่สำหรับการเชื่อมต่อใหม่ เริ่มฟังบนพอร์ตที่เปลี่ยนแปลง คำสั่งมีดังนี้:
$>db2set -i db2inst1 DB2COMM=tcpip
$>db2 update dbm cfg using SVCENAME 60000
$>db2stop
$>db2start
9) การกำหนดค่าที่เก็บถาวร
ในการกำหนดค่าตัวเลือกการบันทึกฐานข้อมูลโดยใช้คำสั่ง UPDATE DATABASE CONFIGURATION บนตัวประมวลผลบรรทัดคำสั่ง:
ระบุว่าคุณต้องการใช้การบันทึกแบบวงกลมหรือการบันทึกแบบถาวร หากคุณต้องการใช้การบันทึกแบบวงกลม logarchmeth1 และ **logarchmeth2 ต้องตั้งค่าพารามิเตอร์การกำหนดค่าฐานข้อมูลเป็นปิด การตั้งค่านี้เป็นค่าเริ่มต้น ในการใช้การบันทึกการเก็บถาวร คุณต้องตั้งค่าพารามิเตอร์คอนฟิกูเรชันฐานข้อมูลเหล่านี้อย่างน้อยหนึ่งค่าเป็นค่าอื่นที่ไม่ใช่ OFF ตัวอย่างเช่น หากคุณต้องการใช้การบันทึกที่เก็บถาวรและต้องการบันทึกบันทึกที่เก็บถาวรไปยังดิสก์ ให้ใช้คำสั่งต่อไปนี้:
db2 update db configuration for mydb using logarchmeth1 disk:/u/dbuser/archived_logs
หรือ
คุณยังสามารถกำหนดคอนฟิกตัวเลือกการบันทึกฐานข้อมูลโดยใช้ IBM® Data Studio UPDATE DATABASE CONFIGURATION คำสั่ง
หรือ
db2CfgSet API
เพื่อหลีกเลี่ยงการสร้างบันทึกซ้ำ คุณสามารถใช้ตัวเลือกที่ไม่ได้บันทึกในขั้นต้นด้วยคำสั่ง CREATE TABLE/INDEX
บทสรุป
เนื่องจากงานการดูแลฐานข้อมูลเกี่ยวข้องกับกิจกรรมหลายอย่าง และกระบวนการบางอย่างที่ฉันพยายามจะสำรวจในบล็อกนี้ ฉันแน่ใจว่าคุณอาจต้องการใช้ฐานข้อมูล IBM DB2 จริงสำหรับคุณลักษณะต่างๆ ที่ฐานข้อมูลนำเสนอ การดำเนินการ SQL ส่วนใหญ่เป็นไปตามมาตรฐาน SQL ที่กำหนดโดย American National Standards Institute (ANSI) คุณสมบัติพิเศษ เช่น ฐานข้อมูลแบบคลัสเตอร์ ความพร้อมใช้งานสูง การแบ่งพาร์ติชัน การจำลอง มุมมองที่เป็นรูปธรรม ในขณะที่ยังคงรักษาโปรโตคอลความปลอดภัยทั้งหมดไว้เหมือนกับ RDBMS ยอดนิยมอื่นๆ เช่น Oracle , PostgreSQL และการกำหนดราคาของผลิตภัณฑ์ และการเชื่อมต่อกับเทคโนโลยีเกือบทั้งหมดทำให้ DB2 เป็นตัวเลือกที่โดดเด่นสำหรับนักพัฒนาทั่วโลก ตลาดฐานข้อมูล
ให้ผู้เชี่ยวชาญของเราแนะนำคุณในการเดินทางฐานข้อมูลของคุณ
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณสามารถเริ่มการสนทนากับเราได้เช่นกัน