Saturday, October 29, 2011

Max Dump File Size


ผมจำได้ว่ามากกว่าหนึ่งครั้งที่เราเจอว่าวันดีคืนดี Oracle จะเกิด Internal Error ขึ้น และ Dump เอา Memory ที่ Error นั้นลงมาใน Trace File และที่ยิ่งแย่กว่านั้น Error ตัวนี้เกิดขึ้นอยู่เรื่อย ๆ อาจจะทุก ๆ ครึ่งหรือหนึ่งชั่วโมง ทำให้ดิสค์ของเราเต็มอย่างรวดเร็ว ระหว่างที่เรายังหาสาเหตุเพื่อหยุด Error ตัวนี้ไว้ไม่ได้ เราอาจจะต้องใช้วิธีการคอยตรวจสอบขนาดของข้อมูลในไดเรคทอรีที่เก็บ Trace ไฟล์เหล่านี้และคอยลบมันออกไปจากระบบ
จริง ๆ แล้วเราสามารถใช้พารามิเตอร์ MAX_DUMP_FILE_SIZE ในการกำหนดขนาดของ Trace File เช่น Trace File ใน bdump และ udump เป็นต้น โดยมีเงื่อนไขคือ เราต้องการให้ขนาด dump trace file ไม่โตเกินที่ต้องการ เรายอมรับที่ส่วนท้ายของไฟล์จะถูก truncate ได้ วิธีการนั้นง่ายมาก โดยเราสามารถกำหนดพารามิเตอร์ MAX_DUMP_FILE_SIZE แบบ Online โดยไม่ต้อง Restart ฐานข้อมูลได้ โดยมีขั้นตอนดังต่อไปนี้
- เช็คขนาด Trace File ที่ใหญ่ที่สุดที่ Oracle ให้มีได้โดยพิมพ์

SQL> show parameter max_dump_file_size

โดยหน่วยที่ได้จะเป็นจำนวน OS Block เช่นถ้า OS Block มีขนาด 512 ไบท์ แล้วค่า MAX_DUMP_FILE_SIZE เท่ากับ 50 แสดงว่าขนาดของ Trace File อาจจะใหญ่ใด้ถึง 25600 ไบท์ หาก MAX_DUMP_FILE_SIZE เท่ากับ UNLIMITED ก็แสดงว่ามีขนาดใหญ่ได้ไม่จำกัด
- กำหนดขนาดของ Trace File ได้โดยการพิมพ์คำสั่ง

SQL> alter system set max_dump_file_size = 50;

No comments:

Post a Comment