Internal Database Limits on Number of Objects, Constraints, and Users
(Doc ID 2660231.1)
Last updated on SEPTEMBER 20, 2024
Applies to:
Oracle Database - Standard Edition - Version 12.1.0.2 and laterOracle Database - Enterprise Edition - Version 12.1.0.2 and later
Oracle Database Cloud Exadata Service - Version N/A and later
Oracle Cloud Infrastructure - Exadata Cloud Service - Version N/A and later
Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine) - Version N/A and later
Information in this document applies to any platform.
Goal
The Oracle RDBMS has some internally imposed limits due to internal datatypes used. These limits affect the number of objects that can be created, the number of lightweight jobs that can be created, the number of DDL operations that can be executed, the number of table constraints that can be created, and the number of users that can be created. This note is designed to document these limits and any potential workarounds / solutions available.
The limits discussed in this note are also documented in Appendix A of the Oracle Database Reference. The section entitled 'Logical Database Limits' has a table with the following entries, among others:
Item | Type of Limit | Limit Value |
Constraints | Maximum per column |
Unlimited Oracle does not define a limit on the number of constraints per column. However, constraints are subject to the limit on the maximum number of constraints in the database. See the entry for "Constraints - Maximum per database" in this table. |
Constraints | Maximum per database | 4,294,967,293 |
Database users | Maximum per database | 4,294,967,293 |
Dictionary-managed database objects | Maximum per database | 4,254,950,911 - overhead |
Indexes | Maximum per column | Unlimited
Oracle does not define a limit on the number of indexes per table. However, indexes are subject to the limit on the maximum number of dictionary-managed database objects allowed per database. See the entry for "Dictionary-managed database objects" in this table. |
Tables | Maximum per database |
Unlimited Oracle does not define a limit on the number of tables per database. However, tables are subject to the limit on the maximum number of dictionary-managed database objects allowed per database. See the entry for "Dictionary-managed database objects" in this table. |
As mentioned in the documentation, the number of constraints, indexes, and tables that can be created in a database are not actually unlimited. This note provides more detail on what the actual limitations are.
Solution
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Goal |
Solution |
Constraints |
Database Users |
Tables (and Other Dictionary-Managed Objects) |
References |