SQL> create global temporary table t ( x int ) on commit preserve rows;
Table created.
SQL>
SQL> conn scott/tiger.
Connected.
SQL>
SQL> alter session set temp_undo_enabled = true;
Session altered.
SQL>
SQL> insert into t 2 select rownum 3 from dual connect by level <= 100;
100 rows created.
SQL>
SQL> select count(*) from t; COUNT(*) ---------- 100
SQL>
SQL> commit;
Commit complete.
SQL>
SQL> select count(*) from t; COUNT(*) ---------- 100