Search notes:

Oracle: types of tables and the data dictionary

Creating some types

Create a few tables.
Note: The names of private temporary tables are required to start with the letters that correspond to the init parameter private_temp_table_prefix.
begin
   for r in (select table_name from user_tables where substr(table_name, 1,9) = 'TBL_TYPE_') loop
       execute immediate 'drop table ' || r.table_name || ' purge';
   end loop;
end;
/


create                   table tbl_type_heap               (c number            ) organization heap;
create                   table tbl_type_iot                (c number primary key) organization index;
create global  temporary table tbl_type_glob_temp_com_pres (c number            ) on commit preserve rows;
create global  temporary table tbl_type_glob_temp_com_del  (c number            ) on commit delete   rows;
create private temporary table ORA$PTT_priv_temp_com_pres  (c number            ) on commit preserve definition;
create private temporary table ORA$PTT_priv_temp_com_drop  (c number            ) on commit drop     definition;
Github repository Oracle-Patterns, path: /DatabaseObjects/Tables/types/create-some.sql

Select some columns from the data dictionary

select
   obj.object_name,
   obj.object_type,
   obj.temporary,
-- tab.temporary,
   tab.duration,
   tab.iot_type,
   tab.tablespace_name
from
   user_objects obj    left join
   user_tables  tab on obj.object_name = tab.table_name
where
   substr(object_name, 1, 9) = 'TBL_TYPE_' or
   substr(object_name, 1, 8) = 'ORA$PTT_'      -- <== private temporary tables not shown in user_objects
;
Github repository Oracle-Patterns, path: /DatabaseObjects/Tables/types/data-dictionary.sql

See also

Global temporary tables
The data dictionary

Index