From: Hemant K Chitale [mailto:email@example.com]
Sent: Tuesday, August 23, 2005 8:56 AM
To: firstname.lastname@example.org; Allen, Brandon
Cc: email@example.com; firstname.lastname@example.org
Subject: Re: ORA-1578...block corrupted...error is normal...a block...had a NOLOGGING...operation performed against
You ARE right. You really don't need to retest it.
When an object is NOLOGGING is used in the CREATE statement, it is the actual first load that the create does
that is NOLOGGING. All subsequent DML is logged.
When an object is ALTERed to NOLOGGING, only certain statements (eg APPEND) that support NOLOGGING
Read the extract that Allen has quoted "Direct Loader .. and direct path insert". It specifically talks of Direct
operations NOT regular DML. Regular DML is always always LOGged.
Again, quoting from the 9i SQL Reference on the logging clause : This also says " .. subseqent direct .. direct ..."
NOT regular DML.
PurposeThe logging_clause lets you specify whether creation of a database object will be logged in the redo log file (LOGGING) or not (NOLOGGING).
This clause also specifies whether subsequent Direct Loader (SQL*Loader) and direct-path INSERT operations against the object are logged (LOGGING) or not logged (NOLOGGING).
You can specify the logging_clause in the following statements:
- CREATE TABLE and ALTER TABLE: for logging of the table, one of its partitions, a LOB segment, or the overflow segment of an index-organized table (see CREATE TABLE and ALTER TABLE).
- CREATE INDEX and ALTER INDEX: for logging of the index or one of its partitions (see CREATE INDEX and ALTER INDEX).
- CREATE MATERIALIZED VIEW and ALTER MATERIALIZED VIEW: for logging of the materialized view, one of its partitions, or a LOB segment (see CREATE MATERIALIZED VIEW and ALTER MATERIALIZED VIEW).
- CREATE MATERIALIZED VIEW LOG and ALTER MATERIALIZED VIEW LOG: for logging of the materialized view log or one of its partitions (see CREATE MATERIALIZED VIEW LOG and ALTER MATERIALIZED VIEW LOG.)
- CREATE TABLESPACE and ALTER TABLESPACE: to set or modify the default logging characteristics for all objects created in the tablespace (see CREATE TABLESPACE and ALTER TABLESPACE.)
You can also specify LOGGING or NOLOGGING for the following operations:
Data Dictionary Updates are always logged. Regular DML is always logged.
Note 17474.1 , from Oracle7 and Oracle8 days is still the best reference.
The following operations can make use of no-logging mode:
direct load (SQL*Loader)
CREATE TABLE ... AS SELECT
ALTER TABLE ... MOVE PARTITION
ALTER TABLE ... SPLIT PARTITION
ALTER INDEX ... SPLIT PARTITION
ALTER INDEX ... REBUILD
ALTER INDEX ... REBUILD PARTITION
INSERT, UPDATE, and DELETE on LOBs in NOCACHE NOLOGGING mode stored out of line
At 11:40 PM Tuesday, Jared Still wrote:
I will rerun my tests and post the results to the list.
If there is a flaw in my testing procedure someone here
is sure to spot it.
Won't be able to do so until this afternoon however.
Hemant K Chitale
Privileged/Confidential Information may be contained in this message or attachments hereto. Please advise immediately if you or your employer do not consent to Internet email for messages of this kind. Opinions, conclusions and other information in this message that do not relate to the official business of this company shall be understood as neither given nor endorsed by it.