Why this system table doesn't appear on dictionary table? How you can see I am the sys:

SQL&gt; show user;
     USER is "SYS"


When I search the table in the dictionary the dictionary returns no rows:

select table_name from dictionary where table_name like '%AUDIT_UNIFIED_ENABLED_POLICIES%';

no rows selected


but if I issue the desc command I receive the structure of the table

desc AUDIT_UNIFIED_ENABLED_POLICIES
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 USER_NAME                                          VARCHAR2(128)
 POLICY_NAME                                        VARCHAR2(128)
 ENABLED_OPT                                        VARCHAR2(7)
 ENABLED_OPTION                                     VARCHAR2(15)
 ENTITY_NAME                                        VARCHAR2(128)
 ENTITY_TYPE                                        VARCHAR2(7)
 SUCCESS                                            VARCHAR2(3)
 FAILURE                                            VARCHAR2(3)


Why does this happen?
I do not know any proper explanation. It has always been like this. Maybe Oracle was lazy, forgot to update the DICTIONARY view and noone even bothered to report this. Maybe there is a real reason for this.

If you check the definiton of the view DICTIONARY (DICT is a synonym for that), you can see it is a union of 3 branches (simplified):


ALL_*, DBA_*, USER_* views
A specific list of other views
Some others views that have public synonyms created on them with a different name (like DICTIONARY and DICT)


The problem is with 2. in my opinion. These newer views do not follow the regular naming schema and they should be included in this list.

I had the same experience with views related to Data Redaction.

Views such as REDACTION_POLICIES or REDACTION_COLUMNS are also not listed in DICT/DICTIONARY.