Skip Headers
Oracle® Database Reference
12c Release 1 (12.1)

Go to Documentation Home
Go to Book List
Book List
Go to Table of Contents
Go to Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Go to next page
PDF · Mobi · ePub


DBA_TAB_COLS describes the columns of all tables, views, and clusters in the database. This view differs from "DBA_TAB_COLUMNS" in that system-generated hidden columns and invisible columns, which are user-generated hidden columns, are not filtered out.


See Oracle Database Administrator's Guide for information about invisible columns.

Its columns are the same as those in "ALL_TAB_COLS", except for the SENSITIVE_COLUMN. To gather statistics for this view, use the DBMS_STATS package.

Column Datatype NULL Description
OWNER VARCHAR2(128) NOT NULL Owner of the table, view, or cluster
TABLE_NAME VARCHAR2(128) NOT NULL Name of the table, view, or cluster
DATA_TYPE VARCHAR2(128)   data type of the column
DATA_TYPE_MOD VARCHAR2(3)   data type modifier of the column
DATA_TYPE_OWNER VARCHAR2(128)   Owner of the data type of the column
DATA_LENGTH NUMBER NOT NULL Length of the column (in bytes)
DATA_PRECISION NUMBER   Decimal precision for NUMBER data type; binary precision for FLOAT data type; NULL for all other data types
DATA_SCALE NUMBER   Digits to the right of the decimal point in a number
NULLABLE VARCHAR2(1)   Indicates whether a column allows NULLs. The value is N if there is a NOT NULL constraint on the column or if the column is part of a PRIMARY KEY.
COLUMN_ID NUMBER   Sequence number of the column as created
DEFAULT_LENGTH NUMBER   Length of the default value for the column
DATA_DEFAULT LONG   Default value for the column
NUM_DISTINCT NUMBER   Number of distinct values in the columnFoot 1 
LOW_VALUE RAW(1000)   Low value in the columnFootref 1
HIGH_VALUE RAW(1000)   High value in the columnFootref 1
DENSITY NUMBER   If a histogram is available on COLUMN_NAME, then this column displays the selectivity of a value that spans fewer than 2 endpoints in the histogram. It does not represent the selectivity of values that span 2 or more endpoints.

If a histogram is not available on COLUMN_NAME, then the value of this column is 1/NUM_DISTINCT.Footref 1

NUM_NULLS NUMBER   Number of NULLs in the column
NUM_BUCKETS NUMBER   Number of buckets in the histogram for the column

Note: The number of buckets in a histogram is specified in the SIZE parameter of the ANALYZE SQL statement. However, Oracle Database does not create a histogram with more buckets than the number of rows in the sample. Also, if the sample contains any values that are very repetitious, Oracle Database creates the specified number of buckets, but the value indicated by this column may be smaller because of an internal compression algorithm.

LAST_ANALYZED DATE   Date on which this column was most recently analyzed
SAMPLE_SIZE NUMBER   Sample size used in analyzing this column
CHARACTER_SET_NAME VARCHAR2(44)   Name of the character set:


CHAR_COL_DECL_LENGTH NUMBER   Declaration length of the character type column
GLOBAL_STATS VARCHAR2(3)   Indicates whether statistics were gathered for the table as a whole (global statistics) (YES) or they were not gathered (NO). Note that for partitioned tables, global statistics and partition statistics are estimated from underlying partition and subpartition statistics, respectively, when set to NO.
USER_STATS VARCHAR2(3)   Indicates whether statistics were entered directly by the user (YES) or not (NO)
AVG_COL_LEN NUMBER   Average length of the column (in bytes)
CHAR_LENGTH NUMBER   Displays the length of the column in characters. This value only applies to the following data types:
  • CHAR




CHAR_USED VARCHAR2(1)   Indicates that the column uses BYTE length semantics (B) or CHAR length semantics (C), or whether the data type is not any of the following (NULL):
  • CHAR




V80_FMT_IMAGE VARCHAR2(3)   Indicates whether the column data is in release 8.0 image format (YES) or not (NO)
DATA_UPGRADED VARCHAR2(3)   Indicates whether the column data has been upgraded to the latest type version format (YES) or not (NO)
HIDDEN_COLUMN VARCHAR2(3)   Indicates whether the column is a hidden column (YES) or not (NO)
VIRTUAL_COLUMN VARCHAR2(3)   Indicates whether the column is a virtual column (YES) or not (NO)
SEGMENT_COLUMN_ID NUMBER   Sequence number of the column in the segment
INTERNAL_COLUMN_ID NUMBER NOT NULL Internal sequence number of the column
HISTOGRAM VARCHAR2(15)   Indicates existence/type of histogram:
  • NONE



QUALIFIED_COL_NAME VARCHAR2(4000)   Qualified column name
USER_GENERATED VARCHAR2(3)   Indicates whether the column is a user-generated column (YES) or a system-generated column (NO)
DEFAULT_ON_NULL VARCHAR2(3)   Indicates whether the column has DEFAULT ON NULL semantics (YES) or not (NO)
IDENTITY_COLUMN VARCHAR2(3)   Indicates whether this is an identity column (YES) or not (NO)
SENSITIVE_COLUMN VARCHAR2(3)   Indicates whether this is a sensitive column (YES) or not (NO)
EVALUATION_EDITION VARCHAR2(128)   Name of the edition in which editioned objects referenced in an expression column are resolved
UNUSABLE_BEFORE VARCHAR2(128)   Name of the oldest edition in which the index may be used as part of a query plan
UNUSABLE_BEGINNING VARCHAR2(128)   Name of the edition for which the index may not be used as part of a query plan in this edition or any of its descendants

Footnote 1 These columns remain for backward compatibility with Oracle7. This information is now in the [TAB|PART}_COL_STATISTICS views.

See Also:

Oracle Database PL/SQL Packages and Types Reference for more information about the DBMS_STATS package