Oracle 8i NOLOGGING parameter...

From: Gerry D'Costa <webmaster_at_cybersurf.net>
Date: 2000/05/03
Message-ID: <550Q4.85$Tt1.8790_at_jekyl.ab.tac.net>#1/1


Hi all,

I've got a question about the NOLOGGING parameter that you can attribute to tables, tablespaces, and partitions.

How do you tell Oracle not to log a particular table?

I'm running Oracle 8.1.5 with Partitioning in archive log mode. I've just partitioned one of my tables into 12 datafiles ( one for each month ) and I'm trying to load data into it.

The main problem is that in doing this the quantity of archive logs starts going through the roof.

Oracle documentation says that I can perform a Direct-Load insert in conjunction with turning LOGGING off for a table. So I tried the following in PL/SQL: (The "v_" variables are cursor variables)


  • Direct LOAD INSERT INSERT /*+ APPEND */ INTO impressions
    ( custid,
    adid, impression_date, impression_count, month ) VALUES
    ( v_custid,
    v_adid, v_impressionDate, v_impressionCount, TO_NUMBER( TO_CHAR( v_impressionDate, 'MM' ) ) );

I've also performed the following alter table command...

ALTER TABLE impressions NOLOGGING;


However, it still produced gigabytes of archive logs, hence lots of redo data.

I know that rollback segments transactions are included in the redo data so I next issued the following command:

ALTER TABLESPACE rollback NOLOGGING;

( the tablespace rollback holds all rollback segments )

Still didn't work, I still have archive logs being generated at a incredible rate.

Am I doing something wrong or am I just overlooking something. Any help would be really appreciated.

Thanks

Gerry D'Costa
Database Administrator
Cybersurf Corporation
gdcosta_at_cybersurf.net
www.cybersurf.net
www.3web.net Received on Wed May 03 2000 - 00:00:00 CEST

Original text of this message