Suivi des modifications de table avec Flashback Time Travel
Utilisez Flashback Time Travel pour afficher les états passés des objets de base de données ou pour rétablir l'état précédent des objets de base de données sans recourir à la restauration physique à un point dans le temps.
A propos de Flashback Time Travel
Flashback Time Travel vous permet de suivre et de stocker les modifications transactionnelles apportées à une table au cours de sa durée de vie. Flashback Time Travel est utile pour la conformité aux stratégies de phase d'enregistrement et aux rapports d'audit. Vous pouvez également utiliser Flashback Time Travel dans divers scénarios tels que l'application du déchiquetage numérique, l'accès aux données historiques et la récupération sélective des données.
Flashback Time Travel a été appelé Flashback Data Archive dans les versions précédentes d'Oracle AI Database. Les API Flashback Time Travel et certaines conditions Flashback Time Travel telles que le privilège FLASHBACK ARCHIVE conservent le nom Flashback Data Archive.
Chaque instance de base de données Autonomous AI dispose d'une Flashback Archive nommée flashback_archive qui prend en charge les opérations Flashback Time Travel. La durée de conservation par défaut pour flashback_archive est de 60 jours. Pour plus d'informations sur la modification de la durée de conservation par défaut, reportez-vous à Modify the Retention Time for Flashback Time Travel.
Il existe des restrictions pour activer Flashback Time Travel pour une table, notamment les suivantes :
-
Vous devez disposer du privilège objet
FLASHBACK ARCHIVEpourflashback_archive. Par défaut, l'utilisateurADMINdispose de ce privilège. -
La table ne doit pas être l'une des suivantes :
-
Une table imbriquée
-
Une table temporaire
-
Une table distante
-
Une table externe
-
-
La table ne peut pas contenir de colonnes
LONG. -
La table ne peut pas contenir de colonnes imbriquées.
Reportez-vous à la section Notes for Flashback Time Travel pour obtenir la liste des restrictions supplémentaires de Flashback Time Travel.
Pour plus d'informations sur la technologie Flashback, reportez-vous à Utilisation de la technologie Oracle Flashback.
Activer Flashback Time Travel pour une table
Décrit les étapes permettant d'activer Flashback Time Travel pour une table dans Autonomous AI Database.
Par défaut, Flashback Time Travel est désactivé pour les tables nouvelles et existantes.
Pour activer Flashback Time Travel, procédez comme suit :
-
Vous devez être connecté en tant qu'utilisateur
ADMINou disposer du privilège objetFLASHBACK ARCHIVE.L'utilisateur
ADMINou l'utilisateur disposant du privilègeFLASHBACK ARCHIVEWITH GRANT OPTIONpeut accorder le privilège objetFLASHBACK ARCHIVEà un autre utilisateur.Par exemple :
GRANT FLASHBACK ARCHIVE ON FLASHBACK_ARCHIVE TO <username>GRANT FLASHBACK ARCHIVE ON FLASHBACK_ARCHIVE TO <username> WITH GRANT OPTIONPour plus d'informations, reportez-vous à Gestion des rôles et des privilèges utilisateur sur une base de données Autonomous AI.
Vous pouvez activer Flashback Time Travel pour une table existante ou une nouvelle table que vous créez.
-
Pour activer Flashback Time Travel lors de la création d'une table :
CREATE TABLE employee (EMPNO NUMBER(4) NOT NULL, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4)) FLASHBACK ARCHIVE; -
Pour activer Flashback Time Travel pour une table existante :
ALTER TABLE departments FLASHBACK ARCHIVE;
Une fois que vous avez activé Flashback Time Travel pour une table, vous pouvez désactiver Flashback Time Travel. Pour plus d'informations, reportez-vous à Désactivation de Flashback Time Travel pour une table.
Désactivation de Flashback Time Travel pour une table
Décrit la procédure de désactivation de Flashback Time Travel pour une table dans Autonomous AI Database.
Une fois que Flashback Time Travel est activé pour une table, vous pouvez le désactiver en tant qu'utilisateur ADMIN ou si vous disposez du privilège objet FLASHBACK ARCHIVE.
Par exemple, pour désactiver Flashback Time Travel pour la table employee :
ALTER TABLE employee NO FLASHBACK ARCHIVE;Modification de la durée de conservation pour Flashback Time Travel
Décrit la procédure de modification de la durée de conservation pour Flashback Time Travel dans Autonomous AI Database.
Vous pouvez modifier la durée de conservation de Flashback Time Travel si vous êtes connecté en tant qu'utilisateur ADMIN ou si vous disposez du privilège EXECUTE sur DBMS_CLOUD_ADMIN.
Par exemple, pour définir la durée de conservation sur 365 jours :
BEGIN
DBMS_CLOUD_ADMIN.SET_FLASHBACK_ARCHIVE_RETENTION
(retention_days => 365);
END;
/Pour plus d'informations sur la procédure, reportez-vous à la section SET_FLASHBACK_ARCHIVE_RETENTION Procedure.
Purger les données historiques pour Flashback Time Travel
Décrit la procédure de purge des données historiques pour Flashback Time Travel dans Autonomous AI Database.
Vous pouvez purger les données historiques de Flashback Time Travel si vous êtes connecté en tant qu'utilisateur ADMIN ou si vous disposez du privilège EXECUTE sur DBMS_CLOUD_ADMIN.
Par exemple, pour purger toutes les données historiques de Flashback Time Travel :
BEGIN
DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
(scope => 'ALL');
END;
/Exemple de purge des données historiques Flashback Time Travel avant un horodatage donné :
BEGIN
DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
(scope => 'TIMESTAMP', before_timestamp => '12-JUL-2023 10:24:00');
END;
/Exemple de purge des données historiques Flashback Time Travel datant de plus d'1 jour :
BEGIN
DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
(scope => 'TIMESTAMP', before_timestamp => SYSTIMESTAMP - INTERVAL '1' DAY);
END;
/Exemple de purge des données historiques de Flashback Time Travel avant le scn indiqué :
BEGIN
DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
(scope => 'SCN',before_scn=> '5928826');
END;
/Pour plus d'informations sur la procédure, reportez-vous à Procédure PURGE_FLASHBACK_ARCHIVE.
Afficher les informations de voyage Flashback Time
Décrit les vues du dictionnaire de données pour afficher des informations sur les fichiers Flashback Time Travel dans Autonomous AI Database.
Vous pouvez afficher des informations sur les fichiers Flashback Time Travel dans des vues statiques du dictionnaire de données.
| Afficher | Description |
|---|---|
*_FLASHBACK_ARCHIVE |
Affiche des informations sur les fichiers Flashback Time Travel. |
*_FLASHBACK_ARCHIVE_TS |
Affiche les tablespaces des fichiers Flashback Time Travel. |
*_FLASHBACK_ARCHIVE_TABLES |
Affiche des informations sur les tables pour lesquelles Flashback Time Travel est activé. |
Notes pour Flashback Time Travel
Fournit des notes et des restrictions pour l'utilisation de Flashback Time Travel sur Autonomous AI Database.
Notez les restrictions de déplacement Flashback Time suivantes :
-
Vous ne pouvez pas activer Flashback Time Travel sur les tables avec le type de données
LONGou les colonnes de table imbriquée. -
Vous ne pouvez pas activer Flashback Time Travel sur une table imbriquée, une table temporaire, une table externe, une vue matérialisée, une table Advanced Query (AQ), des tables partitionnées hybrides ou un objet non-table.
-
Flashback Time Travel ne prend pas en charge les instructions LDD qui déplacent, fractionnent, fusionnent ou fusionnent des partitions ou des sous-partitions, déplacent des tables ou convertissent des colonnes
LONGen colonnesLOB. -
L'ajout ou l'activation d'une contrainte, y compris la contrainte de clé étrangère, sur une table activée pour Flashback Time Travel échoue avec ORA-55610.
La suppression ou la désactivation d'une contrainte (y compris la contrainte de clé étrangère) sur une table activée pour Flashback Time Travel est prise en charge.
-
Après avoir activé Flashback Time Travel sur une table, Oracle recommande d'attendre au départ au moins 20 secondes avant d'insérer des données dans la table et d'attendre jusqu'à 5 minutes avant d'utiliser Flashback Query sur la table.
-
Il existe une Flashback Data Archive par instance Autonomous AI Database, nommée
flashback_archive, et vous ne pouvez pas créer d'archives Flashback Data supplémentaires. -
Vous ne pouvez pas supprimer l'archive Flashback Data Archive,
flashback_archive, dans une instance de base de données Autonomous AI. -
Vous ne pouvez pas créer, modifier ou supprimer des tablespaces pour Flashback Time Travel. Vous ne pouvez donc pas exécuter les instructions suivantes :
ALTER FLASHBACK ARCHIVE flashback_archive ADD TABLESPACE;ALTER FLASHBACK ARCHIVE flashback_archive MODIFY TABLESPACE;ALTER FLASHBACK ARCHIVE flashback_archive REMOVE TABLESPACE; -
Si vous activez Flashback Time Travel sur une table, mais que l'option Automatic Undo Management (AUM) est désactivée, l'erreur ORA-55614 se produit lorsque vous tentez de modifier la table.
-
Pour activer Flashback Time Travel sur une table, celle-ci ne peut pas utiliser les mots réservés Flashback Time Travel suivants en tant que noms de colonne :
-
STARTSCN -
ENDSCN -
RID -
XID -
OP -
OPERATION
-