Indholdsfortegnelse:
Video: Grundlæggende om databaser 2025
Du kan argumentere for, at flytning af databasen fremad og tilbage med Oracle 12c Recovery Manager med gode sikkerhedskopier er mulig. Men at genoprette en stor database til et tidligere punkt er tidskrævende og kedelig. Også, hvis du ikke går langt tilbage, skal du starte fra begyndelsen.
Du kan muligvis blinke databasen af følgende grunde:
-
Gentagne testscenarier: Sig du har et program, som du tester i dit udviklingsmiljø. Hver gang du kører programmet ændrer det dine data. Du vil nulstille dataene til de oprindelige værdier inden næste test. Flashback er et glimrende værktøj til dette.
-
Logisk datakorruption: Måske har nogen ved et uheld kørt det forkerte program i dit produktionsmiljø; du skal vende tilbage til et punkt, før fejlen opstod. Det kan du gøre med dataåbning, men Flashback er hurtigere og lettere.
-
Implementeringsprocedurer: Måske frigiver du en ny version af din kode, der opdaterer alle slags objekter i dit produktionsskema med både DDL og DML. Du kan nemt rulle det tilbage, hvis applikationen ikke fungerer korrekt i målpræstationsparametre.
Flashback Database fungerer ved at optage ekstra information, der giver dig mulighed for at rulere transaktioner uden at foretage en fuldstændig databasegendannelse. Ikke kun det, men det virker meget hurtigt. Flashback-databasen har disse hurtige funktioner, blandt andet:
-
Du kan åbne databasen i skrivebeskyttet tilstand for at se, om du gik tilbage tilstrækkeligt langt.
-
Ikke langt nok? Rul hurtigt tilbage længere.
-
For langt? Vend tilbage igen.
Du kan udføre alle disse opgaver med enkle kommandoer i SQL * Plus eller Oracle Enterprise Manager. For at gøre dem med RMAN, taler du flere fulde genoprettelser og masser af tid imellem.
Sådan konfigureres og aktiveres Flashback-databasen
Flashback Database fungerer anderledes end Flashback-funktionerne. Med Flashback Database gemmer Oracle en fil kaldet en flashback log. Flashback logs har dataene til at rulle blokke tilbage til et tidligere tidspunkt. Flashback logs gemmes i flash_recovery_area.
To variabler kommer til spil her:
-
Hvor langt tilbage vil du gå?
-
Hvor meget data ændres i din database inden for denne tidsperiode?
Jo længere tilbage du går, og jo flere ændringer du har, jo mere flashback logs du genererer. Sørg for at du har nok plads til at gemme disse logfiler, eller du blinker ikke overalt.
Hvis du overvejer at implementere Flashback Database, skal du muligvis forstørre parameteren db_recovery_file_dest_size.Hvor meget du forstørrer det afhænger af de to variabler: Hvor langt tilbage og hvor mange data? Hvis du vil have et godt udgangspunkt, skal du bruge denne formel:
Ny Flash Recovery Area Size = Nuværende Flash Recovery Area Størrelse + Total Database Size × 0. 3
I det væsentlige forsøger du at reservere cirka 30 procent af din samlede database størrelse i Flash Recovery Area for flashback logs.
Fra da af kan du overvåge, hvor meget plads flashback-loggen bruger.
Når du har konfigureret Flash Recovery Area, skal du tænde Flashback-funktionen i databasen ved at følge disse trin:
-
Overvej hvor langt tilbage du vil kunne blinke tilbage.
Standardværdien er 24 timer (eller 1, 440 minutter). Sig, du vil kunne blinke tilbage i op til 48 timer.
-
Konfigurer hvor langt tilbage du vil gå med parameteren db_flashback_retention_target; for at gøre det, skal du logge ind på SQL som SYSDBA og skrive
I dette eksempel er tiden indstillet til 2, 880 minutter (48 timer).
Du bør se følgende for et hvilket som helst tidsrum du vælger.
System ændret.
-
Luk din database og genstart den i mount-tilstand.
-
Sæt databasen i flashback-tilstand ved at skrive dette:
Du bør se dette:
Database ændret.
-
Åbn databasen ved at skrive dette:
Du bør se dette:
Database ændret.
Nu hvor databasen er i flashback-tilstand, kan du blinke tilbage til enhver tid inden i Flashback-vinduet.
Sådan ruller du din Oracle 12c-database tilbage
Når databasen skal blinke tilbage, skal du ikke bekymre dig. Processen er forholdsvis let.
Blinker tilbage En database fjerner enhver ændring, der er indtruffet efter det tidspunkt, der er valgt for at vende tilbage. Tag ikke denne overvejelse let.
For at se, hvor langt tilbage du kan gå, skriv dette:
Du skal se noget som dette:
OLDEST_FLASHBACK_TIM -------------------- 14 -AUG-2013 06: 34: 03
db_flashback_retention_target skal være omkring grænsen for den pågældende tidsramme. Det kan måske være længere, hvis rummet ikke er et problem, og databasen har endnu ikke ryddet gamle flashback logs.
Sig en bruger ved et uheld at droppe HR-skemaet fra din database omkring en time siden.
-
Luk din database.
-
Genstart det i monteret tilstand.
-
Indtast følgende, hvor 1 er det antal timer, du vil blinke tilbage:
Du bør se dette:
Flashback complete.
-
Kontroller flashbacken, før du gør den permanent:
Du bør se dette:
Database ændret.
-
Hvis du er tilfreds med resultatet, skal du gå til trin 6. Hvis du ikke er tilfreds med tiden, skal du springe til trin 9.
-
Luk databasen.
-
Start databasen i monteret tilstand.
-
Åbn databasen med Resetlogs:
Du bør se dette:
Database ændret.
-
Genstart databasen i monteret tilstand.
-
Indtast følgende:
Du bør se dette:
Media recovery complete.
-
Start din database i mount-tilstand.
Hvis du vil blinke tilbage til en tidsstempel, skal du gå til trin 12. Hvis du vil blinke tilbage til et tidligere oprettet gendannelsespunkt, skal du gå til trin 13.
For mere om gendannelsespunkter, se den nærliggende "Brug af gendannelsespunkter "sidebjælke.
-
Skriv følgende:
Du bør se dette:
Flashback complete.
-
Indtast følgende, hvis du vil blinke tilbage til et gendannelsespunkt:
Du bør se dette:
Flashback complete.