ORA-01144: File size (4224000 blocks) exceeds maximum of 4194303

原文地址:http://blog.itpub.net/31397003/viewspace-2152896/

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             128GB

If 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 blocks

The 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来创建超大的表空间

posted @ 2021-05-25 13:52  eyesfree  阅读(335)  评论(0编辑  收藏  举报