The following article mainly introduces the Oracle data file size restriction solution. We all know that the size of the racle data file is limited to an internal one. The related limitation is: each related data file can contain a maximum of 2 ^ 22-1 data blocks.
This limit directly results in the maximum allowed size of each data file.
Under 2 K Block_size, the maximum data file size is approximately 8 GB.
Under the Block_size of 32 K, the maximum size of Oracle data files is 16*8 GB.
This restriction is because the Rowid of Oracle uses 22 Bits to represent the Block number. These 22 Bits can only represent 2 ^ 22-1 data blocks at most.
To expand the size of data files, a large file tablespace is introduced in Oracle10g. In a large file tablespace, Oracle uses 32 bits to represent the Block number. That is to say, in the new technology, each file in a large file tablespace can contain up to 4 GB blocks.
That is to say, when Block_size is 2 K, the Oracle data file can reach 8 TB.
When the block_size is 32 K, the data file can reach 128 TB.
This restriction was first encountered during the 2 K block_size test last week:
SQL> alter tablespace eygle add datafile 'f: \ eygle02.dbf' size 8192 M; alter tablespace eygle add datafile 'f: \ eygle02.dbf' size 8192 M * ERROR located at row 1st: ORA-01144: file size (4194304 blocks) exceeds the maximum number of 4194303 Blocks
Scale down and create successfully:
- SQL> alter tablespace eygle add datafile 'f:\eygle02.dbf' size 8191M reuse;
The tablespace has been changed.
Used time: 00: 44: 42.08
Calculate the IO speed of this tattered test machine:
- io speed = 8191 M / 00: 44: 42.08 = 8191 M / 44*60+42 = 8191M / 2682 s = 3.05M/s
The above content is a description of the restrictions on the size of Oracle data files. I hope it will help you in this regard.