SQL> ALTER DATABASE TEMPFILE '+DATA/DB/tempfile/temp.305.615032955' RESIZE 50M;
ALTER DATABASE TEMPFILE '+DATA/DB/tempfile/temp.305.615032955' RESIZE 50M
*
ERROR at line 1:
ORA-03297: file contains used data beyond requested RESIZE value
การแก้ปัญหาก็คือ recreate temporary tablespace:
- สร้าง temporary tablespace และเปลี่ยน default เพราะป้องกันไม่เกิดปัญหากับ sessions ที่ต้องการใช้ temporary tablespace.
SQL> CREATE SMALLFILE TEMPORARY TABLESPACE "TEMP2" TEMPFILE '+DATA' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
Tablespace created.
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE "TEMP2";
Database altered.
SQL> DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.
- เมื่อลบตัวเก่าแล้วก็สร้างใหม่อีกครั้ง พร้อมกับเปลี่ยน default ไปที่ temporary tablespace ตัวเดิม
SQL> CREATE SMALLFILE TEMPORARY TABLESPACE "TEMP" TEMPFILE '+DATA' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
Tablespace created.
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE "TEMP";
Database altered.
SQL> DROP TABLESPACE TEMP2 INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.
ตอนนี้เราก็ลดขนาด temporary tablespace เรียบร้อย... นี่เป็นวิธีง่ายๆ ใช่ไหมครับ;)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น