GTT / Global Temporary Table Application often use temporary data Stored in the external Drive. data in a GTT is written to the temporary tablespace the associated undo is still written to the normal undo tablespace, which is itself protected by redo, so using a GTT does not reduce undo and the redo associated with protecting the undo tablespace. CREATE GLOBAL TEMPORARY TABLE test1_gtt ( id NUMBER ) ON COMMIT DELETE ROWS; INSERT INTO test1_gtt(id) VALUES(10); INSERT INTO test1_gtt(id) VALUES(20); INSERT INTO test1_gtt(id) VALUES(30); CREATE GLOBAL TEMPORARY TABLE test2_gtt ( id NUMBER ) ON COMMIT PRESERVE ROWS; INSERT INTO test2_gtt(id) VALUES(10); INSERT INTO test2_gtt(id) VALUES(20); INSERT INTO test2_gtt(id) VALUES(30); COMMIT; SELECT * FROM test2_gtt; CONNECT hr/admin; SELECT * FROM test2_gtt; Features If the TRUNCATE statement is issued against a temporary table, only the session specific data is truncated. There is no affect on the data of other sessions. Data in temporary tables is stored in temp segments in the temp tablespace. Data in temporary tables is automatically deleted at the end of the database session, even if it ends abnormally. Indexes can be created on temporary tables. Views can be created against temporary tables and combinations of temporary and permanent tables. Export and Import utilities can be used to transfer the table definitions, but no data rows are processed. Private Temporary Tables (18c+)