ORA-01652: unable to extend temp segment by 1024 in tablespace INDX_01

20 mar

Cher(è)s ami(e)s en oracle

 

Lors de la création d'un index volumineux, vous recevez une erreur Oracle indiquant que
 la base de données ne peut pas étendre une valeur TEMP segment. 
Cependant, vous disposez de beaucoup d'espace libre dans
le TSe temporaire.
Lorsque vous obtenez une erreur comme celle-ci, 
votre premier penchant  est peut être de penser qu'il n'y a plus  
d'espace libre dans le TS  temporaire.

Analyse :
Vous ne pouvez pas résoudre ce problème en ajoutant de l'espace au tablespace temporaire.
Le message d'erreur indique clairement que le TS qui manque d'espace. 
Dans ce cas, le tablespace incriminé est INDX_01 et non le tablespace TEMP.
Évidemment, un processus de création d'index a échoué car il n'y avait pas assez d'espace 
dans Le TS INDX_01. 
Vous pouvez réparer le problème en ajoutant un fichier de données 
au TS   INDX_01, comme indiqué ici:

alter tablespace INDX_01 add datafile '/u01/app/oracle/data/indx_01_02.dbf'  size xxxm;

Explication :
Lorsque vous recevez l'erreur ORA-01652, votre tendance normale est 
de vérifier le TS temporaire  Vous vérifiez la table DBA_TEMP_FREE_SPACE ,
 et il y a beaucoup d'espace libre dans le TS par défaut, TEMP.
 Eh bien, si vous regardez attentivement le message d'erreur, il vous indique 
que la base de données est  incapable d'étendre le segment temporaire 
dans l'INDX_01 tablespace. 
Lorsque vous créez un index, comme dans ce cas, vous fournissez le nom 
du tablespace permanent dans lequel
la base de données doit créer le nouvel index. 
Oracle commence la création du nouvel index en mettant la nouvelle structure d'index
dans un segment temporaire dans l'espace de table que vous spécifiez
 (INDX_01 dans notre exemple) pour l'index. 
La raison en est que si votre processus de création d'index échoue, Oracle
 (pour être plus précis, le processus SMON)
 va supprimer le segment temporaire à partir du tablespace spécifié pour la création
 du nouvel index. 
Une fois l'index créé avec succès , Oracle convertit le segment temporaire en
 un segment permanent dans l'espace table INDX_01. 
 Une fois que vous augmentez la taille du TS INDX_01, l'erreur disparaîtra.

OraclementVotre

Pas encore de commentaire

Laisser une réponse

Unblog.fr | Créer un blog | Annuaire | Signaler un abus