6
votes

What is the difference between the ALL_TAB_COLUMNS and ALL_TAB_COLS system tables in Oracle 12c? In my DB, the ALL_TAB_COLUMNS has slightly fewer rows than ALL_TAB_COLS.

2

2 Answers

11
votes

From the Oracle manual for ALL_TAB_COLS

This view differs from "ALL_TAB_COLUMNS" in that system-generated hidden columns and invisible columns, which are user-generated hidden columns, are not filtered out.

From the Oracle manual for ALL_TAB_COLUMNS

This view filters out system-generated hidden columns and invisible columns, which are user-generated hidden columns. The ALL_TAB_COLS view does not filter out hidden columns and invisible columns

0
votes

ALL_TAB_COLUMNS lists only user-defined columns whereas ALL_TAB_COLS also seems to contain some system columns in each user table that are not normally visible.