Category Database

[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 หรือ…

[DB] DBeaver – เครื่องมือที่ช่วยให้การจัดการ Database เป็นเรื่องง่ายๆ

หลังจากเข้าไปดูปัญหาของหลายๆทีม พบว่า Tools ตัวเก่าอย่าง WinSQL มันเก่ามาก น่าจะ 15 ปี และ ถึงว่าเป็น Software ที่ใช้คุ้มค่าเกินราคาจริงๆครับ แต่ต้องซูฮกคนออกแบบด้วยทั้งตัว Protocal – ODBC และภาษา SQL จึงทำให้ Tools ตัวนี้ตายยากมากๆครับ แม้ว่าจะมีปัญหาจุกจิมากครับ ทั้งปัญหาการเอาผลลัพธ์ที่ได้จาการ Query ไปใช้ต่อ หรือการที่ User ต้องเชี่ยวมากจำ Column ได้แม่นครับ แต่หลังจากนี้ปัญหาจะหมดไปด้วยเจ้า DBeaver ครับ โดยเวอร์ชัน Community Edition ผมได้ลองใช้ และแนะนำในองค์กรครับ มันเพียงพอกับการใช้งานทั่วไป เช่น…

[DB2] Run Script แบบ Check ก่อน ถ้าผ่านไปต่อ

IBM DB2

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

[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 อื่นครับ…

[MSSQL] มาดูขนาดของ Database กัล

Microsoft SQL Server

หลังจากช่วยได้ นอกจากเป็น Dev แล้ว อีกอย่างที่ Dev ควรรู้ด้วย คือ ตัว Database ครับ วันนี้ผมขอแปะ Query สำหรับดูขนาดของ Database ไฟล์ .mdf กับ .ldf โดยสามารถดูข้อมูลจากได้ Query ดังนี้ัครับ ผลลัพธ์ที่ได้ ประโยชน์

[DB] การออกแบบฐานข้อมูลที่ 1 Table Column เยอะๆ กับ หลาย Table แต่ต้อง Join อันไหนดีกว่ากัน

จริงๆ เรื่องนี้มันเป็นคำถามที่โลกแตกมากๆครับ ตอนที่เรียน Database Design มาการทำ Normalize จนถึง 3์NF หรือแบบสูดๆหน่อยก็ 6NF แล้วพอมาทำงานจริงเจอ 1 Table รวมมิตรสารพัดอย่าง แต่จริงๆแล้วเราควร Design เป็นแบบไหนหละ ? จริงๆ เรื่องการออกแบบ Database มันส่งผลกับสถาปัตยกรรมของระบบนะ รู้จักกับข้อมูลที่ต้องการจัดเก็บก่อน ? ลักษณะการใช้งาน มันมีพฤติกรรมแบบไหนนะ ? ต้องการให้ข้อมูลมันตรงหลังตาม ACID หรือป่าว ? Solution ที่เป็นไปได้จากคำถามก่อนหน้า !!!! เน้นสำหรับออกรายงาน หรือ Warehouse พฤติกรรมของ TABLE เป็น…

[MSSQL] รู้หรือไม่ว่า WHERE IN (มันมีข้อจำกัดนะ)

Microsoft SQL Server

พอดีลองพัฒนาโมดูล Compliance ขึ้นมาใหม่ และลองทำ Stress Test ดูว่า ระบบมันรองรับได้มากที่สุดแค่ไหน โดยลองส่ง Portfolio ทีมีหลายร้อย Port เข้ามาตรวจดู ปรากฏว่าเจอ Exception ดังรูป ถ้ามาดู Exception Message แบบละเอียดหละ ซึ่งสาเหตุของมันเกิดจาก SQL ในส่วนของ WHERE IN (มันมีข้อจำกัด สำหรับ Microsoft SQL Server สามารถใส่ข้อมูล เข้าไปได้มากที่สุด 2100 ตัวเท่านั้น) โดยตัวอย่าง SQL IN เป็นแบบนี้ แล้วจำนวนเท่าไหร่ ถึงเหมาะสม…

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

IBM DB2

สุขสันต์วันสงกรานต์นะครับ วันที่ชาวไอทีหลายคนอาจจะยังต้องทำงานอยู่รวมทั้งผมด้วย 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 ) และ ขนาดของ…

[MSSQL] ทำให้เครื่องอื่นสามารถ Connect เข้ามาหาได้

Microsoft SQL Server

พอดีมีเครื่องน้องในทีมลง Windows ใหม่แล้วพอลงอะไรเสร็จหมดแล้ว ปรากฏว่าเครื่องอื่นๆ ในวงแลน ไม่สามารถเชื่อมต่อฐานข้อมูลที่อยู่บนเครื่องนี้ได้ครับ สำหรับวิธีการ + ตรวจเช็คให้เครื่องอื่นสามารถ Connect เข้ามาหาได้ มีขั้นตอน ดังนี้ Error Pattern Check List: CMD – Ping Check List: MSSQL Server Configuration ตรวจสอบ Server Properties ของ SQL Server ได้เปิด “Allow remote connection to this server” หรือไม่ โดยมีขั้นตอน…

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

IBM DB2

ระหว่างน้องทดสอบ 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) แก้ไขอย่างไร จริงๆ คำสั่งที่เอามาใช้แก้ มีหลายแบบ ดังนี้ีครับ หมายเหตุ: INVEST = DB SCHEMA และ COMPANY…