web-dev-qa-db-fra.com

Oracle - ORA-01654: impossible d'étendre l'index dans l'espace de table

J'ai fait référence à la question connexe ci-dessous, mais cela n'a pas été utile dans mon cas:

ORA-01654: impossible d'étendre l'index <nom de l'index> de 128 dans le tablespace <nom du tablespace Index>

J'ai 2 index dans le même espace de table dont j'ai besoin pour augmenter la taille.

J'ai 13 fichiers dbf associés à cet espace de table.

Comment puis-je m'assurer d'augmenter la taille du fichier dbf correct pour corriger l'erreur ci-dessus?

4
user3325655

Ce code d'erreur, [ORA-01654], signifie que le serveur n'a pas réussi à allouer une étendue du nombre requis de blocs pour un segment d'index dans le tablespace spécifié. Comme vous l'avez dit, vous avez 13 fichiers de données dans votre espace disque logique, vous utilisez un espace disque logique de petit fichier. Afin de se débarrasser de cette erreur, vous pouvez simplement ajouter un fichier de données en utilisant ALTER TABLESPACE ADD DATAFILE commande à l'espace disque logique spécifié.

Tout d'abord, vous devez identifier dans quel (s) fichier (s) de données votre index est stocké. Votre index peut s'être développé en plusieurs fichiers de données. Pour identifier les fichiers de données, vous pouvez utiliser l'instruction SQL suivante.

select a.owner, a.index_name, b.file_name 
from dba_indexes a, dba_data_files b 
where a.tablespace_name=b.tablespace_name and a.index_name='Your index name'
5
JSapkota