Maybe not important to many people but as I didn’t find much about it via a search I’d thought I post something about the new upobjxt.lst and upuserxt.lst files. Since Oracle Database 18.104.22.168 we deliver these files in
All Oracle supplied objects are kept in an external table format.
The file’s name is: upobjxt.lst
If you’d like to access it you may do the following:
- Create a directory object:
CREATE OR REPLACE DIRECTORY ext_tab_data AS '/u01/app/oracle/product/22.214.171.124/rdbms/admin/';
- Define the external table to query it:
CREATE TABLE oracle_supplied_ext ( owner VARCHAR2(31), name VARCHAR2(127), placeholder VARCHAR2(20), object_type number ) ORGANIZATION EXTERNAL ( TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab_data ACCESS PARAMETERS ( DATA_CACHE 1000000 RECORDS DELIMITED BY NEWLINE FIELDS TERMINATED BY ',' MISSING FIELD VALUES ARE NULL ( owner CHAR(31), name CHAR(127), placeholder CHAR(20), object_type CHAR(2) ) ) LOCATION ('upobjxt.lst') ) PARALLEL 8 REJECT LIMIT UNLIMITED;
- Now you can query from the table oracle_supplied_ext.
select count(*), object_type from oracle_supplied_ext group by object_type order by 2;
- Would you like to match object types to object codes? Try this one …:
select count(o.type#), o.type#,d.object_type from dba_objects d, obj$ o where d.object_id=o.obj# group by o.type#,d.object_type order by 2;
Object mapping can be found also in the definition of
All Oracle supplied users are kept in an external table format in another file named: upuserxt.lst