Salut,

J'ai eu un message d'alerte disant que le tbs UNDO était plein à 100% sur une base 9i.

Ce tablespace UNDO est associé à un seul fichier Unix.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SQL> select FILE_NAME from dba_data_files where TABLESPACE_NAME = 'UNDOTBS1';
FILE_NAME
--------------------------------------------------------------------------------
/u03/oradata/GTT/GTT_undotbs_01.dbf
Le tablespace UNDO n'est plus plein à l'instant où je me connecte : il y avait certainement un ordre SQL qui a consommé beaucoup d'espace UNDO et cet ordre a été validé ou annulé, ce qui a libéré de l'espace.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SQL> ! df
Filesystem    		512-blocks      Free 	%Used    Iused 	%Iused 	Mounted on
...
/dev/vlemc2.2  	116391936  	37324440   	68%       79     1% 	/u03/oradata
...
De ce que je comprends du résultat de ce SELECT, le tbs UNDO peut faire 2GO maximum, pas plus puisque quand il a été plein à 100%, la datafile a été rempli au maximum et sa taille est bien de 2GO.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SQL> select round(bytes/(1024*1024*1024),2) blocks, maxbytes, maxblocks from dba_data_files where TABLESPACE_NAME = 'UNDOTBS1';
BYTES/(1024*1024*1024)     BLOCKS   MAXBYTES  MAXBLOCKS
---------------------- ---------- ---------- ----------
              1,95     256000          0          0
Je passe le tbs de 2 à 3GO, soit 50% de plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SQL> alter database datafile '/u03/oradata/GTT/GTT_undotbs_01.dbf' resize 3000M;
Le tablespace fait bien maintenant 3 Go.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SQL> select round(bytes/(1024*1024*1024),2), blocks, maxbytes, maxblocks from dba_data_files where TABLESPACE_NAME = 'UNDOTBS1';
ROUND(BYTES/(1024*1024*1024),2)     BLOCKS   MAXBYTES  MAXBLOCKS
------------------------------- ---------- ---------- ----------
                           2,93     384000          0          0
Mon pb est le résultat de la commande df : je ne comprends pas les chiffres affichés : c'set quoi ces 55 blocks de 1GO?
Mon Unix est un AIX.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SQL> ! df -g /u03/oradata
Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on
/dev/vlemc2.2     55.50     16.82   70%       79     1% /u03/oradata