What is the purpose of the NOLOGGING clause on Oracle database TABLES and INDEXES I was wandering what is the practical purpose of using the NOLOGGING clause on tables and indexes.

For what I know from the Oracle documentation, we can prevent the database from generating redo logs only when INSERTING in direct-path mode. There is no possibility to avoid redo log generation when UPDATING or DELETING.

So, we usually write 

INSERT /*+ APPEND NOLOGGING */ INTO TABLE ... ;
commit;


in order to prevent redo log generation.

I totally don't get what is the practical advantage of using the NOLOGGING clause on TABLE or INDEX creation neither to use the NOLOGGING clause on TABLESPACES creation in order to set the default on the objects that will be created on that tablespace.

Can anyone describe a practical scenario where setting this clause on database objects may give advantages?
There is no such hint as NOLOGGING.

Sure, UPDATE and DELETE operations can not take advantage of NOLOGGING, but there are other operations that can:

logging_clause


  NOLOGGING is supported in only a subset of the locations that support
  LOGGING. Only the following operations support the NOLOGGING mode:
  
  DML:
  
  Direct-path INSERT (serial or parallel) resulting either from an
  INSERT or a MERGE statement. NOLOGGING is not applicable to any UPDATE
  operations resulting from the MERGE statement.
  
  Direct Loader (SQL*Loader)
  
  DDL:
  
  CREATE TABLE ... AS SELECT (In NOLOGGING mode, the creation of the
  table will be logged, but direct-path inserts will not be logged.)
  
  CREATE TABLE ... LOB_storage_clause ... LOB_parameters ... CACHE |
  NOCACHE | CACHE READS
  
  ALTER TABLE ... LOB_storage_clause ... LOB_parameters ... CACHE |
  NOCACHE | CACHE READS (to specify logging of newly created LOB
  columns)
  
  ALTER TABLE ... modify_LOB_storage_clause ... modify_LOB_parameters
  ... CACHE | NOCACHE | CACHE READS (to change logging of existing LOB
  columns)
  
  ALTER TABLE ... MOVE
  
  ALTER TABLE ... (all partition operations that involve data movement)
  
  ALTER TABLE ... ADD PARTITION (hash partition only)
  
  ALTER TABLE ... MERGE PARTITIONS
  
  ALTER TABLE ... SPLIT PARTITION
  
  ALTER TABLE ... MOVE PARTITION
  
  ALTER TABLE ... MODIFY PARTITION ... ADD SUBPARTITION
  
  ALTER TABLE ... MODIFY PARTITION ... COALESCE SUBPARTITION
  
  CREATE INDEX
  
  ALTER INDEX ... REBUILD
  
  ALTER INDEX ... REBUILD [SUB]PARTITION
  
  ALTER INDEX ... SPLIT PARTITION