[DB2] ทำไมตอนลง DBMS DB2 และ ตอนสร้าง DB ใหม่ต้องย้อนเวลาด้วย ?

IBM DB2

หลายคนอาจจะสงสัย เฮ้ยยยยนี่มันปิด 2021 แล้วนะ ทำไมต้องทำแบบนั้นกันด้วยครับ มันมีเหตุผลครับ DB2 แอบทำอะไร ? DB2 ตอนติดตั้ง หรือ Bind พวก Package ต่างๆ เช่น Package db2look ตัว DB2 มันเก็บวันและเวลา (Timestamp) ไว้ด้วยครับ DB2 เวลาสร้างทุกอย่าง เช่น Table / Function มันใส่ Timestamp ไว้ เพื่อตรวจสอบความถูกต้องของฐานข้อมูลครับ ยกตัวอย่าง เช่น ถ้าผมลอง SELECT จาก SYSCAT.FUNCTIONS และดูที่ Column CREATE_TIME ครับ ถ้าหากเราเพิ่ม Function GetBalance ไว้ตอน 17 มี.ค. 2564 แล้วบังเอิญมีเคสที่ว่าต้องย้อน Server Date ไปแก้อะไรสักอย่างเมื่อ 12 มี.ค. 2564 ตัว DB2 มันจะเจอ Error GetBalance ยังไม่ถูกสร้างครับ ? สรุป ตอนติดตั้ง DB2 หรือ โอนย้ายฐานข้อมูลแบบข้าม Platform (AIX > Linux ซึ่งต้อง Run Script ใหม่) ควรย้อนเวลา Server เผื่อไว้สักนิดครับ อย่างผมใช้วิธีย้อนไปตั้งแต่ช่วงขึ้นระบบ คือ ปี 2557 ครับ หรือ ตรวจสอบแผนโครงการครับ ว่าต้องมีย้อน Server Date สำหรับการทดสอบ หรือไม่ครับ

[RHEL] Permissions 0644 for ‘/etc/ssh/ssh_host_ed25519_key’ ทำให้ไม่สามารถ Start sshd.service ได้

ช่วงนี้งานเยอะครับ ต้องมาทดสอบ Hardening OS และตรวจสอบหลังแก้ไข พบว่า sshd.service ไม่สามารถใช้งานได้ครับ Putty เข้าไม่ไ้เลยครับ พอไปตรวจดู Service sshd.service พบว่า inactive ครับ เมื่อลองตรวจสอบ Log ด้วยคำสั่ง พบ Error Message เกี่ยวกับ Permissions ดังนี้ สาเหตุของปัญหา ? Update OS ครับ Hardening OS เพราะ Tool OSCAP มันแจ้งว่าสิทธิของ SSH Server Private *_key ของเดิมเป็น 0640 สำหรับปัญหานี้ สาเหตุเกิดจากการ Hardening OS ครับ สิทธิของ Key เดิม 0600 แต่ Hardening บอกว่า 0640 ครับ ผมมองว่าเป็น False Positive นะ เพราะ จริงๆ สิทธิของ Key อยู่กับ root ที่เป็น 0600 น่าดีกว่า 0640 ครับ การแก้ไข ? ปรับสิทธิของ Key ที่มีปัญหาด้วยสิทธิ 0600 ทั้ง 3 Key เหมือนเดิม ด้วยคำสั่ง ตอนนี้ ผมคงต้องหาทางต่อไปครับว่า ปรับสิทธิของ Private Key ให้อย่างไรให้ผ่าน Hardening ครับ โปรดติดตาม BLOG ตอนถัดไปครับ Note อันนี้เป็นเคสที่เกิดจาก Update OS 1167402 – /etc/ssh/ssh_host_ed25519_key…

[RHEL] mailx ส่งเมล์จาก Linux แบบ command line

บางครั้ง เราอาจะหลีกเลี่ยงไม่ได้ที่ต้องทำ Mail Notify แจ้งเตือนต่างๆ เช่น crontab ทำงานสำเร็จ หรือจะแนบผลลัพธ์การทำงานใส่เข้ามา เพื่อความสะดวก ไม่ต้องเข้าไปตรวจผลที่เครื่อง Server ครับ โดยการ Implement สามารถทำได้หลายวิธีเลยครับ อาทิ เช่น เขียน lib java / python เข้ามาช่วยในการจัดการส่งเมล์ ใช้ Tool Monitor เข้ามาช่วยจับตาม Event ที่กำหนด และให้ Trigger ส่งเมล์ ลองใช้ command จาก package ที่มีคนทำไว้ให้ครับ สำหรับผมใน Blog นี้ขอข้อที่ 3 นะครับ คือ ลองทดสอบส่งเมล์จาก Linux แทนครับ โดย Package Mail Client ของ Linux มีอยู่หลายค่ายนะครับ ใน Blog นี้ใช้ mailx โดย config ตั้งค่ากับ gmail ครับ ขั้นตอนการติดตั้ง mailx update package ล่าสุดด้วยคำสั่ง ติดตั้ง package mailx ด้วยคำสั่ง สร้าง symbolic link สร้าง Config File ที่ Path ในไฟล์ mail.rc กำหนด Config ดังนี้ สำหรับ Account ของ Gmail ที่จะผูกไว้ต้องกำหนด Allow Less Secure App ด้วยนะครับ ทดสอบการใช้งาน สามารถทดสอบการใช้งาน โดยใช้คำสั่ง ดังนี้…

[SECURITY] ทดสอบ Secure Configuration บน RedHat 8.X โดย OpenSCAP

ช่วงนี้เจอปัญหาเยอะด้าน TOR ครับ ยังไงต้องตรวจดีๆครับ จากเดิม Wording เดียวกับลูกค้าทำ VA Scan แต่มาอีกโครงการตีความไปเป็นทาง Vendor ทำ VA Scan ครับ เศร้าเลยครับ แต่ในโชคร้ายยังมีดีอยู่ครับ ตอนแรกเข้าใจว่าต้องหา Tool VA Scan แบบแพงๆ แล้วครับ แต่พอดูอ้าว เรามีซื้อ RedHat Subscription ไว้ครับ เสียเงินแล้ว มี Tool ที่ทำ VA Scan ช่วยตรวจสอบ Config ของ OS ครับ Secure Configuration คือ อะไร คำนี้หลายคนอาจจะไม่คุ้นเคยครับ ถ้าบอกว่า Hardening หลายคนร้อง อ๋อกันแล้วครับ Secure Configuration = Hardening คือ การตั้งค่าของระบบตาม Base Practice ด้าน Security โดยมีคนออกมาตรฐานออกมาหลายเจ้าครับ สำหรับโครงการที่ผมทำมาใช้มาตรฐาน CIS Red Hat Enterprise Linux 8 Benchmark 1.0 OpenSCAP คือ อะไร Tool ที่ช่วยในทำ VA Scan เพื่อช่วยตรวจสอบ Secure Configuration ว่าได้ทำควรสมบูรณ์ไหม และตรวจสอบช่วงโหว่ของ Service หากพบจากฐานข้อมูลของตัว Tools ครับ Tool นี้เป็น Open Source ครับ แต่เพราะเป็น RedHat เลยต้องมี Subscription ถึงจะติดตั้งได้สะดวกครับ ติดตั้ง OpenSCAP เนื่องจากตัว Tool เป็น Command-Line…

[RHEL] เมื่อกำหนด User / Group ที่ใช้สำหรับ SSH แล้วไม่สามารถ Connect ได้

empty hallway with lights turned on

หากใครต้องนำระบบขึ้น Production ทุกคนคงรู้จักขั้นตอนนึงที่สำคัญ และเป็นขั้นตอนที่ทำ App หรือ Service พังได้เลยครับ ขั้นตอนที่ว่านั้น คือ การ Hardening เพื่อเพิ่มความแข็งแรงให้ระบบครับ แต่ต้องมีความเข้าใจด้วยครับ ไม่งั้นระบบมีปัญหาได้ครับ อย่างของผมการแก้ SSH มีผลให้ Admin / Developer ที่ดูแลระบบ SSH เข้า Server ไม่ได้ครับ ต้องไปเข้าผ่าน VMware ExSI แทนครับ ระบบไม่สามารถรับส่ง File ผ่าน Protocal SFTP ไม่ได้ครับ ส่วนสาเหตุ มันมาจาก CIS RedHat 8 V1.0.0 จาก CIS RedHat 8 V1.0.0 หมวด 5.2 SSH Server Configuration ข้อ 5.2.2 Ensure SSH access is limited (Scored) โดยมีสาระสำคัญ ดังนี้ ทุก user บน OS ต้องมีการกำหนดว่าใครสามารถเข้าถึง Server ผ่าน SSH ได้ครับ โดยมีค่าที่ต้องกำหนดใน /etc/ssh/sshd_config โดยมี Option ที่ต้องกำหนด ดังนี้ครับ DenyUsers : กำหนดไม่ให้ user ไหนเข้า AllowUsers : กำหนดให้ user ไหนเข้า DenyGroups : กำหนดไม่ให้ group ไหนเข้า AllowGroups. : กำหนดให้ group ไหนเข้า การกำหนด แต่ละ Option ต้องเรียงตามลำดับจากดังนี้…

[CR] Starbucks Ham & Cheese Pulled Apart Bread

Ham & Cheese Pulled Apart Bread ราคา 95 บาท ขนมปังพูลอพาร์ทแฮมชีส ตอนแรกผมไปสั่งว่าขนมปังอพาร์ทเมนต์ พนักงานงงเลย 555 รสชาติ – ขนมปังกระเทียม สอดไส้แฮม + ชีสครับ ขนมปังคล้ายขนมปังกระเทียมครับ กรุบๆกรอบๆ หอมมากครับ ไส้แฮม + ชีส แอบคิดว่าน้อยไปครับ ส่วนตัวมองว่าราคาไม่คุ้มครับผม พลังงาน 260 แคลลอรี่ Reference (พลังงานของแต่ละเมนู) Calorie Chart, Nutrition Facts, Calories in Food | MyFitnessPal | MyFitnessPal.com

[DB2] เมื่อ DateTimeOffSet ของ C# ไม่สามารถจัดเก็บตรงๆได้ใน DB2

IBM DB2

พอดีได้เข้ามาชวยแก้ปัญหาของน้องในทีมครับ เนื่องจากไปเจอว่า Library ที่ตั้ง Schedule ของ C# มันต้องการ Parameter ที่เป็น DateTimeOffSet แต่ DataType นี้ มีนดันใช้งานได้กับ MS SQL Server เท่านั้นครับ กลับมาดูที่ DateTimeOffSet ดีกว่า มันเก็บอะไรบ้าง โดยแบ่งได้ 2 ส่วนครับ DateTime พวก วันที่ และเวลา หรือ ถ้ามองโดยทั่วไป คือ TIMESTAMP ครับ OffSet พวก TimeZone บอกโซนเวลา เช่น GMT +7 เป็นของ Bangkok ครับ พอรู้จัก DateTimeOffset แล้ว และนำ Code ชุดเดียวกันมาทดสอบใช้งานตัว Dapper มัน Error ขึ้นครับ เนื่องจากไม่สามารถ Mapping C# Data Type DateTimeOffSet กับ DB2 Data Type ได้ครับ พอลองไปศึกษา DB2 ตัว Data Type ที่เหมาะสม คือ TIMESTAMP แต่ปัญหา คือ ว่า เวอร์ชันที่ผมใช้งานอยู่ DB2 11.5.4 for Linux มีแต่ TIMESTAMP แต่ไม่มี TIME ZONE ถ้าใน DB2 ต้องดูจาก Keyword TIMESTAMP WITH TIME ZONE ซึ่งมีแล้วในเวอร์ชัน Db2® for z/OS คงอีกสักพักที่ทาง DB2…

[CR] Baseus Encok WM01

หลังจาก Blog ตอนก่อนได้ Review หูฟัง True Wireless ของ Nokia Power Earbuds ไปแล้ว ถึงแม้ว่าตัว Nokia Power Earbuds มีระยะเวลาใช้งานนาน เมื่อรวมกับเคสที่ชาร์จ แต่มีปัญหาหูฟัง True Wireless เป็นทุกยี่ห้อ ถ้าแบตเตอรี่ของหูฟังหมดต้องทำอย่างไร ? สำหรับผมวิธีแก้ก็ง่ายๆ เลยครับ หาหูฟัง True Wireless อีกอันมาใช้สลับกันครับ จึงเป็นที่มาของ Review Baseus Encok WM01 ครับ โดยผมได้จากโปร 4.4 ของ Lazada ครับ แต่จะมาลอง Review หลังใช้งานจริงๆแล้วประมาณ 1 เดือนครับ จะได้จดปัญหาด้วยว่าพอปัญหาอะไรบ้างครับ Review แกะกล่อง หูฟังแบบ In-Ear + จุกซิลิโคนขนาดกลาง / Bluetooth 5.0 / Noise Reduction (เดี๋ยวต้องมาลองดูกันครับ) ซิลิโคนเปลี่ยน 2 ชุด (ขนาดเล็ก + ใหญ่) เคสที่ชาร์จ สาย USB-C คู่มือการใช้งาน ราคา 239 บาทครับ (Promotion จาก Official Store ใน Lazada ครับ ปกติ 999 บาทครับ) การใช้งานมา 1 เดือน หูฟังแบบ In-Ear : หูฟัง เสียงดี เบสแอบดีกว่า Nokia Power Earbuds ระยะการทำงานจริงของหูฟัง น่าจะประมาณ 2-3 เมตร (ในเว็บจะใส่ว่า…

[CR] Kurobuta Sukiyaki Don Set (MO MO Paradise)

สำหรับโปรโมชั่นนี้ก็งงตอนสั่งชื่อครับ พอดีน้องที่ทำงานส่งโปรนี้มา พอไปที่หน้าสั่งอ้าวไม่มีโปรนี้ แต่ไปสั่งที่บุธที่พวก Grab/Lineman มารับมีโปรซะงั้น เมื่อมีโปรผมสั่งเลยครับ ขั้นตอนการสั่ง ไปที่ร้านบอกเมนู และโปรแถม ผมสั่ง Kurobuta Sukiyaki Don Set 200 บาท ถ้วยที่ 2 22 บาทครับ จากนั้นร้านจะถามชื่อ เบอร์โทร และแจ้งยอดเงินที่ต้องชำระครับ รอประมาณ 20-25 นาทีครับ เจ้าหน้าที่โทรเรียก และชำระเงิน 222 บาทครับ รีวิว Kurobuta Sukiyaki Don Set หลังจากหิ้วกลับมา 25 นาที เมื่อเปิดถุงดูพบว่ามี Kurobuta Sukiyaki Don Set 2 ถ้วย + ตะเกียบ 2 อัน และผ้าเย็น 2 ชิ้นครับ ลองแกะดูครับ ในถ้วยมีอะไรบ้าง เส้นสุกี้ หมูคุโรบูตะสไลด์ ที่ฉ้ำด้วยสุกี้น้ำด ต้นหอมญี่ปุ่น ข้าวญี่ปุ่น น้ำสุกี้ยากี้ญี่ปุ่น แบบขลุกคิก เมนู 1 ถ้วยอิ่มอร่อยครับ แต่ต้อวระวังด้วยครับ ถ้าทิ้งไว้ในข้าวจะเละ และเส้นสุกี้อืด มันจะแห้งๆไปปนิดนึงครับ แต่ผมแก้ปัญหาโดยเอาขาเขียวร้อนใส่ลงไปนิดนึงครับ เป็นข้าวราดน้ำชา (ochazuke หรือ chazuke) Reference ข้าวราดน้ำชา (ochazuke หรือ chazuke)

[JAVA] Json Path

เมื่อ XML มี XPath ตัว Json มี JsonPath เหมือนกัน โดยสำหรับ Java ต้องเพิ่ม Dependency ดังนี้ครับ