OraclePerformance

Oracle – NOLOGGING

Par IKNAE TECHNO ·

Dans certains cas de besoin de gain de performances sur du chargement de base de données Oracle, il peut être tentant de basculer tout ou partie de la base de données en mode NOLOGGING.

Il faut bien garder à l’esprit que ne pas écrire les transactions dans les redologs implique une impossibilité de recover en cas de crash de la base de données.

Utiliser le mode NOLOGGING ne garantit toutefois pas que les transactions ne seront pas écrites dans les redologs. En effet, le mode NOLOGGING est utilisable pour un certain type d’opération d’écriture, les INSERT en mode APPEND. L’INSERT en mode APPEND a pour vocation d’écrire les lignes insérées en bout de table, au-delà du HWM (High Water Mark) de la table. Le mode APPEND par ailleurs utilise la fonctionnalité d’écriture appelée Direct Path qui force l’écriture directe des lignes sans passer par le cache Oracle.

Une matrice explique dans quels cas le mode NOLOGGING permet de ne pas écrire dans les redologs lors d’insertions en mode APPEND :

Table modeInsert modeArchivelog modeRésultat
LOGGINGAPPENDARCHIVELOGRedo généré
NOLOGGINGAPPENDARCHIVELOGRedo non-généré
LOGGINGNOAPPENDARCHIVELOGRedo généré
NOLOGGINGNOAPPENDARCHIVELOGRedo généré
LOGGINGAPPENDNOARCHIVELOGRedo non-généré
NOLOGGINGAPPENDNOARCHIVELOGRedo non-généré
LOGGINGNOAPPENDNOARCHIVELOGRedo généré
NOLOGGINGNOAPPENDNOARCHIVELOGRedo généré

Les cas de chargement en Direct Path sont les suivants :

  • INSERT /*+APPEND */
  • SQL*Loader en Direct Path Load
  • impdp en Direct Path

Parlons de vos bases de données

Performance, sécurité, haute disponibilité, licences : un expert vous répond.

Nous contacter