Category Database

[DB2] db2 load error SQL3550W The target column has been defined as GENERATED ALWAYS

IBM DB2

อันนี้มาช่วยน้องแก้ปัญหา หลังจากแนะนำให้ใช้ Operation db2 load เพื่อเอาข้อมูลจากที่ UAT มาขึ้นใหม่อีกเครื่องครับ หลังจากน้องตรวจสอบ Log พบ Error ว่าไม่สามารถเอาข้อมูลได้ จาก Error ที่พบทั้ง 66187 Record ถูก Rejected หมดเลยครับ ต้องไปส่องหาสาเหตุจากไฟล์ tab839.msg พอมาดูที่ message file แล้วถึงบางอ้อเลยครับ SQL3550W The field value in row “F0-3” and column “3” is not NULL,…

[DB2] ข้อควรระวัง DB2_STANDBY_ISO=UR

IBM DB2

สำหรับ DB2 มัน Feature HADR สำหรับช่วย Replicate Log จากเครื่องหลัก(Primary) ไปยังเครื่องสำรองอื่นๆ (Standby) ที่นี้ข้อจำกัดของ DB2 ในส่วน Standby ปกติมีหน้าที่รอรับ Log จากเครื่อง Primary อย่างเดียวครับ แล้วที่นี้ DB2 ตั้งแต่ 9.7 มันยอมให้อ่านจาก Database ที่เป็น Standby ได้ โดยการเปิด Feature DB2_STANDBY_ISO โดยมีข้อจำกัดอ่านได้แบบ Uncommitted Read (UR) เท่านั้น DB2_STANDBY_ISO ดีไหม ?…

[MSSQL] สรุปงาน SQL Server Community Thailand Meeting #14

Query JSON data ใน SQL Server โดยธีรานิตย์ พงค์ทองเมือง (Aaron) ตัวอย่างนี้ใช้ Git : GitHub – dotnetthailand/orchard-core-blog-example โดยเอา Orchard Core CMS มาเป็นตัวอย่าง ผมเพิ่งรู้ว่า MSSQL มี Function ที่ช่วยจัดการกับข้อมูลประเภท JSON ปกติตรวจผ่าน C# มาตลอดเลย ISJSON ตรวจว่าข้อมูลตรงนี้เป็น JSON ไหม JSON_VALUE ดึงค่ามาจาก JSON ตาม Path ที่กำหนด JSON_QUERY…

[DB2] ตรวจสอบไฟล์ backup ด้วย db2ckbkp

IBM DB2

พอดีได้เจอเคสของลูกค้าว่า Database ไม่สามารถ Restore ได้ เพราะลองเข้าใช้งาน Application แล้วไม่เจอตัว Database ครับ สิ่งที่ต้องเป็นอย่างแรก ตรวจสอบไฟล์ Backup ก่อนครับ ว่าครบถ้วนสมบูรณ์ หรือไม่ครับ โดยตัว DB2 มีคำสั่งเตรียมมาให้อยู่แล้วครับ db2ckbkp พระเอกของเรา ตัว db2ckbkp ทำหน้าที่ตามชื่อครับ db2 check backup ครับ โดยมีรูปแบบการใช้คร่าว ดังนี้ จากคำสั่งข้างต้น มาลองดูรายละเอยีดเบื้องต้นกันครับ คำสั่ง db2ckbkp ใช้งานได้ทุก user ครับ แต่ต้องกำหนด Initialize db2…

[MSSQL] ทดสอบ Legacy App เจอ Error [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.

MS SQL

ไหนๆก็มี MSSQL Server 2019 Container แล้ว เลยลองทดสอบนำเอา Legacy App (VB6) มาลองเชื่อมต่อดูพบว่าบางเครื่องใช้งานได้ และบางเครื่องใช้งานไม่ได้ครับ หลังจากทดสอบเอา Code มา Debug ดู พบว่าเจอ Error [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error. ลองไล่สาเหตุ Config ของ Legacy App (VB6) ใช้ Microsoft SQL Server Native Client 11.0 (SQLNCLI11) บางเครื่องใช้งานได้ และบางเครื่องใช้งานไม่ได้ เนื่องจากตรวจสอบใน…

[DB2] QUIESCE คือ อะไร

black and gray mining rig

สำหรับการ QUIESCE การให้อธิบายมันเป็นการปิดระบบ เพื่อให้ Admin เข้ามาบำรุงรักษาครับ โดยอาจจะเป็นการติดตั้ง Application หรือ Backup Database เป็นต้นครับ DB2 QUIESCE ใช้ได้ทั้งกับ Database และ Instance ครับ โดยเป็ยการบังคับ User ที่ไม่ใช่ Admin ออกไปจากระบบครับ หลังบำรุงรักษาระบบเสร็จ เปิดให้ User เข้าใช้งานได้ ด้วยคำสั่ง db2 unquiesce database ตัวอย่างการใช้งาน โดยเป็น Script Backup Database ครับ ที่ใช้คำสั่ง quiesce…

[MSSQL] SQL Server 2019 container: Restore Database

หลังจาก Blog ตอนที่แล้ว ลอง Deploy SQL Server 2019 container บน RedHat8 + Podman คราวนี้เรามาลอง Restore Database จากไฟล์ .bak กันครับ NOTE: MSSQL2019 ชื่อ Container จาก Blog ตอนก่อน เตรียม Folder Backup สร้าง Folder backup ขึ้นมาที่ Path Mount /var/mssql/data หรือ สร้าง Path ข้างใน…

[AIX] เพิ่มพื้นที่ Disk บน AIX

AIX

Blog อันนี้ ผม Re-Write จาก Note ที่เคยทำไปเมื่อปีก่อนครับ อาจจะไม่อัพเดตล่าสุดครับ ทำไมถึงต้องขยายพื้นที่ Disk เพิ่ม ปัญหา ลูกค้าต้องการเพิ่ม Database อีก 2 ก้อน เพื่อทดสอบระบบงานครับ ทำให้ Disk เดิมที่ Allocate ไว้ 60GB อาจจะไม่เพียงพอครับ แนวทางการแก้ไข เพิ่ม Disk ขึ้นมาเป็น 100 GB ครับ (ที่มาของ 100 GB เพราะคำนวณ Max Growth ของ Database…

[MSSQL] Deploy SQL Server 2019 container บน RedHat8 + Podman

สำหรับ Blog ตอนนี้ เนื่องจากมี Project ใหม่ทีใช้ SQL SERVER เป็นหลักแล้ว ยังมี VM จาก Project ก่อนที่เป็น RedHat 8 + Podman เป็นมรดกอยู่ครับ ซึ่งเป็นโอกาศที่ดีเลยที่จะทดสอบ SQL SERVER บนระบบปฏิบัติการ RedHat 8 ครับ ข้อควรระวัง Container ของ SQL Server 2019 ถูกปรับให้ user เป็น non-root เข้ามาจัดการ ทำให้ยังมี Issue เกี่ยวกับเรื่องสิทธิของการ…