Maximum Size Limit of a Database
After knowing how big a data file can be and how big a tablespace can be in previous posts, we can continue to calculate how big a database can be. According to the physical database limits, we can have at most 65533 data files or 64000 tablespaces in a database. Additionally, we should also consider the type of data file and the block size to calculate theoretical maximum database size.
Here are quick reference tables for maximum size limits of SMALLFILE and BIGFILE tablespaces.
Databases with Pure SMALLFILE Data Files
Block Size (KB) | Data File Max Size (GB) | Max Data Files | Database Max Size (PB) |
---|---|---|---|
4 | 16 | 65533 | 1 |
8 | 32 | 65533 | 2 |
16 | 64 | 65533 | 4 |
32 | 128 | 65533 | 8 |
Databases with Pure BIGFILE Data Files
Since there's only one data file is allowed in a bigfile tablespace, so we use the limit of maximum tablespaces in a database to calculate the maximum size.
Block Size (KB) | Data File Max Size (TB) | Max Tablespaces | Database Max Size (PB) ★ |
---|---|---|---|
4 | 16 | 64000 | 1000 |
8 | 32 | 64000 | 2000 |
16 | 64 | 64000 | 4000 |
32 | 128 | 64000 | 8000 |
★ Conventionally, we take binary prefix instead of decimal prefix as the byte unit multiple to calculate the physical space, so 1000 PB here means 1000 PiB (Pebibyte) which does not equal to 1 EiB (Exbibyte).
Please note that, the maximum database sizes we calculated above are just theoretical figures, don't take them too seriously. And I believe no one knows the exact boundaries, do you?
Further reading: How to Check Oracle Database Size?