DAV B04 - Databasteknik Återhämtning (kap 19).

Slides:



Advertisements
Liknande presentationer
ADR: Automatic Delivery Rewards Vägledning. VAD ÄR ADR? •ADR är ett enkelt sätt att få hem produkterna du gillar och behålla din försäljningsvolym (PSV).
Advertisements

PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
Butiksdata.
IPad grundkurs.
Skapa ett video-CV på YouTube
Alternativa tillvägagångssätt Registrera ny intervju i BCFPI
Formulär Tänkte nu gå igenom vad ett formulär är och hur man kan skapa dem i Access.
Avlusning Debugger (”avlusare”) Breakpoints Watch.
Domarassistenten.com - en introduktion för domare
En genomgång av spelet: Dubbelkrig-Grön
En meny av möjligheter Mål/målområde Koncept Patienten får ett standardiserat hemgångsmeddelande Påverkansanalys Involvera patient och närstående Patienten.
FMN, MAJ BRA ATT VETA OM Budgivning vid försäljning av fastigheter, tomträtter och bostadsrätter som förmedlas av fastighetsmäklare Vid köp av fastighet,
Anders Sjögren Lagringsklasser •en variabel i C har två attribut –type( int, float, char..... ) –lagringsklass( auto, extern, register, static ) •lagringsklassens.
Display för GymAssistWear - Huvudmeny Välj Av/På Upp i Menyn Ned i Menyn Meny Tillbaka Antal repetitioner Göra Playlist Sparade Playlist Visa statistik.
Punktprevalensmätning Trycksår och Fall
modell för bättre kommunikation mellan vårdpersonal
Prolog, Mån 16/9 Rebecca Jonson.
Sökning och sortering Linda Mannila
Ladok Lärosäte Lokala system Behörighets- katalog Idp Personal Studenter CSN SCB NyA Etc. Lärosäte Lokala system Behörighets- katalog Idp Personal Studenter.
Persondatorer Datorns internminne (Kapitel 6)
Logikprogrammering Ons, 25/9
System för lagring och backup ALLMÄN INFORMATION OM NYA LDC-SYSTEM –
Datamodellering med E/R-diagram
PC-teknik Repetition enligt önskemål som inkommit via mail. (täcker alltså inte alla moment i kursen)
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev Värnamo Tel: Epost: Databasteknik 2 T-SQL Transactions.
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
Programmeringsteknik K och Media
Nya studera.nu Målgrupper och struktur. Målgrupper Potentiella studenter Studenter i systemet Forskarstudenter Andel av besökarna per målgrupp? Prioritering.
© 2005 MAH – Datavetenskap LdP Transaktioner Distribuerade system PV7110.
IT i Organisationer och databasteknik 2I
Distribuerade filsystem
Praktisk databasdesign (kap 12)
DAV B04 - Databasteknik Indexering (kap 14).
Datamodellering med E/R-diagram
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 7: Deadlocks.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
Flödeskontroll Satser i ett program utförs en och en efter varandra. Detta kallas sekvensiell flödeskontroll. Ofta är det dock nödvändigt att modifiera.
EN KOMPLETT INDUSTRIPARTNER ! ALLMÄNT OM MELSEC STYRSYSTEM.
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
Ambassadörsutbildning för dig som ska prata om IdrottOnline Version: beta
Pekare och speciell programstruktur i inbyggda system
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
Föreläsning 4 Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
Databashanteringssystem
Rollfördelning i funktionärsbåset Vem gör vad i Danicahallen.
SWEDISH AGENCY FOR ECONOMIC AND REGIONAL GROWTH 1 4 Bered, fatta och effektuera ärendebeslut 11/ Jana Wahlberg Nyps utbildning- Företagsstöd.
Medlemsregistrering SAFF har skapat en förenklad version på hur ni i föreningarna lägger upp era medlemmar. Har ni frågor ring Marika Holm på
Elisabeth Ingesson, Kalmar Läns Landstingsavdelning 097
Transaktionshantering (kap 17+18)
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
Namnrum, räckvidd och rekursion Linda Mannila
Bevarande utifrån nya Ladoks perspektiv
Java paket och jar-filer
Guide till Punktprevalensmätning Trycksår och Fall
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
Cacheminnen: skrivning ● Träff ● Skrivbuffert ● Miss.
Minnesarkitektur Problem: Snabbare och snabbare processorer men minnena hänger inte med. Lösning: Minneshierarkier.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 9: Implementering av underprogram Aktiveringsposter Exekveringsstacken Implementera dynamisk räckvidd.
Navision och SQL Server 2005
Procedurellt potpurri Dagens samtalsämnen –Klipp (Cut) –If-then-else –fail/0 –repeat/0 Att läsa –The Art of Prolog, kapitel 11 –Relevant avsnitt i Learn.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Repetition.
6/3/2015© Mats Brorsson1 Hur mycket snabbare blir det med PC133 SDRAM jämfört med PC100 SDRAM?... blir det med en 1,4 GHz Athlon- processor jämfört.
Operativsystem - Baklås Mats Björkman
Starta bildspelet 1. Starta Bildspelet genom att klicka på Ikonen Bildspel i din webbläsare. 2. Klicka sedan, en gång, var som helst i dokumentet.
Region Skåne Förvaltningsgrupp för Digital Diktering
Utbildning Studentinformation – interimspnr, pnr-byte, sekretesshantering, gemensamt studentregister Linda Strand Lundberg, Ladok3-projektet.
Rapportera resultat med titel
Tillfällesbyte Innehåll Återuppta studier, tillfällesbyte
Presentationens avskrift:

DAV B04 - Databasteknik Återhämtning (kap 19)

Återhämtning (Recovery) Innebär att man: återhämtar/återställer databasen till dess senast konsistenta tillstånd efter det att något fel (t ex en krasch) medfört att databasen hamnat i ett misstänkt inkonsistent tillstånd Typer av återhämtnig Transaktionsåterhämtning Systemåterhämtning Mediaåterhämtning

Fel som kan inträffa under transaktioner Transaktionsfel t ex division med noll Exceptions t ex data för transaktion saknas, underskott Datorfel - hårdvaru-, mjukvaru-, nätverksfel Concurrency control visar att transaktionen ej kan utföras på ett korrekt sätt eller deadlock inträffar Diskfel read/write, headcrash Katastrof brand, fel tape

Repetition transaktioner En transaktion är en mängd operationer, utförda i sekvens, som tillsammans bildar en logisk enhet. BEGIN TRANSACTION ; INSERT ( { S#: 'S5', P#: 'P1', QTY:1000 } ) INTO SP ; IF any error occurred THEN GO TO UNDO ; UPDATE P WHERE P# = 'P1' TOTQTY := TOTQTY + 1000; COMMIT TRANSACTION ; GO TO FINISH ; UNDO : ROLLBACK TRANSACTION ; FINISH : RETURN ; En transaktion förflyttar databasen från ett konsistent tillstånd till ett annat konsistent tillstånd, men garanterar inte konsistens under tiden transaktionen utförs.

Systemloggen Alla transaktionsoperationer som påverkar värden på objekt i databasen loggas i en systemlogg Loggen ligger alltid på sekundärminne Innan en transaktion gör COMMIT: En commit point etableras. Vid denna säkerhetsställs att alla uppdateringar är loggade. Dessutom skrivs en commit record [commit, T] till loggen. Först därefter får uppdateringar till sekundärminnet göras (”Write ahead log rule”) När COMMIT har gjorts, garanterar systemet att alla uppdateringar är permanent lagrade Om ett fel inträffar efter COMMIT men innan transaktionens ändringar har skrivits till sekundärminne, måste transaktionen göras om (REDO) Om däremot ett fel inträffar innan en transaktion gjort COMMIT, görs alla uppdateringar ”ogjorda” (UNDO)

Caching Caching av disk-block data som skall uppdateras cachas i primärminnet datan uppdateras i primärminnet. datan skrivs tillbaka till disken. Speciellt cachningsminne för DB (DBHS cache) Ibland måste data skrivas tillbaka till disk för att lämna plats för ny data

Strategier för återskrivning In-place updating Skriver över ursprungsvärdet till samma diskutrymme (vanligast) OBS! det gamla värdet måste skrivas till loggen (som måste skriva det till disk) innan värdet uppdateras på disk The write-ahead log rule Shadowing Skriver en uppdaterad buffer till ett annat diskutrymme, vilket innebär att flera versioner av datan existerar. Gamla värdet – before image (BFIM) Nya värdet – after image (AFIM)

Strategier för återskrivning (2) no-steal - cache-info som blivit uppdaterad av en transaktion kan inte skrivas till disken innan transaktionen gjort commit steal - uppdaterad information i buffern (cache-minnet) kan skrivas innan transaktionen gjort commit. force - all information som blivit uppdaterad av en transaktion skrivs omedelbart till disken så fort en transaktion gjort commit. no-force - uppdaterad information behöver inte skrivas till disk direkt efter att en transaktion gjort commit.

Checkpoints Med bestämda mellanrum gör systemet en avstämning, en checkpoint: Alla transaktioner stoppas temporärt Innehållet i databasbuffrar som har blivit modifierade skrivs till disk En checkpoint record skrivs till loggen och loggen skrivs till disk alla transaktioner startas igen

Systemåterhämtning Två huvudsakliga tekniker används: Uppskjuten uppdatering/ deferred update Skjuter upp eventuella uppdateringar till databasen tills dess att transaktionen avslutat sin exekvering och gjort commit (no-steal) Omedelbar uppdateing/ immediate update Uppdateringar kan skrivas till databasen innan transaktionen gjort commit (”omedelbart”) (steal)

Strategi för uppskjuten uppdatering En transaktion kan inte ändra databasens innehåll förrän den gjort commit En transaktion kan inte göra commit förrän alla dess uppdateringsoperationer har blivit inskrivna i loggen och loggen har blivit skriven till disken NO-UNDO/REDO recovery algorithm

Uppskjuten uppdatering i ett fleranvändarsystem Återhämtningsprocedur Systemet använder sig av två listor, commit list och active list. commit list: här finns alla transaktioner som har gjort commit sen senaste checkpointen active list: här finns alla aktiva transaktioner (dvs de som inte hade gjort commit när systemet kraschade) Gör om (redo) alla uppdateringsoperationer som transaktioner på commit-listan gjort, i den ordning som de är skrivna i loggen Transaktioner på active list måste startas om vid ett senare tillfälle

Återhämtning Uppskjuten uppdatering i ett fleranvändarsystem (fig. 19.3)

Omedelbar uppdatering När en transaktion gör en uppdateringsoperation uppdateras databasen omedelbart. uppdateringsoperationen måste dock skrivas till loggen innan uppdateringen så att återhämtning kan ske UNDO/NO-REDO Algorithm alla uppdateringar skrivs till DB innan transaktionen gjort commit UNDO/REDO Algorithm transaktioner får göra commit innan alla dess uppdateringar skrivits till DB

Omedelbar uppdatering i ett fleranvändarsystem Återhämtningsprocedur Systemet använder sig av två listor, commit list och active list. Spola tillbaka (undo) alla uppdateringsoperationer som transaktioner på active list gjort, i omvänd ordning som de är skrivna i loggen Gör om (redo) alla uppdateringsoperationer som transaktioner på commit-listan gjort, i den ordning som de är skrivna i loggen Transaktioner på active list måste startas om vid ett senare tillfälle

Mediaåterhämtning Med ett mediafel menas att någon del av databasen har blivit fysiskt skadad Vid sådana fel måste en tidigare backup-kopia av databasen laddas in Efter det måste transaktioner som gjort COMMIT sedan kopian togs göras om (med hjälp av loggen)

Shadowing pages NO-UNDO/NO-REDO recovery algorithm alla uppdateringar görs hela tiden i en ny katalog och den gamla versionen sparas i en s.k. skuggkatalog vid fel byter man helt enkelt tillbaka till den gamla katalogen

Illustrering av Shadowing pages

Återhämtning i ett system med flera databaser Two-phase commit används om en given transaktion involverar flera "resurshanterare" t ex i ett distribuerat databassystem Om en transaktion uppdaterar två olika databaser, får det inte hända att uppdateringar görs i den ena databasen men inte i den andra

Återhämtning i ett system med flera databaser En komponent i systemet, koordinatorn, har som uppgift att garantera att båda databaserna utför samma operation (båda gör COMMIT eller båda gör ROLLBACK), även om systemet kraschar mitt i processen. Om koordinatorn bestämmer att operationen skall vara COMMIT gås två faser igenom...

Strategi för återhämtning i ett system med flera databaser Fas 1 koordinatorn instruerar alla resurshanterare att göra sig klara för att avsluta transaktionen det betyder att alla deltagare i processen måste skriva all information de har om transaktionen till loggen om detta gick bra, svarar resurshanteraren "OK", annars "not OK" till koordinatorn.

Strategi för återhämtning i ett system med flera databaser Fas 2 när koordinatorn har fått svar från alla deltagare, skriver den sitt beslut till sin egen logg om alla svar var "OK" blir beslutet "commit”, annars blir det "rollback” koordinatorn informerar sedan alla deltagare om sitt beslut, vilket de alla måste rätta sig efter

Återhämtning i ett system med flera databaser Om systemet kraschar mitt i processen, letar omstartproceduren efter koordinatorns beslut i loggen. Om den hittar det, kan processen fortsätta där den slutade. Om inte, så antas beslutet ha varit "rollback".