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