Bien que l’option AUTOEXTEND permette d’ajouter des données au sein d’un tablespace, celui-ci peut etre bloqué à une certaine taille maximale, soit la limite par fichier de données (32Go), soit par une limite fixée manuellement.
Exemple d’erreur sur un import datapump : « ORA-39171 : Le travail se heure à une attente avec possibilité de reprise. Resumable error: ORA-01653 : impossible d’étendre la table BASE.P_OBJCHAR de 8 dans le tablespace USERS »
Il est inutile d’arrêter le serveur Oracle pour ajouter un fichier de données sur un tablespace.
Ce tutoriel fait suite au guide pour créer un tablespace dans Oracle 12c.
Agrandir un tablespace Oracle 12c
1. Ouvrir une console SQL Plus et se connecter (connect).
2. Ecrire la commande suivante pour ajouter un fichier de données au tablespace USERS :
ALTER TABLESPACE USERS ADD DATAFILE ‘D:\oracle\oradata\orcl\USERS02.DBF’ SIZE 5000M ;
Ici, on ajoute donc un fichier de 5000Mo au tablespace USERS car le premier fichier est plein (environ 32Go).
On peut aussi lui attribuer une taille minimale pour qu’ensuite il s’étende automatiquement (autoextend) :
ALTER TABLESPACE USERS ADD DATAFILE 'D:\oracle\oradata\orcl\USERS02.DBF' SIZE 100M REUSE AUTOEXTEND ON;
3. L’opération dure quelques minutes, selon les performances du serveur et la taille demandée, aucun indicateur ne montre la progression mais un message précise la fin de la modification du tablespace.
Agrandir un tablespace BIGFILE
Dans le cas d’un BIGFILE, l’opération est plus simple à réaliser. Exemple ici avec le tablespace « bigtbs » que l’on passe à 80Go :
ALTER TABLESPACE bigtbs RESIZE 80G ;
Remarque : cela ne fonctionnera pas avec un tablespace classique (appelé SMALLFILE).
merci lol je reviens ici à chaque fois pour la meme chose, abusé comme la bdd grossit chez nous :s
thx 😉
lol j’en ai encore eu besoin et je suis retombé sur ce tuto 😀 merci le supprimez pas 😀
Merci très utile et apprécié