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

หลายคนอาจจะสงสัย เฮ้ยยยยนี่มันปิด 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 สำหรับการทดสอบ หรือไม่ครับ

Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts to your email.