Tablespace بالاترین سطح منطقی ساختار اوراکل است که از چندین datafile فیزیکی تشکیل شده است. tablespace به segment ها و segment ها نیز به extent ها و در نهایت extent ها به بلاک هایی تقسیم می شوند. اشیای کاربران در قالب سختار منطقی tablespace ها ذخیره می شوند. اما به طور واقعی در بلاک های مربوط به یک datafile بر روی دیسک ذخیره خواهند شد.برای افزایش ظرفیت یک tablespace دو راه وجود دارد، یکی افزودن یک datafile جدید به آن و دیگری افزایش فضای datafile موجود و عضو tablespace.توجه کنید که هر tablespace از یک یا چند datafile تشکل شده است و هر datafile نیز تنها متعلق به یک tablespace است. tablespace ای که تنها شامل یک datafile بسیار بزرگ و حجیم باشد را BIGFILE Tablespace گویند.
افزودن یک datafile جدید به tablespace
از دستور ALTER TABLESPACE می توان برای افزودن یک datafile جدید استفاده کرد.
ALTER TABLESPACE tablespace_name ADD DATAFILE location_of_datafile SIZE size_number
;ALTER TABLESPACE my_tablespace ADD DATAFILE ’/u01/oracle/oradata/data02.dbf’ SIZE 200M AUTOEXTEND ON
یا مثال زیر
ALTER TABLESPACE my_tablespace
‘ADD DATAFILE ‘/u01/oracle/oradata/data02.dbf
SIZE 200M
AUTOEXTEND ON
MAXSIZE 500M
تغییر اندازه Datafile موجود
در مثال بالا از عبارت SIZE برای تعیین کردن اندازه (سایز) اولیه Datafile استفاده می شود، یعنی یک فایل به حجم 200 مگابایت بر روی دیسک ایجاد خواهد شد. سپس با MAXSIZE اندازه نهایی که datafile می تواند تا آن رشد کند، مشخص می شود. رشد datafile با تعیین عبارت AUTOEXTEND ON به طور خودکار صورت می گیرد. اما می توانیم با دستور ALTER DATABASE اندازه datafile موجود را تغییر دهیم.
;ALTER DATABASE DATAFILE location_of_datafile RESIZE new_size
;ALTER DATABASE DATAFILE ‘/u01/oracle/oradata/data01.dbf’ RESIZE 1024M
یا دستور زیر که مقدار MAXSIZE را از 500 مگابایت به 1024 گیگابایت تغییر می دهد.
;ALTER DATABASE DATAFILE location_of_datafile MAXSIZE new_size
;ALTER DATABASE DATAFILE ‘/u01/oracle/oradata/data01.dbf’ MAXSIZE 1024M