Flashback-Datenbank / Tabelle zu einer bestimmten Zeit oder SCN

Zunächst müssen Sie die Flashback-Funktionen im Mount-Modus aktivieren. Sie können die URL überprüfen https://www.roamway.com/2792.html für Details.

Beispiel: Flashback-Datenbank zur angegebenen Zeit

SQL> Sofortiges Herunterfahren;
Datenbank geschlossen.
Datenbank abgemeldet.
ORACLE-Instanz heruntergefahren.

SQL> Startmontage;
ORACLE-Instanz gestartet.
Gesamtsystem Globaler Bereich 1.0155E + 10 Bytes
Feste Größe 2262008 Bytes
Variable Größe 7818185736 Bytes
Datenbankpuffer 2315255808 Bytes
Puffer wiederholen 19296256 Bytes
Datenbank gemountet.

SQL> Flashback-Datenbank zum Zeitstempel zum Zeitstempel(„2019-11-14 18:14:00′,’JJJJ-mm-tt hh24:mich:ss ’);
Rückblende abgeschlossen.

SQL> Datenbank öffnen öffnen;
Datenbank geändert.

Verwandte Flashback-Protokolle

Flashback-Datenbank zum Zeitstempel zum Zeitstempel(„2019-11-14 18:15:00′,’JJJJ-mm-tt hh24:mich:ss ’)
Flashback Restore Start
Fr Dez. 06 14:03:39 2019
Flashback-Wiederherstellung abgeschlossen
Flashback Media Recovery Start
Logmerger-Prozess gestartet
Die parallele Medienwiederherstellung begann mit 40 Sklaven
Wiederherstellungsprotokoll für Flashback-Medien /home/oracle/archivelog/thread_2_seq_3212.9393.1024328389
Wiederherstellungsprotokoll für Flashback-Medien /home/oracle/archivelog/thread_1_seq_3166.9382.1024318427
Wiederherstellungsprotokoll für Flashback-Medien /home/oracle/archivelog/thread_1_seq_3167.10153.1024328285
Fr Dez. 06 14:04:37 2019
Wiederherstellungsprotokoll für Flashback-Medien /home/oracle/archivelog/thread_1_seq_3168.9405.1024344047
Fr Dez. 06 14:05:53 2019
Wiederherstellungsprotokoll für Flashback-Medien /home/oracle/archivelog/thread_2_seq_3213.9377.1024339487
Fr Dez. 06 14:07:43 2019
Unvollständige Wiederherstellung bis zur Änderung angewendet 5984486155041 Zeit 11/14/2019 18:15:01
Fr Dez. 06 14:07:44 2019
Flashback Media Recovery abgeschlossen
Abgeschlossen: Flashback-Datenbank zum Zeitstempel zum Zeitstempel(„2019-11-14 18:15:00′,’JJJJ-mm-tt hh24:mich:ss ’)

Beispiel: Flashback-Datenbank zum angegebenen SCN

Wir können die Datenbank auch auf einen bestimmten SCN zurücksetzen. Aber SCN muss von einem Spedifice-Band konvertiert werden.
Zum Beispiel konvertieren “2019-12-06 10:20:00” zu SCN.

SQL> Linie setzen 500;
SQL> Wählen Sie timestamp_to_scn(to_timestamp(„2019-12-06 10:20:00′,JJJJ-MM-TT HH24:MICH:SS “)) von dual;
TIMESTAMP_TO_SCN(TO_TIMESTAMP(„2019-12-0610:20:00′,JJJJ-MM-TTHH24:MICH:SS “))
5.9865E + 12
SQL> numwidth einstellen 20;
SQL> Wählen Sie timestamp_to_scn(to_timestamp(„2019-12-06 10:20:00′,JJJJ-MM-TT HH24:MICH:SS “)) von dual;
TIMESTAMP_TO_SCN(TO_TIMESTAMP(„2019-12-0610:20:00′,JJJJ-MM-TTHH24:MICH:SS “))
5986520769578

Damit, Wir führen den folgenden Befehl zur Flashback-Datenbank aus.

SQL> Flashback-Datenbank zu scn 5986520769578;
Flashback-Datenbank zu scn 5986520769578
FEHLER in der Zeile 1:
ORA-38754: FLASHBACK-DATENBANK nicht gestartet; Das erforderliche Redo-Log ist nicht verfügbar
ORA-38762: Redo-Protokolle für SCN erforderlich 4394725 zu SCN 5986520769578
ORA-38761: Protokollsequenz wiederholen 114 im Faden 1, Menschwerdung 2 konnte nicht zugegriffen werden

Sie können die Datenbank per RMAN zurückblenden, wenn der oben genannte Fehler aufgetreten ist.

RMAN> Flashback-Datenbank zu scn 5986520769578;
Rückblende starten um 2019:12:06 11:27:11
Verwenden der Zieldatenbank-Steuerdatei anstelle des Wiederherstellungskatalogs
zugewiesener Kanal: ORA_DISK_1
Kanal ORA_DISK_1: SID = 5860 Gerätetyp = DISK

Beispiel: Flashback einer Tabelle auf die angegebene Zeit

Startfunktion von “Reihenbewegung”
SQL>ALTER TABLE YOUR_TABLENAME AKTIVIEREN DER REIHENBEWEGUNG;

Flashback-Tabelle zu einer bestimmten Zeit
SQL> FLASHBACK TABLE YOUR_TABLENAME TO TIMESTAMP
TO_TIMESTAMP(„2018-04-23 16:06:00′,’JJJJ-mm-tt hh24:mich:ss ’);

Sie müssen jedoch sicherstellen, dass die Datenbank gelesen und geschrieben werden kann
Andernfalls wird der folgende Fehler angezeigt.

FEHLER in der Zeile 1:
JETZT-00604: Auf rekursiver SQL-Ebene ist ein Fehler aufgetreten 1
ORA-16000: Datenbank für schreibgeschützten Zugriff geöffnet

Stoppfunktion von “Reihenbewegung”
SQL>ALTER TABLE YOUR_TABLENAME DISOWLE ROW MOVEMENT;

Anhang

Überprüfen Sie den frühesten SCN, den die Datenbank zurückblenden kann

SQL> wählen * von v $ flashback_database_log;
OLDEST_FLASHBACK_SCN OLDEST_FLASHBACK_TIME RETENTION_TARGET FLASHBACK_SIZE ESTIMATED_FLASHBACK_SIZE
5984398987742 09-19. November 57600 188668223488 0

Überprüfen Sie die Details der Flashback-Protokolldatei

SQL> wählen * von v $ flashback_database_stat;
BEGIN_TIM END_TIME FLASHBACK_DATA DB_DATA REDO_DATA ESTIMATED_FLASHBACK_SIZE
07-DEC-19 08-DEC-19 8192 9342976000 0 0

Überprüfen Sie die Details der Flashback-Protokolle

SQL> wählen * von v $ flashback_database_logfile;
………………
NAME LOG # THREAD # SEQUENCE # BYTES FIRST_CHANGE # FIRST_TIM TYPE
/Pfad ../ Rückblende / o1_mf_7t11_.flb 28 1 28 16777216000 0 10-19. November NORMAL
/Pfad ../ Rückblende / o1_mf_t2o3_.flb 29 1 29 33554432000 0 11-19. November NORMAL
/Pfad ../ Flashback / o1_mf_v7ml_.flb 30 1 30 42949672960 0 12-19. November NORMAL
………………

Hinterlasse eine Antwort