web-dev-qa-db-fra.com

ORA-01691 (impossible d'étendre le segment lob) même si mon espace de table a AUTOEXTEND sur

Je reçois une erreur:

ORA-01691: unable to extend lob segment ABC.SYS_LOB0000167347C00131$$ by 1024 in tablespace XYZ

Mais cela est très étrange pour moi car l'espace de table a AUTOEXTEND activé. Quelle est la raison probable que cela se produit et comment puis-je le surmonter?

Merci.

6
Balkrishna Rawool

Les fichiers de données autoextensibles ont toujours une taille limite.

select file_id, bytes, maxbytes from dba_data_files where tablespace_name = 'XYZ';

Maxbytes est la taille maximale du fichier de données, il ne peut pas dépasser cette valeur. Si bytes = maxbytes, vous avez deux options:

1) augmentez la taille maximale (maxbytes) comme (15 est le file_id de la requête ci-dessus), par exemple à 10G:

alter database datafile 15 autoextend on maxsize 20G;

Les fichiers de données ont une limite stricte pour la taille maximale, c'est 2^22 * block_size pour les espaces disque logiques de petit fichier et 2^32 * block_size pour les tablespaces bigfile.

Si vous utilisez un espace de table avec une taille de bloc de 8 Ko, la taille maximale de votre fichier de données est de 32 Go. Si votre fichier de données est déjà à cette taille, vous ne pouvez pas l'augmenter davantage, il y a l'option numéro deux:

2) ajoutez un nouveau fichier de données au tablespace, par exemple:

alter tablespace xyz add datafile '/path/to/datafiles/xyz02.dbf' size 100M autoextend on next 100M maxsize unlimited;
11
Balazs Papp