Bonjour,

Je veux passer un tablespace en read only (pour faire un TTS)
mais le passage en read only ne se fait pas(ça mouline, mais il ne se passe rien)
En activant la trace, je n'ai que des lignes :
WAIT #3: nam='enq: TX - contention' ela= 2939497 name|mode=1415053316 usn<<16 | slot=1703955 sequence=4 obj#=-1 tim=20696336943683
Alors certes, j'ai bien une transaction qui est en cours dans ma base, mais je ne vois pas pourquoi elle me bloquerait (la session à l'origine de la transaction est sur un autre compte applicatif distinct et qui n'a rien à voir avec le tablespace que je veux passer en lecture).....
il ne faut quand même pas qu'il n'y ait aucune transaction pour le passer en lecture seule ????

Pourtant, d'après la note 34566.1, le "finding blockers"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
      SELECT DECODE(request,0,'Holder: ','Waiter: ')||sid sess, 
             id1, id2, lmode, request, type
        FROM V$LOCK
       WHERE (id1, id2, type) IN
                 (SELECT id1, id2, type FROM V$LOCK WHERE request>0)
       ORDER BY id1, request
      ;
me retourne bien la seule session qui a une transaction mais qui n'a rien à voir...

En plus, avec OBJ#=-1, je suis avancé...
USN=16 correspond bien à un RBS de l'UNDO mais ça m'avance pas des masses...

C'est quoi le truc ???

Version 10.2.0.3 EE, Undo management auto, no garantee.

Leo.