
Last Updated (Saturday, 08 August 2009 21:58) Tuesday, 13 January 2009 10:42
เมื่อสร้าง locally managed tablespace เราสามารถเลือกวิธี allocated extenet ได้ ดังนี้
AUTOALLOCATE
Oracle เป็นตัวจัดการขนาดของ extent ให้ oracle จะเลือก ขนาดถัดไปแบบ optimal เริ่มจาก 64 KB และเมื่อ segment มีขนาดโตขึ้น จนต้องการ extent เพิ่ม oracle จะ allocate extent ถัดไป ใหญ่ขึ้น ใหญ่ขึ้น .. จนมีขนาด ตั้งแต่ช่วง 1MB จนถึง 64 MB การ allocate แบบนี้ช่วยประหยัดพื้นที่ว่าง แต่ทำให้เกิด fragmentation วิธี allocate แบบ auto นี้ เหมาะสำหรับ ตารางขนาดเล็ก หรือ ระบบที่ไม่ต้องการมาจัดการมากนัก
UNIFORM
การขยายขนาด จะจองพื้นที่ extent ถัดไป ให้มีขนาดเท่าๆกันตลอด ซึ่งขนาดของ extent ถัดไป จะกำหนดให้เป็นหน่วย MB หรือ KB ก็ได้ โดยทั่วไปแล้ว UNIFORM extent allocation มีขนาด 1MB เป็น default การใช้ uniform extent จะช่วยลด fragmentation จึงทำให้ performance โดยรวมดีขึ้นสร้างแบบ Command-LineSQL> CREATE TABLESPACE oracleskill_tbs
DATAFILE '/u01/oradata/oracleskill_tbs01.dbf' SIZE 50M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE;
SQL> CREATE TABLESPACE oracleskill_tbs
DATAFILE '/u01/oradata/oracleskill_tbs01.dbf' SIZE 50M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;
สร้างแบบใช้ Enterprise Manager Database Control
แท็บ General เลือก Extent Management แบบ Locally Managed
แท็บ Storage เลือก Extent Allocation แบบ Automatic หรือ Uniform

คำแนะนำ
ให้ ใช้ UNIFORM size tablespaces กับ ตารางที่มีขนาดใหญ่ และ ใช้ AUTOALLOCATE size tablespaces กับ ตารางที่มีขนาดเล็ก หรือ ตาราง ที่อยู่ในระบบที่ไม่ต้องมีการจัดการมากนักoracle database table oracle database data using pl/sql index oracle tutorial password oracle thailand oracle training thailand database administrator oracle thai oracle dba oracle training oracle consulting oracle consultance thai oracle consultance oracle consulting thailand mysql tuning indexes statistics join column migration rman tables production


