Category DB2

[DB2] สร้าง VM สำหรับ DB2 11.1 Fixed Pack 4 บน Ubuntu 18.04.2

IBM DB2

หลังจากโน้มน้าวทีมให้เปลี่ยนมาใช้ VM ที่เป็น Linux ได้ หลังจากใช้ Windows มานานนนนนแสนนานครับ โดยอันนี้ผมจะลงแบบ Native นะครับ เพราะถ้าใช้ Docker มันจะเปลืองพื้นที่มากเปิดไป Docker Image ของ DB2 Express C 11.1 กินเนื้อที่ประมาณเกือบๆ 4 GB และขึ้น Database ได้แค่ 1 Database เองด้วย สำหรับขั้นตอนการทำ VM ก็ตาม List นี้เลยครับ Install Ubuntu 18.04.2 Install Fixed…

[DB2] SQL30082N Security processing failed with reason “1” (“PASSWORD EXPIRED”). SQLSTATE=08001

IBM DB2

ใช้ DB2 บน Docker มา 7-8 เดือน วันนี้พี่ในทีมบอกว่า เฮ้ยยย Database เป็นอะไร Login เข้าไม่ได้ครับ โดย Error Message คือ SQL30082N Security processing failed with reason “1” (“PASSWORD EXPIRED”).SQLSTATE=08001 ก่อนอื่นมาดูกันก่อนครับ มันเป็นที่ DB2 หรือป่าว ? คำตอบไม่เกี่ยวกับ DB2 เลยครับ เพราะ ตัว DB2 ไม่ได้จดจำ Username หรือ…

[DB2] Query แบบ Check & Next

จริงๆ Blog นี้เกิดจากการได้เป็นผู้โชคดีไปช่วยน้องในทีม Run Script สำหรับ UAT ครับ โดยที่น้องคนนั้นก็ไม่ค่อยมั่นใจกับ Script ครับ เมื่อทดสอบที่ Site ลูกค้าจริงแล้วพบว่า อ้าวเฮ้ยยยย ไม่เหมือนที่คุยกันไว้นี่นา ที่บอกว่า Migrate ครบ แต่อ้าวข้อมูลหายไป อ้าวเฮ้ย อย่ากลืนน้ำลายตัวเองดีกว่า เสียเวลาร้องขออะไร สุดท้ายข้อมูลก็ต้องกลับคืน (มันของลูกค้า ไม่ได้ข้อมูลครบคงหัวขาด) ทำไมถึงเป็นเช่นนั้นหละ ทำไม Script ที่มีการซักซ้อมมาอย่างดีถึงเกิดปัญหาตอนใช้จริง มาดูโครงสร้าง Script กันดีกว่าครับ โดยได้ทำเป็น Batch File ชุดนึงครับ (ไฟล์ migrate.bat ) db2…

[DB2] เมื่อ Path ก็มี แต่ทำไมยัง สร้าง Database ไม่ได้ มีแต่ SQL1052N The database path path does not exist.

IBM DB2

วันนี้ผมได้ไปช่วยน้องในทีมสำหรับอีก Project แต่ก็เจอปัญหามากมายเลยครับ ทั้งเรื่องขึ้น Database ที่ติดปัญหาขนาดของ Table ที่ Field เยอะมากจน Page Size 4K ไม่พอ ทำให้ต้อง DROP DB แล้ว Import Data เข้าไปใหม่ ซึ่งปรากฏว่า Drive C ที่มันเหลือน้อยมากครับ 25 GB แต่ Database ที่ต้องการเอาเข้าไป มันตั้ง 80 GB ทางเลือกเดียวตอนนี้ คือ ต้องไปสร้าง Database ที่ Drive อื่นครับ…

[DB2] มาดูขนาดของ Table และ Database กันครับ

สุขสันต์วันสงกรานต์นะครับ วันที่ชาวไอทีหลายคนอาจจะยังต้องทำงานอยู่รวมทั้งผมด้วย 5555 หลังจากแก้เคสด่วนของรายงานแบงค์ชาติ LQ1 ไป คราวนี้ลองมาแอบส่อง Database บ้าง จากกันไปปีกว่าๆ แต่ทำไมชนาดที่ Backup มันดูใหญ่โตจัง 5555 โดยผมได้เขียน Query ดังนี้ครับ Query ที่เขียนขึ้นครับ สำหรับ Query นี้หลังๆ ดึงจาก Table SYSIBMADM.ADMINTABINFO ครับ โดยเอาค่าของเนื่อข้อมูล( DATA_OBJECT_P_SIZE ) + ขนาด Index( INDEX_OBJECT_P_SIZE ) + ขนาดของ Long Object (LONG_OBJECT_P_SIZE) + ขนาดของ Stream (LOB) (LOB_OBJECT_P_SIZE ) และ ขนาดของ…

[DB2] SQL2314W Some statistics are in an inconsistent state. (SQLSTATE=01650)

ระหว่างน้องทดสอบ Script ปรากฏว่าเจอ Error Message ว่า SQL2314W Some statistics are in an inconsistent state. The newly collected “TABLE” statistics are inconsistent with the existing “INDEX” statistics.(SQLSTATE=01650) แล้วทำไม statistics มันไม่สอดคล้องหละ (inconsistent) มีการทำ Operation ประเภทยัด(BULK) ไม่ว่าเป็นการ INSERT หรือ DELETE หลายรายการ แต่ตัว  statistics มันปรับตัวไม่ทัน…

[DB2] Install DB2 11.1 on Ubuntu 16.04

พอดีอยากลองศึกษา DB2 กับตัว Docker แต่ความรู้พื้นฐานของ Linux ไม่ค่อยมีเลย ใช้แต่ GUI มาตลอด (Ubuntu GUI สวยนะ) ผมเลยลองมาศึกษา Linux ปกติก่อนและ เอาให้เชี่ยวระดับแล้วค่อยข้ามไป Docker มาเข้าเรื่องดีกว่า สำหรับการลง DB2 11.1 Ubuntu โดยใช้ตัว Command Line สิ่งที่ต้องเตรียม Ubuntu ลงให้เรียบร้อยเลย ใช้ VM หรือ เครื่องจริงก็ได้ (ของผมใช้ VM นะ) ตัวติดตั้ง DB2 ของ Linux สามารถ…

[DB2] อย่าใช้ db2stop, db2start แบบผิดๆ

IBM DB2

พอดีลองไปศึกษาข้อมูลดู ผมพบว่า ผมใช้ 2 คำสั่งนี้ผิดมาตลอด db2start คือ เปิด instance db2stop คือ ปิด instance กลับมาดูกันก่อนหลาย database อยู่ใน instance เดียวกันได้ ถ้าใช้คำสั่ง db2start หรือ db2stop แสดงว่า Database ที่อยู่ใน instance นั้น โดนผลกระทบด้วยครับ แล้วถ้าไม่ใช้ db2start หรือ db2stop แล้วจะใช้คำสั่งอะไรแทนหละ ? db2start เปลี่ยนมาใช้คำสั่ง activate db แทน คำสั่ง activate db แทน…

[DB2] มาดักดูว่าใครทำ DB ค้าง

ช่วงนี้ DB ที่บริษัทกับที่ Production ชอบค้างอยู่บ่อยๆครับ สำหรับในบริษัทได้ลองเขียน Query เพื่อที่ตรวจสอบว่าใคร Lock Database ซึ่งอาจะเป็นการเปิด Transaction แล้วลืม Commit ก็ได้ครับ สำหรับการทดสอบของผม ผมได้มี Query ชุดนึงที่มีหน้าทีควานหาว่า มีอะไรผิดแปลกกับ Database ครับ โดยผมมีรูปแบบการ Test ดังนี้ VM ที่ลง DB2 ไว้ (ถ้าว่างๆจะย้ายลง Docker และ) Dump ข้อมูลใส่ใน Table Activeuser เครื่อง VM นี่แหละ Connect…

[DB2] db2support เครื่องมือสำหรับเก็บข้อมูล เพื่อวิเคราะห์ปัญหาครับ

จริง Blog นี้ดองมานานหลายเดือนเลย สำหรับวันนี้ได้เวลาเคลียร์ HDD เลยไปเจอรูปที่เตรียมไว้ทำ Blog เลยตัดสินใจมาเขียนให้จบดีกว่าครับ โดยวันนี้เรื่องของ db2support  แล้วตัว db2support  คือ อะไร หลายคนอ่านชื่อแล้วอาจจะคิดว่าพิมพ์คำสั่งไปปุบ มีทีมงานจาก DB2 วิ่งเข้ามาดูที่ DB Server ของเรา แต่จริงๆไม่ใช่นะครับ มันเป็นเครื่องมือที่เก็บข้อมูลต่างๆ เพื่อนำมาวิเคราะห์ปัญหาครับ db2support  ใช้งานอย่างไร แค่พิมพ์คำสั่งครับ สำหรับรายละเอียดดูได้จากที่นี้ครับ โดยใน Blog นี้ผมใช้คำสั่งดังนี้ Note: บน Linux/Unix จะมี Flag -C = Compress และ -c connect…