Category Database

[DB2] Install DB2 11.1 on Ubuntu 16.04

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

เมื่อ Column Index ใช้กับ MS SQL Server ไม่ได้ !!!

Microsoft SQL Server

หลังจากทีเขียน Code กับ Product ที่ใช้กับตัว DB2 มานาน คราวนี้มีโอกาสได้ย้ายบ้าน จริงไม่เชิงย้ายหรอกครับ แค่เอา Product ตัวเดิม จากที่มันใช้ได้กับ DB2 ไปใช้กับ MS SQL Server ให้ได้ครับ พอให้น้องที่ทำงานมาลองทำ POC ดู อ้าว Error Table มันมี Column ที่ชื่อว่า Index แล้วทางแก้หละ จะทำ view ครอบหลอกก็ไม่ได้และ มีทั้ง สิ่งที่ผมทำ มีดังนี้ครับ ที่ผมทำแบบนี้ เพราะ ต้องการใช้ตัว Code…

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

IBM DB2

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

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

ช่วงนี้ DB ที่บริษัทกับที่ Production ชอบค้างอยู่บ่อยๆครับ สำหรับในบริษัทได้ลองเขียน Query เพื่อที่ตรวจสอบว่าใคร Lock Database ซึ่งอาจะเป็นการเปิด Transaction แล้วลืม Commit ก็ได้ครับ สำหรับการทดสอบของผม ผมได้มี Query ชุดนึงที่มีหน้าทีควานหาว่า มีอะไรผิดแปลกกับ Database ครับ โดยผมมีรูปแบบการ Test ดังนี้ ใช้ SYSIBMADM.LOCKS_HELD สิ หากสังเกตุดีๆ Query ตัว SYSIBMADM.LOCKS_HELD หรือ LC ผมเอาหมดเลย เพราะบางตัวผมก็ไม่รู้ครับ และหากนำไปใช้งานจริง อย่างลืมเปิดสิทธิการ Execute ให้กับ “SYSPROC.MON_GET_CONNECTION” ไม่งั้นจะเอามันด่าแนวๆนี้ครับ…

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

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

[SQL] เมื่อ JOIN ผสมกับ CASE WHEN

วันนี้ระหว่างทำ DS_FTA ลองอ่าน ฺBOT Manual และก็เริ่มลงมือ Query ดึงข้อมูลเลยครับ พอมีข้อมูลแล้วมีกำลังใจเขียน Code ต่อครับ ไม่งั้นมืดมน เพราะ User เองก็ไม่รู้ว่าต้องส่งอะไรให้ BOT แต่พอเขียน Query ไปได้สัก 80% ช่วงประมาณ 4 โมงเย็น อยู่ๆ มี Idea ทำไมเราไม่ลองใช้ CASE WHEN ในการเขียน JOIN Table หละ ถ้ามันทำได้นี่ มันทำให้เราพลิกแพลงได้เยอะมากครับ ขั้นแรก มาลองหาข้อมูลกันก่อนว่ามีชาวบ้านเค้าทำไหม ? ปรากฏว่ามีด้วยแหละ เท่าที่ดูเป็นของ MS…

[DB] มาดูพวก Operator JOIN ทั้งหลายใน Execution Plan ดีกว่า

IBM DB2

หลังจากมี Blog เกี่ยวกับ Execution Plan ไป 2 ตอนแล้ว ถ้าลองสังเกตุดีๆ ตอนที่มันสร้าง Flow ขึ้นมา มันมีกล่องแทนการกระทำต่างๆ เช่น FETCH, TBSCAN เป็นต้น ซึ่งถ้าลองย้อนกลับไปในตอนเรียนวิชา Database มันมีหัวข้อนึง ชื่อ Query Optimization ทำอย่างไรให้ Relational Algebra (Low Level จาก SQL ครับ จริงๆตัว SQL ที่ใช้เบื้องหลังมันก็ไปแปลงกลับเป็น Relational Algebra)  หรือพูดง่ายๆ คือ Query ดึงข้อมูลได้มีประสิทธิภาพครับ โดยคราวนี้เราสนใจเฉพาะกลุ่ม Join…

[DB2] แค่เปลี่ยน Query ชีวิตก็ดีขึ้นแล้ว JOIN vs Sub Query

IBM DB2

วันนี้พอดีมาประจำการที่ Site และได้ดูเคสบ่นๆจาก User ว่าทำไมหน้า Exchange Rate มันช้าจังเลย เปิดทีรอ 2-3 นาทีได้ ตอนแรกเราก็เฉยๆอยู่ เพราะงานหลักของเรา คือ BOT DMS (DataSet กับ DataFile 2 พี่น้อง) แต่พอสักสายๆ เข้า BA บอกว่าเปิดไม่ได้เลย เค้าลอง Interface feed ข้อมูล ย้อนหลัง 10 ปี เข้าไป น่าจะประมาน 100,000 Record ได้ หลังจากผมเข้าไปดูที่เครื่อง BA สิ่งที่ผมเข้าใจได้…

สรุปงาน Big Data Conference 2016

เมื่อวาน ผมได้ไปหางาน Big Data Conference ไปหา Idea ใหม่ และหาคำตอบให้กับตัวเอง ด้วยว่าเราเรียน ป โท Computer Science ที่จุฬา ดีไหม ? มาเข้าเรื่องกันเลยดีกว่าครับ Section 1: Going Intersteller?: The Truth Behind the Cloud โดยคุณ Rawitat Pulum อะไร คือ big data เราสนใจอะไร ทาง อ มองต่างจาก 3V มาเป็น 4S ย้อนกลับไปในยุคแรกๆ ของ…