เคยไหมครับ ที่เราลบตาราง ทั้งตั้งใจ หรือ พลั้งพลาดไป ด้วยคำสั่ง DROP TABLE .. แล้วต้องการเอาตารางนั้นคืนมา ?
ปัญหาคือว่า คำสั่ง DROP TABLE เป็น คำสั่ง DDL (Data Definition Language) จึงไม่สามารถใช้ คำสั่ง ROLLBACK ; กู้คืนกลับมาได้ ไม่เหมือนคำสั่ง DELETE TABLE ซึ่งเป็นคำสั่ง DML (Data Manipulation Language )
แล้วเราจะทำไงดีล่ะ ช่วยด้วย T T
ถ้าเป็น สมัยก่อน เราต้องเอาข้อมูลที่ backup หรือ เอา dump file ที่ export เอาไว้ ทำการ restore หรือ import กลับ ซึ่งเป็นเรื่องที่ยุ่งยาก .. ถ้าไม่มี backup เอาไว้ล่ะก็ เป็นอันจบเห่
โชคดี ที่นับตั้งแต่ Oracle Database 10g เป็นต้นมา ออราเคิล มีฟีเจอร์ "FLASHBACK" เพื่อกู้ข้อมูล ที่ถูกลบไป กลับคืนมา แม้ว่า คำสั่งที่ลบไปนั้น จะเป็นคำวั่ง DDL ที่ไม่สามารถใช้การ ROLLBACK กู้คืนมาได้ก็ตาม
การใช้ FLASHBACK กู้คืนตารางที่ถูกลบ ด้วยคำสั่ง DROP TABLE มี synstax ดังนี้ |