Si on se refère à cette section de la documentation d’Oracle 11.2, on ne peut pas activer ni désactiver le mode Flashback database en ligne :
Use this clause to put the database in or take the database out of
FLASHBACK
mode. You can specify this clause only if the database is inARCHIVELOG
mode and you have already prepared a fast recovery area for the database.You can specify this clause when the database is mounted but not open.
Seulement voilà… Déjà en 10.2, vous pouvez désactiver ce mode sans arrêter la base de données, ce que confirme la note « How To Disable Flashback Database Without A Bounce [ID 833584.1]« . Et bien, le savez-vous ?
A partir d’Oracle 11.2, vous pouvez également dans certaines conditions passer en flashback alors que votre base de données est ouverte. Pour une description précise des limites et risques que vous prenez, lisez « Flashback Database Best Practices & Performance [ID 565535.1]« .
Voici une démonstration à couper le souffle 😉 :
select open_mode, flashback_on
from v$database;
OPEN_MODE FLASHBACK_ON
-------------------- ------------
READ WRITE NO
alter database flashback on;
Database altered.
select open_mode, flashback_on
from v$database;
OPEN_MODE FLASHBACK_ON
-------------------- ------------
READ WRITE YES
alter database flashback off;
Database altered.
select open_mode, flashback_on
from v$database;
OPEN_MODE FLASHBACK_ON
-------------------- ------------
READ WRITE NO
Cette nouvelle fonctionnalité ne fait pas partie de la liste des « new features » ; probablement à cause des restrictions associées. Si ça peut permettre d’éviter un arrêt/redémarrage de plus, c’est déjà ca !