A.1 Datatype Limits

This table documents the limits for datatypes, and includes comments about the datatypes.

Datatypes Limit Comments

BFILE

Maximum size: 4 GB

Maximum size of a file name: 255 characters

Maximum size of a directory name: 128 bytes

Maximum number of open BFILEs: see Comments

The maximum number of BFILEs is limited by the value of the SESSION_MAX_OPEN_FILES initialization parameter, which is itself limited by the maximum number of open files the operating system will allow.

BLOB

Maximum size: (4 GB - 1) * DB_BLOCK_SIZE initialization parameter (8 TB to 128 TB)

The number of LOB columns per table is limited only by the maximum number of columns per table (that is, 1000Foot 1).

CHAR

Maximum size: 2000 bytes

None

CLOB

Maximum size: (4 GB - 1) * DB_BLOCK_SIZE initialization parameter (8 TB to 128 TB)

The number of LOB columns per table is limited only by the maximum number of columns per table (that is, 1000Foot 1).

Literals (characters or numbers in SQL or PL/SQL)

Maximum size: 4000 characters

None

LONG

Maximum size: 2 GB - 1

Only one LONG column is allowed per table.

NCHAR

Maximum size: 2000 bytes

None

NCLOB

Maximum size: (4 GB - 1) * DB_BLOCK_SIZE initialization parameter (8 TB to 128 TB)

The number of LOB columns per table is limited only by the maximum number of columns per table (that is, 1000Foot 1).

NUMBER

999...(38 9's) x10125 maximum value

-999...(38 9's) x10125 minimum value

Can be represented to full 38-digit precision (the mantissa)

Can be represented to full 38-digit precision (the mantissa)

NVARCHAR2

Maximum size: 4000 bytes, or 32767 bytes if the MAX_STRING_SIZE initialization parameter is set to EXTENDED

See Also: "MAX_STRING_SIZE" initialization parameter for additional details

None

Precision

38 significant digits

None

RAW

Maximum size: 2000 bytes, or 32767 bytes if the MAX_STRING_SIZE initialization parameter is set to EXTENDED

See Also: "MAX_STRING_SIZE" initialization parameter for additional details

None

VARCHAR2

Maximum size: 4000 bytes, or 32767 bytes if the MAX_STRING_SIZE initialization parameter is set to EXTENDED

See Also: "MAX_STRING_SIZE" initialization parameter for additional details

None

Footnote 1

The absolute maximum number of columns in a table is 1000. However, when you create an object table (or a relational table with columns of object, nested table, varray, or REF type), Oracle maps the columns of the user-defined types to relational columns, creating in effect hidden columns that count toward the 1000-column limit. For details on how Oracle calculates the total number of columns in such a table, refer to Oracle Database Administrator’s Guide.

See Also: