Oracle 12C 新特性 Temporary UNDO 临时回滚段


Oracle 12C 新特性 Temporary UNDO  可以减少存储在undo表空间的生成量和重做日志的生成
 
[oracle@db12c ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Mon Apr 28 14:18:21 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
 Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
 With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
 
SQL> create global temporary table test as select * from dba_objects where 1=0;

Table created.

SQL> alter session set temp_undo_enabled=false;

Session altered.

SQL> set autotrace traceonly statistics
 SQL>
SQL> insert into test select * from dba_objects;

19397 rows created.


Statistics
 ----------------------------------------------------------
          83  recursive calls
        1690  db block gets
        2621  consistent gets
          5  physical reads
      121876  redo size
        855  bytes sent via SQL*Net to client
        842  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
          3  sorts (memory)
          0  sorts (disk)
      19397  rows processed

SQL> update test set object_name=lower(object_name);

19397 rows updated.


Statistics
 ----------------------------------------------------------
          6  recursive calls
        615  db block gets
        375  consistent gets
          0  physical reads
    1310712  redo size
        857  bytes sent via SQL*Net to client
        846  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
          1  sorts (memory)
          0  sorts (disk)
      19397  rows processed

SQL> conn / as sysdba
 Connected.
 SQL>  alter session set temp_undo_enabled=true
  2  ;

Session altered.

SQL> set autotrace traceonly statistics
 SQL>
SQL>
SQL> insert into test select * from dba_objects;

19397 rows created.


Statistics
 ----------------------------------------------------------
          5  recursive calls
        1695  db block gets
        2517  consistent gets
          0  physical reads
        280  redo size
        844  bytes sent via SQL*Net to client
        842  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
          1  sorts (memory)
          0  sorts (disk)
      19397  rows processed

SQL> update test set object_name=lower(object_name);

19397 rows updated.


Statistics
 ----------------------------------------------------------
          2  recursive calls
      22237  db block gets
        827  consistent gets
          0  physical reads
          0  redo size
        855  bytes sent via SQL*Net to client
        846  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
          1  sorts (memory)
          0  sorts (disk)
      19397  rows processed

SQL>

调整Oracle回滚的速度

Oracle 回滚(ROLLBACK)和撤销(UNDO)

OCP知识点讲解 之 Undo回滚基础知识

Oracle事务 行级锁 保存点 回滚 提交

Oracle基本步骤前滚和回滚

Oracle 回滚演示 rollback演示

相关内容