หลายคนอาจจะสงสัย เฮ้ยยยยนี่มันปิด 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 sent to your email.