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?