Sunday, May 4, 2014

Recover ฐานข้อมูล กรณีไฟล์ Redo และ Archived Logs เสียหมด

ข้อเขียนนี้ช่วยฉัน: 
โพสต์ครั้งแรก: 11 พฤศจิกายน 2011

เราสามารถใช้ Hidden Parameter ในไฟล์พารามิเตอร์ Init.ORA ต่อไปนี้ หากไฟล์ Redo Log ตัวปัจจุบัน (Current Redo Log ซึ่งเป็นตัวที่ระบบฐานข้อมูลกำลังเขียนอยู่เลย) หรืออาจจะใช้ได้กรณีที่เราต้องการ Recover ฐานข้อมูล แล้วไฟล์ Archived Log บางตัวหายไปหรือใช้ไม่ได้
_allow_resetlogs_corruption = true
หมายเหตุ: จะต้องระมัดระวังให้มาก เมื่อใช้พารามิเตอร์ตัวนี้ มันอาจจะทำให้คุณเสียฐานข้อมูล--ของคุณทั้งหมดก็ได้ กรุณาติดต่อ Oracle Support ก่อนใช้
ซึ่งน่าจะช่วยให้คุณสามารถ เปิดฐานข้อมูลได้ แต่ต้องระวังว่าฐานข้อมูลของคุณจะอยู่ในภาวะที่ไม่สอดคล้องกัน ข้อมูลบางส่วนที่ Commit แล้วอาจจะหายไป หรือได้มาเพียงบางส่วน
ขั้นตอน:

  1. SHUTDOWN NORMAL
  2. ตั้งค่าพารามิเตอร์นี้ในไฟล์ Init.ORA คุณต้องพิมพ์เข้าไปทั้งบรรทัด
  3. STARTUP MOUNT
  4. ALTER DATABASE OPEN RESETLOGS
  5. ถ้าระบบต้องการ Recovery ให้ใช้ UNTIL CANCEL และให้ใส่ชื่อ Archived Logs และ Online Redo Log ที่ระบบต้องการ จากนั้นใช้ Cancel
  6. ALTER DATABASE OPEN RESETLOGS อีกที
  7. รอแป๊ปนึงจนระบบตอบมาว่าเสร็จ
  8. SHUTDOWN NORMAL อีกที
  9. เอาพารามิเตอร์ออก
  10. STARTUP ตรวจดู ALERT.LOG ว่ามีข้อผิดพลาดหรือเปล่า
  11. Export ข้อมูลออกมา สร้างฐานข้อมูลใหม่แล้ว Imp เข้าไป

เรียบเรียงจาก Oracle database Backup and Recovery FAQhttp://www.orafaq.com

No comments:

Post a Comment