|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 102 ![]() |
Bonjour,
En oracle 9.2.0.5 sur AIX 5.3, nous avons une instance dont l'undo rétention est de 900 s., et systématiquement au moindre traitement il arrive à 99% de remplissage , on a beau agrandir l'espace disque, il réutilise la totalité. Avez vous une explication qui me permettrait de comprendre pourquoi il ne "shrink" pas. Merci |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
est-ce qu'il est en autoextend ? Quel est la taille du INITIAL ? Comment vérifies tu le remplissage ? Est-ce que tu as des erreurs de UNDO trop petit ? Quelle est sa taille ?
|
|
|
00
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 102 ![]() |
Oui il est en autoextend, l'initial fait 65536k, le control d'espace se fait par une requete recoupant dba_free_space et dba_datafiles comme suit
Code :
Pour info l'instance n'est jamais arrétée |
||
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Peut-être qu'il faudrait quand même spécifier une taille maximale pour le tablespace. Il y avait un bug à ce sujet en 9.2.0.4 mais corrigé en 9.2.0.5 (Bug 2660394 Auto extensible undo tablespace may grow before reusing expired extents).
Est-ce que vous avez des transactions dont la durée dépasse votre valeur de undo_retention soit 15 minutes ? Que donne la requête suivante qui calcule le nombre de blocs d'undo utilisé par toutes les transactions en cours d'exécution: Code :
|
||
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 102 ![]() |
Désolé, j'avais confondu le niveau de release avec ma base de recette, celle où j'ai le problème est bien en 9.2.0.4, ce qui correspond au bug référencé par Oracle.
Sinon la requette sur v$transaction = 10, je n'ai pas de transaction plus longue que le temps d'undo. De savoir qu'il s'agit d'un problème connu, car je n'arrivais pas à comprendre pourquoi. En attendant de migrer vers 9.2.0.5, existe t-il un moyen de forcer la libération des extents ? Merci |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Modifier le(s) datafile(s) de l'undo tablespace pour les mettre en AUTOEXTEND OFF devrait forcer Oracle à libérer les extents: http://download-uk.oracle.com/docs/c...files.htm#7426
|
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 102 ![]() |
Le tablespace UNDO est en autoextent depuis logtemps mais cela n'a rien changé.
Je cherche une commande qui force la libération des extents |
|
|
00
|
|
|
#8 | ||
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Il faut mettre les datafiles en AUTOEXTEND OFF et non ON pour forcer Oracle à libérer les extents: dans la requête suivante, il faut que la colonne AUTOEXTENSIBLE soit à NO pour les datafiles de l'undo tablespace:
Code :
|
||
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : janvier 2007 Messages : 102 ![]() |
Merci de votre aide.
Je vais le repasser en autoextend OFF. je pensais bien faire en le plaçant à ON, car je craignais le plantage. Si je suis sur qu'il libère ses vieux extents plutôt que d'aller jusqu'au plantage par manque de place, je suis rassuré.... |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com