در نسخه Oracle Database 23ai، بهطور پیشفرض اکثر Tablespaces بهصورت Bigfile ایجاد میشوند. این تغییر از نسخههای قبلی Oracle آغاز شد و Bigfile Tablespaces از Oracle 10g به این سیستم معرفی شدند.
در Oracle 23ai، بیشتر Tablespaces مانند SYSAUX، SYSTEM و UNDOTBS1 بهطور پیشفرض بهصورت Bigfile ایجاد میشوند، به جز Tablespace TEMP که همچنان بهصورت Smallfile باقی میماند.
مثال:
conn / as sysdba
select tablespace_name, bigfile
from dba_tablespaces
order by 1;
خروجی:
TABLESPACE_NAME BIG
—————————— —
SYSAUX YES
SYSTEM YES
TEMP NO
UNDOTBS1 YES
در Pluggable Databaseها، رفتار مشابهی مشاهده میشود، با این تفاوت که در PDBها، Tablespace USERS بهطور پیشفرض بهصورت Smallfile ایجاد میشود. این رفتار در نسخه ۲۳ai استاندارد شده است.
مثال:
alter session set container=freepdb1;
select tablespace_name, bigfile
from dba_tablespaces
order by 1;
خروجی:
TABLESPACE_NAME BIG
—————————— —
SYSAUX YES
SYSTEM YES
TEMP NO
UNDOTBS1 YES
USERS NO
ایجاد Tablespaces جدید
هنگام ایجاد یک Tablespace جدید بدون تنظیم صریح اندازه فایل به Bigfile یا Smallfile، Oracle 23ai بهطور پیشفرض آن را به صورت Bigfile ایجاد میکند. این امر برای کاربران که از Oracle Managed Files (OMF) استفاده میکنند، سادهسازی بیشتری را فراهم میکند.
مثال:
create tablespace new_ts datafile size 2g;
select tablespace_name, bigfile
from dba_tablespaces
order by 1;
خروجی:
TABLESPACE_NAME BIG
—————————— —
NEW_TS YES
SYSAUX YES
SYSTEM YES
TEMP NO
UNDOTBS1 YES
USERS NO
این پیشفرضهای جدید در نسخه ۲۳٫۴ معرفی شدهاند. در نسخه ۲۳٫۳ و قبل از آن، Tablespaces بهطور پیشفرض بهصورت Smallfile ایجاد میشدند.
مثال در نسخه ۲۳٫۳:
conn / as sysdba
select tablespace_name, bigfile
from dba_tablespaces
order by 1;
خروجی:
TABLESPACE_NAME BIG
—————————— —
SYSAUX NO
SYSTEM NO
TEMP NO
UNDOTBS1 NO
USERS NO
ایجاد یک Tablespace جدید:
create tablespace new_ts datafile size 2g;
select tablespace_name, bigfile
from dba_tablespaces
order by 1;
خروجی:
TABLESPACE_NAME BIG
—————————— —
NEW_TS NO
SYSAUX NO
SYSTEM NO
TEMP NO
UNDOTBS1 NO
USERS NO
برای اطلاعات بیشتر و جزئیات دقیقتر، میتوانید به مستندات رسمی Oracle مراجعه کنید.