فضایی بسازید که تا 200mb به طور خودکار 10m 10m رشد می کند: (در صورتی که maxsize مشخص نشود فضا میگیرد)
SQL> create tablespace ts datafile 'd:\root\a.dbf' size 100m reuse autoextend on
next 10m maxsize 200m;
در دستور بالا 100mb سایز اولیه TableSpaceامون است اگر این مقدار فضای اولیه پر شود به طور خودکار 10m 10m به فضا اضافه میشود تا به 200m برسد. در صورتی که فضای maxsize مشخص نگردد تا جایی که مدیا ذخیرهسازی اجازه دهد به DataFile ما 10m 10m اضافه میشود.
نکته: عددی که برای رشد DataFile مشخص میکنیم بسیار مهم است. اگر این عدد را زیاد بگیریم فضای مدیایذخیرهسازی ما از بین میرود چون این فضا به طور کامل اشغال و توسط اوراکل رزرو میشود و ممکن است دیتای ما آنقدر فضا نیاز نداشته باشد. اگر این عدد را کم بگیریم (مثلا ۱ کیلوبایت) اینجوری مدیای ذخیرهسازی ما فضای هدر شده ندارد ولی تو این مدت که بخواد به 200m برسه بار بسیار وحشتناکی رو CPU سرور ما داره چون به ازای هر کیلوبایت میخواد فایل رو extend کنه پس performance سیستم به شدت پایین میآید.
نکته: من ترجیح میدم فضای از دست رفتهام زیاد باشه نه اینکه بار CPU ام زیاد بشه و performance سیستم پایین بیاد
س: آیا با اضافه کردن به دیتافایل در مدیای ذخیرهسازی ما Gap ایجاد میشود؟
ج: این بستگی به سیستمعامل و سیستمفایلتان دارد و به اوراکل به صورت معمولی در حالت FileSystem ربطی ندارد. مگر در حالت ASM باشید که در این حالت اوراکل هیچ Gap ای در مدیای ذخیرهسازی شما ایجاد نمیکند.