1Z0-052 Question #001
โดยคุณ นิพันธ์ สุเทศ

View the Exhibit and examine the undo tablespace attributes. Your database instance is experiencing a large volume of transactions from non-DBA users in the last one hour. The undo tablespace UNDOTBS1 is full with transactions and no transaction was committed more than one hour ago. The database has two more undo tablespaces. What happens to the new DML operations in this scenario?


A. The DML commands will fail.
B. The undo data generated by the DML is stored in one of the two other undo tablespaces.
C. The undo data generated by the DML will overwrite the extents that contain committed undo data.
D. The undo data generated by the DML is stored in the SYSTEM undo segment of the SYSTEM tablespace.

คำถาม
จากโจทย์ จะเห็น attribute ของ Undo Tablespace ดังรูป
มี Database ที่กำลังประสบปัญหาการใช้งานของ transaction ขนาดใหญ่ จากคนที่ไม่ใช่ DBA เป็นเวลา 1 ชม. มาแล้ว
โดยที่ Undo Tablespace UNDOTBS1 ถูกใช้งานจนเต็ม และยังไม่มี Transaction ที่ commit เลย มานานกว่า 1 ชม. แล้ว
กำหนดให้ database มี 2 Undo Tablespace คำถามคือ จะเกิดอะไร ถ้ามีการใช้คำสั่งพวก DML ในขณะนี้

อธิบาย [spoil //ไฮไลท์เพื่อดูข้อความที่ซ่อนไว้]

A. The DML commands will fail.
เพราะ UNDOTBS1 ถูกใช้จนเต็ม และยังไม่มีการ commit จาก Transaction ที่ใช้งานขณะนี้ ทำให้สถานะของ UNDOTBS1 ที่ถูกใช้งานเป็น Active Undo extent จึงทำให้ไม่มี Transaction ใหม่ เข้ามาใช้งานได้
จากตัวเลข Undo Retention= 60 minutes คือ จะนับเมื่อ Transaction ทำงานเสร็จแล้ว คือ เปลี่ยนสถานะเป็น inactive undo extent และจะเริ่มนับเวลาของ Undo Retention จนหมดเวลา 60 นาที จึงจะเป็นสถานะ expired undo extent

ข้อ B ผิดเพราะ แม้จะมี 2 Undo Tablespace แต่ใช้เพียงอันใดอันหนึ่งเท่านั้น
ข้อ C ผิดเพราะ แม้จะเกิน 1 ชม. แล้ว แต่ Transaction ยัง Active อยู่ ทำให้ Transaction ใหม่ ไม่สามารถ Overwrite ได้
ข้อ D ผิดเพราะ Undo Segment อยู่ใน Undo Tablespace

140629.15:55:11
• เพิ่ม.