Ripristino Record Oracle - Curiosità

di il
1 risposte

Ripristino Record Oracle - Curiosità

Salve,

leggendo alcuni libri su Oracle ho letto che è possibile ripristinare le tabelle a uno stato precedente anche se sono state modificate ed è passato un lasso di tempo significativo, ovviamente è un'operazione che può fare solo il DBA.

Ho una curiosità, su questo argomento, che però non sono riuscito a trovare nè sul libro che sto leggendo nè su internet.

La pongo qui, nella speranza che qualcuno mi risponda:

Qual'è il lasso di tempo massimo in cui si può "andare in dietro nel tempo"?

1 Risposte

  • Re: Ripristino Record Oracle - Curiosità

    Ciao,
    la funzione di cui parli è la FLASHBACK QUERY. Per poterla utilizzare, è obbligatorio che la tua istanza di database sia configurata in ARCHIVELOG.
    Per quanto riguarda la retention, ti posto dei link qui sotto in modo che tu possa caprire meglio come fare.

    https://docs.oracle.com/cd/B28359_01/appdev.111/b28424/adfns_flashback.htm#BJFDJCJD
    https://docs.oracle.com/cd/B12037_01/appdev.101/b10795/adfns_fl.htm#1015415

    Puoi riportare indietro un singolo record o una tabella intera. Ti inserisco qualche esempio:
    
    SELECT * FROM table AS OF TIMESTAMP 
       TO_TIMESTAMP(date, 'YYYY-MM-DD HH:MI:SS')
    ; // visualizzi il singolo record che vuuoi portare indietro
    
    SELECT * FROM nome_tabella AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '60' MINUTE) // ad intervallo di minuti
    
    INSERT INTO table
        (SELECT * FROM tableAS OF TIMESTAMP 
         TO_TIMESTAMP('2005-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS')
         WHERE ); // così reinserisci il record nella tabella
    
    

    Ciao
Devi accedere o registrarti per scrivere nel forum
1 risposte