Re: How to disable redo log generation during star transformation

From: Mladen Gogala <gogala.mladen_at_gmail.com>
Date: Sun, 28 Aug 2011 20:44:16 +0000 (UTC)
Message-ID: <pan.2011.08.28.20.44.16_at_gmail.com>



On Sun, 28 Aug 2011 10:44:57 -0700, Pratap wrote:

> Thanks, if the tables were created in the TEMP tablespace, I believe
> they would not have generated redo?

Well, yes and no. While it is true that temporary blocks are not protected by the redo logs, they are protected by the undo structures, to enable normal transaction behavior. Proof is trivial, you can just do following:

create global temporary table t_emp
on commit preserve rows
as select * from emp;
Table created.

Elapsed: 00:00:00.08
SQL> select count(*) from t_emp;

  COUNT(*)


        14

Elapsed: 00:00:00.01
SQL> delete from t_emp;

14 rows deleted.

Elapsed: 00:00:00.01
SQL> rollback;

Rollback complete.

Elapsed: 00:00:00.01
SQL> select count(*) from t_emp;

  COUNT(*)


        14

Elapsed: 00:00:00.00
SQL> So, temporary tables are protected by UNDO blocks and when they are used, redo will still be generated.

-- 
http://mgogala.byethost5.com
Received on Sun Aug 28 2011 - 15:44:16 CDT

Original text of this message