การเรียกคืนข้อมูล กรณีย้ายตาราง และข้อมูลด้วยโปรแกรม Navicat แต่เลือกข้อมูลผิดส่งผลให้ข้อมูลระบบจริงสูญหาย
- Posted by pisut
- Categories Explicit Knowledge, ชุมชนนักพัฒนา
- Date July 11, 2022
๑. ภาระงานที่รับผิดชอบ
พัฒนาระบบสารสนเทศให้หน่วยงานในสังกัดมหาวิทยาลัยบูรพา และหน่วยงานภายนอกมหาวิทยาลัย โดยมีรายละเอียดเกี่ยวกับหน้าที่รับผิดชอบ ดังนี้ สำรวจความต้องการชองผู้ใช้บริการ เขียนรายละเอียดการจัดทำโครงการ และแผนการดำเนินงาน วิเคราะห์ ออกแบบระบบและฐานข้อมูล พัฒนา ทดสอบและแก้ไขโปรแกรม จัดทำคู่มือ และให้การฝึกอบรมที่พัฒนา ติดตามและประเมินผลการใช้งานระบบสารสนเทศจากผู้ใช้งาน เพื่อนำมาปรับปรุงแก้ไขระบบได้ดีขึ้น อีกทั้งให้คำแนะนำการใช้งาน คำปรึกษาแก่ผู้ใช้งาน ควบคุม ดูแล ปรับปรุงระบบงานให้สามารถใช้งานได้อย่างต่อเนื่องและมีประสิทธิภาพ และปฏิบัติงานอื่นตามที่ได้รับมอบหมาย
สำนักคอมพิวเตอร์ ส่วนงานที่มีภารกิจหลักในการสนับสนุนการใช้งานเทคโนโลยีสารสนเทศของมหาวิทยาลัย เพื่อให้การใช้งานระบบสารสนเทศสามารถใช้งานได้อย่างตอบโจทย์ผู้ใช้งาน การปรับปรุงแก้ไขโปรแกรม และตารางการจัดเก็บข้อมูลจึงเป็นงานอีกส่วนหนึ่งที่ผู้พัฒนาระบบต้องดำเนินการอยู่บ่อยครั้ง โดยการพัฒนาระบบสารสนเทศนั้นมีการแยกกันระหว่างเครื่องที่เปิดให้ผู้ใช้งานนั้นได้ใช้งานจริง (Production) กับเครื่องที่ใช้ในการพัฒนาหรือแก้ไขสำหรับผู้พัฒนาระบบ (Develop)
เมื่อผู้พัฒนาระบบดำเนินการพัฒนาหรือแก้ไขโปรแกรมที่เครื่อง Develop เสร็จแล้ว ขั้นตอนต่อมาคือการอัปเดต ฐานข้อมูล และโค้ดโปรแกรมบนเครื่องที่ใช้งานจริง (Production) ซึ่งในขั้นตอนนี้เอง หากผู้พัฒนาระบบเลือกคำสั่งการอัปเดตตารางในฐานข้อมูลผิด อาจส่งผลให้ข้อมูลในฐานข้อมูลที่ใช้งานอยู่โดนข้อมูลจากเครื่องพัฒนาบันทึกลงไป จนทำให้ข้อมูลจริงนั้นสูญหายไปได้ ดังนั้นเพื่อให้ผู้พัฒนาระบบท่านอื่นรับรู้ถึงวิธีการแก้ไขปัญหาดังกล่าว ผู้เขียนจึงได้เขียนแนวทางการแก้ไขปัญหา
๒. การเรียนรู้ ความคาดหวัง ของ “ลูกค้า/ผู้ที่เกี่ยวข้องกับกระบวนการที่นำเสนอ”
๒.๑ ผู้พัฒนาระบบทราบแนวทางการเรียกคืนข้อมูลที่สูญหาย
๓. วัตถุประสงค์
๓.๑ เพื่อให้ผู้พัฒนาระบบ สามารถรับรู้ขั้นตอนการเรียกคืนข้อมูลที่สูญหาย
๔. บทสรุปองค์ความรู้
๔.๑ ปัญหาที่พบ
ผู้เขียนพัฒนาโปรแกรมด้วย Azure DevOps และต้องการอัปเดตตารางจัดเก็บข้อมูลจากเครื่อง Develop ไปสู่ Production ด้วยโปรแกรมจัดการฐานข้อมูล Navicat โดยใช้ฟังก์ชั่น Data Transfer ซึ่งสาเหตุของปัญหาคือ ผู้เขียนเลือก Database Object ผิด จากที่ต้องการนำเข้าแค่ตารางที่สร้างขึ้นมาใหม่ กลับกลายเป็นนำทุกตารางจากเครื่อง Develop มายัง Production ส่งผลให้ข้อมูลเครื่อง Production โดนบันทึกทับของเดิม และข้อมูลที่ใช้งานจริงสูญหาย

๔.๒ ขั้นตอนการแก้ไข
๔.๒.๑. ติดต่อ ผู้ดูแล Azure DevOps ของฝ่ายโครงสร้างพื้นฐานระบบ แจ้งปัญหา และให้รายละเอียด เช่น ชื่อระบบ วันเวลาที่เกิดปัญหา โดยผู้ดูแล Azure DevOps จะดำเนินการดึงข้อมูลสำรอง ที่ถูก backup ล่าสุดมาให้ในรูปแบบของไฟล์คำสั่ง Sql
๔.๒.๒. ติดต่อเจ้าของระบบ แจ้งปัญหา และขอหยุดการใช้งานระบบชั่วคราว
๔.๒.๓. นำไฟล์คำสั่ง Sql มารันบนโปรแกรม Navicat
๔.๒.๔. เมื่อรันไฟล์คำสั่ง Sql เสร็จ ให้ตรวจสอบข้อมูลว่าข้อมูลแถวสุดท้ายถูกอัปเดตเมื่อวัน เวลาที่เท่าไร และแจ้งเจ้าของระบบรับทราบ และดำเนินการประกาศแจ้งผู้ใช้งานให้ตรวจสอบข้อมูล
๔.๓ ข้อสังเกต
ผู้ดูแล Azure DevOps จะดำเนินการสำรองข้อมูลในเวลาเที่ยงคืนของทุกวัน ดังนั้นไฟล์ Sql ที่ได้มานั้นมีความเป็นไปได้ที่จะไม่ได้ข้อมูลทั้งหมด โดยข้อมูลหลังจากเที่ยงคืน จนถึงเวลาที่เกิดปัญหาจะไม่ถูกสำรองเอาไว้
๔.๔ ข้อแนะนำ
เมื่อผู้พัฒนาระบบต้องการอัปเดตฐานข้อมูลเครื่อง Production ให้ใช้วิธีเปิดโปรแกรม Navicat เลือกฐานข้อมูลเครื่อง Develop คลิกขวาตารางที่ต้องอัปเดตไปยังเครื่อง Production เลือก Dump SQL File และเลือกว่าต้องการอัปเดตตารางพร้อมข้อมูล หรือตารางอย่างเดียว

โปรแกรม Navicat จะสร้างไฟล์ SQL ให้ผู้พัฒนาระบบเปิดไฟล์ คัดลอกคำสั่ง และนำคำสั่งไปรันบนเครื่อง Production

ด้วยวิธีการนี้ จะสามารถลดข้อผิดพลาดจากการย้ายตาราง และฐานข้อมูลลงได้
๕. ประโยชน์ที่ได้รับ
๕.๑ ให้ผู้พัฒนาระบบ สามารถรับรู้ขั้นตอนการเรียกคืนข้อมูลที่สูญหาย
You may also like
ในองค์ความรู้นี้จะนำเสนอ การเขียนโปรแกรมบีบอัดและรวมไฟล์รูปภาพในรูปแบบ ZIP สำหรับระบบบัตรพนักงาน มหาวิทยาลัยบูรพา ซึ่งแบ่งเป็นขั้นตอนการดำเนินการ ดังนี้ ทำการดาวโหลดไฟล์รูปภาพจาก MinIO มาลงที่โฟลเดอร์ storage แสดงดังภาพ สร้างฟังก์ชันสำหรับ บีบอัดและรวมไฟล์รูปภาพในรูปแบบ ZIP แสดงดังภาพ ไฟล์ Zip ที่ออกจากระบบ แสดงดังภาพ อ้างอิง https://www.php.net/manual/en/class.ziparchive.php
การสร้าง QR Code ในรูปแบบนามบัตรดิจิทัล (vCard) บน Laravel Framework เพื่อใช้กับระบบบัตรพนักงานของมหาวิทยาลัยบูรพา
ในองค์ความรู้นี้จะนำเสนอ การสร้าง QR Code ในรูปแบบ vCard สำหรับบัตรพนักงาน มหาวิทยาลัยบูรพา ซึ่งแบ่งเป็นขั้นตอนการดำเนินการ ดังนี้ 1. การติดตั้ง Package สำหรับสร้าง QR Code ที่ชื่อ simplesoftwareio/simple-qrcode โดยติดตั้งผ่าน Composer คำสั่ง : composer require simplesoftwareio/simple-qrcode 2. สร้างฟังก์ชันสำหรับ QR Code ในรูปแบบ vCard ซึ่งโครงสร้างข้อมูล ต้องเริ่มต้นด้วย BEGIN:VCARD และจบด้วย END:VCARD และฟิลด์ที่กำหนดค่าที่สำคัญ เช่น ชื่อ (FN) …
ที่มา/ปัญหา เพื่อให้การใช้งาน Docker Volumes ร่วมกับโปรแกรม Cursor และ Git Azure ได้อย่างมีประสิทธิภาพจึงต้องทำการเชื่อมต่อข้อมูลไฟล์ Project กับ Container และใช้ SSH ในการเชื่อมต่อโดยมีขั้นตอนการทำดังต่อไปนี้ สิ่งที่จำเป็นและต้องเตรียม ๑. Docker Desktop ๒. Docker Container ๓. Extension SFTP ของ Cursor หรือ VS Code ขั้นตอนการติดตั้งและใช้งาน ๑. ติดตั้ง OpenSSH Server โดยเข้าไปที่ Container Exec แล้วลองพิมพ์ …
