Registra modifiche alla tabella con Flashback Time Travel

Utilizzare Flashback Time Travel per visualizzare gli stati passati degli oggetti di database o per riportare gli oggetti di database a uno stato precedente senza utilizzare il recupero dei supporti point-in-time.

Informazioni su Flashback Time Travel

Flashback Time Travel ti consente di monitorare e memorizzare le modifiche transazionali a una tabella nel corso della sua vita utile. Flashback Time Travel è utile per la conformità ai criteri delle fasi dei record e ai report di audit. Puoi anche utilizzare Flashback Time Travel in vari scenari, come l'applicazione della triturazione digitale, l'accesso ai dati storici e il recupero selettivo dei dati.

Flashback Time Travel è stato chiamato Flashback Data Archive nelle versioni precedenti di Oracle Database. Le API Flashback Time Travel e alcuni termini Flashback Time Travel, ad esempio il privilegio FLASHBACK ARCHIVE, mantengono la denominazione di Flashback Data Archive.

Ogni istanza di Autonomous Database dispone di un archivio Flashback denominato flashback_archive che supporta le operazioni Flashback Time Travel. Il tempo di conservazione predefinito per flashback_archive è 60 giorni. Per informazioni sulla modifica del tempo di conservazione predefinito, vedere Modifica del tempo di conservazione per i viaggi nel tempo di flashback.

Esistono limitazioni per abilitare Flashback Time Travel per una tabella, incluse le seguenti:

  • È necessario disporre del privilegio di oggetto FLASHBACK ARCHIVE per flashback_archive. Per impostazione predefinita, l'utente ADMIN dispone di questo privilegio.
  • La tabella non deve essere una delle seguenti:
    • Una tabella nidificata
    • Una tabella temporanea
    • Una tabella remota
    • Una tabella esterna
  • La tabella non può contenere colonne LONG.
  • La tabella non può contenere colonne nidificate.

Vedere Note per viaggi nel tempo flashback per un elenco di restrizioni aggiuntive relative ai viaggi nel tempo flashback.

Per ulteriori informazioni sulla tecnologia Flashback, vedere Uso della tecnologia Oracle Flashback.

Abilita viaggio nel tempo flashback per una tabella

Descrive i passi per abilitare Flashback Time Travel per una tabella in Autonomous Database.

Per impostazione predefinita, Flashback Time Travel è disabilitato per le tabelle nuove ed esistenti.

Di seguito è riportato il prerequisito per abilitare Flashback Time Travel:
  • È necessario aver eseguito il login come utente ADMIN o disporre del privilegio oggetto FLASHBACK ARCHIVE.

    L'utente ADMIN o l'utente che dispone del privilegio FLASHBACK ARCHIVE WITH GRANT OPTION può concedere il privilegio di oggetto FLASHBACK ARCHIVE a un altro utente.

    Ad esempio:

    GRANT FLASHBACK ARCHIVE ON FLASHBACK_ARCHIVE TO <username>
    GRANT FLASHBACK ARCHIVE ON FLASHBACK_ARCHIVE TO <username> WITH GRANT OPTION

    Vedere Gestire i ruoli e i privilegi utente in Autonomous Database per ulteriori informazioni.

È possibile abilitare Flashback Time Travel per una tabella esistente o una nuova tabella che si sta creando.

  1. Per abilitare Flashback Time Travel quando si crea una tabella, effettuare le operazioni riportate di seguito.
    CREATE TABLE employee (EMPNO NUMBER(4) NOT NULL, ENAME VARCHAR2(10), JOB VARCHAR2(9), MGR NUMBER(4)) FLASHBACK ARCHIVE;
  2. Per abilitare Flashback Time Travel per una tabella esistente, effettuare le operazioni riportate di seguito.
    ALTER TABLE departments FLASHBACK ARCHIVE;

Dopo aver abilitato Flashback Time Travel per una tabella, è possibile disabilitare Flashback Time Travel. Per ulteriori informazioni, vedere Disabilita viaggio temporale flashback per una tabella.

Disabilita viaggio temporale flashback per una tabella

Descrive la procedura per disabilitare Flashback Time Travel per una tabella in Autonomous Database.

Dopo che Flashback Time Travel è abilitato per una tabella, è possibile disabilitarlo come utente ADMIN o se si dispone del privilegio oggetto FLASHBACK ARCHIVE.

Ad esempio, per disabilitare Flashback Time Travel per la tabella employee:
ALTER TABLE employee NO FLASHBACK ARCHIVE;

Modifica il tempo di conservazione per il viaggio temporale flashback

Descrive la procedura per modificare il tempo di conservazione per Flashback Time Travel in Autonomous Database.

È possibile modificare il tempo di conservazione per Flashback Time Travel se si è connessi come utente ADMIN o se si dispone del privilegio EXECUTE su DBMS_CLOUD_ADMIN.

Ad esempio, per impostare il tempo di conservazione su 365 giorni:
BEGIN
  DBMS_CLOUD_ADMIN.SET_FLASHBACK_ARCHIVE_RETENTION
   (retention_days => 365);
END;
/

Per informazioni dettagliate sulla procedura, vedere SET_FLASHBACK_ARCHIVE_RETENTION Procedura.

Rimuovi dati cronologici per viaggio temporale flashback

Descrive la procedura per rimuovere i dati cronologici per Flashback Time Travel in Autonomous Database.

È possibile rimuovere i dati cronologici per Flashback Time Travel se si è connessi come utente ADMIN o se si dispone del privilegio EXECUTE su DBMS_CLOUD_ADMIN.

Ad esempio, per rimuovere tutti i dati cronologici di Flashback Time Travel:
BEGIN
  DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
   (scope => 'ALL');
END;
/
Esempio per rimuovere i dati cronologici di Flashback Time Travel prima di un indicatore orario specificato:
BEGIN
  DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
   (scope => 'TIMESTAMP', before_timestamp => '12-JUL-2023 10:24:00');
END;
/
Esempio di rimozione dei dati cronologici Flashback Time Travel più vecchi di 1 giorno:
BEGIN
  DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
   (scope => 'TIMESTAMP', before_timestamp => SYSTIMESTAMP - INTERVAL '1' DAY);
END;
/
Esempio di rimozione dei dati cronologici di Flashback Time Travel prima dell'SCN specificato:
BEGIN
  DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE
   (scope => 'SCN',before_scn=> '5928826');
END;
/

Per informazioni dettagliate sulla procedura, vedere PURGE_FLASHBACK_ARCHIVE Procedura.

Visualizza informazioni viaggio temporale flashback

Descrive le viste del dizionario dati per visualizzare informazioni sui file Flashback Time Travel in Autonomous Database.

È possibile visualizzare informazioni sui file Flashback Time Travel nelle viste statiche del dizionario dati.

Vista descrizione;
*_FLASHBACK_ARCHIVE Visualizza informazioni sui file Flashback Time Travel.
*_FLASHBACK_ARCHIVE_TS Visualizza le tablespace dei file Flashback Time Travel.
*_FLASHBACK_ARCHIVE_TABLES Visualizza informazioni sulle tabelle con Flashback Time Travel abilitato.

Note per Flashback Time Travel

Fornisce note e limitazioni per l'utilizzo di Flashback Time Travel su Autonomous Database.

Tenere presenti le limitazioni di Flashback Time Travel riportate di seguito.

  • Impossibile abilitare Flashback Time Travel sulle tabelle con tipo di dati LONG o colonne di tabelle nidificate.

  • Impossibile abilitare Flashback Time Travel su una tabella nidificata, temporanea, esterna, vista materializzata, tabella AQ (Advanced Query), tabelle con partizionamento ibrido o un oggetto diverso da una tabella.

  • Flashback Time Travel non supporta istruzioni DDL che spostano, dividono, uniscono o uniscono partizioni o partizioni secondarie, spostano tabelle o convertono colonne LONG in colonne LOB.

  • L'aggiunta o l'abilitazione di un vincolo, incluso il vincolo di chiave esterna, in una tabella abilitata per Flashback Time Travel non riesce con ORA-55610.

    È supportata l'eliminazione o la disabilitazione di un vincolo (incluso il vincolo di chiave esterna) in una tabella abilitata per Flashback Time Travel.

  • Dopo aver abilitato Flashback Time Travel su una tabella, Oracle consiglia di attendere inizialmente almeno 20 secondi prima di inserire i dati nella tabella e di attendere fino a 5 minuti prima di utilizzare Flashback Query sulla tabella.
  • Esiste un archivio dati di flashback per ogni istanza di Autonomous Database, denominato flashback_archive, e non è possibile creare archivi dati di flashback aggiuntivi.

  • Non è possibile eliminare l'archivio dati di flashback, flashback_archive, all'interno di un'istanza di Autonomous Database.

  • Non è possibile creare, modificare o eliminare tablespace per Flashback Data Archive. Pertanto, non è possibile eseguire le seguenti istruzioni:

    • ALTER FLASHBACK ARCHIVE flashback_archive ADD TABLESPACE;
    • ALTER FLASHBACK ARCHIVE flashback_archive MODIFY TABLESPACE;
    • ALTER FLASHBACK ARCHIVE flashback_archive REMOVE TABLESPACE;
  • Se si abilita Flashback Time Travel in una tabella, ma Automatic Undo Management (AUM) è disabilitato, l'errore ORA-55614 si verifica quando si tenta di modificare la tabella.

  • Per abilitare Flashback Time Travel in una tabella, la tabella non può utilizzare come nomi di colonna le seguenti parole riservate Flashback Time Travel:
    • STARTSCN
    • ENDSCN
    • RID
    • XID
    • OP
    • OPERATION