Summary
Oracle has limitation boundaries related with the db_block_size.
Depending the db_block_size you can create datafiles up to one specific size. For example:
db_block_size | Datafile upper limit ---------------------------------------------- 2kb 8GB 4kb 16GB 8kb 32GB 16kb 64GB 32kb 128GBIf you have db_block_size=8Kb and try to create a datafile with size 33GB you will get the error:
ORA-01144: File size (4224000 blocks) exceeds maximum of 4194303 blocksThe formula to calculate the max size is: db_block_size * 4194303.
The workaround to this situation is obvious. One simple solution is to create multiple datafiles with smaller size. The othe is to use Bigfile tablespaces
Bigfile tablespaces
This is a feature of Oracle 10g. A bigfile tablespace contains only one datafile (or tempfile) which can be as big as 2^32 (=4GB) blocks.
create bigfile tablespace beeeg_ts data file '/o1/dat/beeeg.dbf' size 2T;Bigfile tablespaces are supported only for locally managed tablespaces with automatic segment-space management (which is the default setting since Oracle 9i). There are two exceptions: locally managed undo and temporary tablespaces can be bigfile tablespaces, even though their segments are manually managed.
The system and sysaux tablespace cannot be created as bigfile tablespace. Bigfile tablespaces should be used with automatic storage management, or other logical volume managers that support dynamically extensible logical volumes, striping and RAID.
其实就是用create bigfile tablespace来创建超大的表空间