e5 transaz
TRANSCRIPT
![Page 1: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/1.jpg)
![Page 2: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/2.jpg)
BasidiDa(‐Sistemitransazionali2
C)ModelloRelazionale,Algebrarelazionale,SQL
1 2 3 4 5 6 7
E)TecnologiadiunDBMS
1 2 3 4 5 6
A)Introduzione
1 2
B)Prog.ConceGuale(ER)
1 2 3 4 5 6 7
D)Prog.LogicaeNormalizzazione
1 2 3 4
F)ProgrammazioneDB
1 2
![Page 3: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/3.jpg)
RicordiamoleprincipalicaraGerisNchedeiDBMS
BasidiDa(‐Sistemitransazionali3
condivisionedeidaN concorrenza
qualitàdeidaN integrità
efficienza caricamento,query,sort
controllodell'accesso privatezza
robustezza
fuocosuintegrità,concorrenza,robustezza,efficienza
![Page 4: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/4.jpg)
IlconceGoditransazione
BasidiDa(‐Sistemitransazionali4
TRANSAZIONE(transacNon):ComplessodiOPERAZIONItendenNaportareilDBdaunostatocorreGoadunaltrostatocorreGo.
Latransazioneèun’unitàdielaborazionechegodedi4proprietà(ACID):
• Atomicità• Consistenza• Isolamento
• Durata(persistenza)
![Page 5: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/5.jpg)
Atomicità
BasidiDa(‐Sistemitransazionali5
ATOMICITÀ(atomicity)delletransazioni:leoperazioniprevistecosNtuisconountuGounico,devonopertantoessereeseguitenellalorointerezzaononessereeseguiteperniente.
SERIALIZZAZIONEDELLEOPERAZIONI:LeoperazionieventualmentesvolteinparallelodevonoportareilDBadunostatoequivalenteall'esecuzioneserialedellemedesimeoperazioni.
LatransazioneèquindiunaTRASFORMAZIONEATOMICAdallostatoinizialeaquellofinale.
![Page 6: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/6.jpg)
BasidiDa(‐Sistemitransazionali6
UnaTRANSAZIONEcosNtuisceunBLOCCODIRECOVERY(riprisNno)cioè:uninsiemedioperazionidelimitatedaistruzionialfinedipermeGereleoperazioni:
UNDO(disfare):incasodifallimentodellatransazionedeveesserepossibile"disfare"l'azionesvoltasuidaN
REDO(rifare):selatransazionehaavutosuccessomalemodifichealDBnonsonostateresepermanenN,lemodifichevannoripetute.
Atomicità
![Page 7: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/7.jpg)
Transazione"benformata"
BasidiDa(‐Sistemitransazionali7
BEGINTRANSACTIONcodiceconmanipolazionedeidaN
(leGureescriGure)COMMITWORK/ROLLBACKWORK
codiceprivodimanipolazionedidaN
ENDTRANSACTION
S 1 S 3 S fS i S 2W1 W2 W3 W4
![Page 8: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/8.jpg)
BasidiDa(‐Sistemitransazionali8
ComportamenNpossibili:commitwork:successoCOMMIT:finecorreGodellapartedimodificadellatransazione
("impegno"delDBMSatrasferireidaNmodificaNinmemoriapermanente)
S 1 S 3 S rS 0 S 2
COMMIT
Atomicità
![Page 9: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/9.jpg)
BasidiDa(‐Sistemitransazionali9
IncasodiguastoilsistemadiRECOVERYèincaricatodiriportareilDataBaseadunostatocorreGoprecedentealguasto.
STATOCORRETTOèunostatodelDBchenonrifleGeicambiamenNdovuNatransazionidimodificachenonsonostateterminateconsuccesso.
CAUSEDIGUASTO:
1)guastoall'internodiunatransazione2)guastoall'internodelswdibase
3)guastosullamemoriasecondaria4)guastosulsistemahardware
Recovery
![Page 10: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/10.jpg)
BasidiDa(‐Sistemitransazionali10
GUASTOALL'INTERNODIUNATRANSAZIONE
a)ABORT:unatransazionesiinterrompeperunerroresojwareequindiilDBMSneesegueilROLLBACK(“ritornoindietro”dellemodificheapportateaidaN)
b)ROLLBACKdiunatransazione:unatransazionepuòautonomamentechiedereilrollbacksescopreinconsistenzaneidaNolanonfanbilitàdelleoperazioni
c)ABORTFORZATOdiunatransazione:unatransazione“aborNta”èforzataalrollbackseilDBMSscopreviolazionedivincoliodiautorizzazioni,situazionidistallo(deadlock),fallimentodialtretransazionicoordinateinparallelo.
Recovery
![Page 11: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/11.jpg)
BasidiDa(‐Sistemitransazionali11
ComportamenNpossibili:commitwork:successoCOMMIT:finecorreGodellapartedimodificadellatransazione
("impegno"delDBMSatrasferireidaNmodificaNinmemoriapermanente)
S 1 S 3 S rS 0 S 2
COMMIT
Atomicità
![Page 12: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/12.jpg)
BasidiDa(‐Sistemitransazionali12
ComportamenNpossibili:rollbackwork(suicidio)abortforzato(omicidio)
S 1 S 3 S rS 0 S 2
UNDO UNDO
guasto
Atomicità
![Page 13: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/13.jpg)
BasidiDa(‐Sistemitransazionali13
ComportamenNpossibili:commitwork:successodellatransazionemaguastodopoilcommiteprimadellaconclusione
S 1 S 3 S rS 0 S 2
REDO
guasto
Atomicità
![Page 14: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/14.jpg)
BasidiDa(‐Sistemitransazionali14
LatransazionerispeGaivincolidiintegrità,comeconseguenza:selostatoinizialeècorreGoanchelostatofinaleècorreGo
IsolamentoLatransazioneèisolatadallealtretransazioniconcorrenN(nonesponeisuoistaNintermediprimadellasuaconclusione).Sievital'“effeGodomino”
PersistenzaGlieffendiuncommitworkdureranno“persempre”(indipendentementedaiguasNdelsistema)
Consistenza
![Page 15: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/15.jpg)
BasidiDa(‐Sistemitransazionali15
• controllodiaffidabilita’:atomicità,persistenza
• controllodiconcorrenza:isolamento• controllodiesecuzione:consistenza
• Controllodiaffidabilitàsuldatabaseserver• gesNoneingresso‐uscita• gesNonememorie
• gesNonebuffer• gesNonecommitwork/rollbackwork
• gesNonegiornale
PergaranNreleproprietàacid
![Page 16: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/16.jpg)
BasidiDa(‐Sistemitransazionali16
• memoriacentrale:
nonèpersistente
• memoriadimassa:
èpersistentemapuòdanneggiarsi
• memoriastabile:
memoriacheanchesesidanneggianonperdeidaNenoninterrompeilservizio:DISKMIRRORINGeRAID
Persistenzadellememorie
![Page 17: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/17.jpg)
BasidiDa(‐Sistemitransazionali17
Leinformazionivengonoparallelementeriportatesusistemididischidiversi.
DISKDRIVE2
DISK1 DISK2
BUS1
BUS2
CPU1
CPU2
UNITA’MULTIPROCESSORE
DISKDRIVE1
Replicazioneon‐line:mirroring
![Page 18: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/18.jpg)
BasidiDa(‐Sistemitransazionali18
DATABASESERVER
DATABASE
BACKUP
DUMP
IlDBMSNenesempreunavecchiacopiadelDBsuunaltrodisposiNvo(nastroodisco)aggiornataperiodicamente(DUMP).
Replicazioneoff‐line:unitàdibackup
![Page 19: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/19.jpg)
BasidiDa(‐Sistemitransazionali19
razionale:
• usofrequentedeidaNgiànelbuffer• scriGuradifferitadellabasedidaNonmizzandolescriGuresu
disco
discobufferdimemoria
centrale
i/o
GesNonedellamemoriacentrale
![Page 20: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/20.jpg)
BasidiDa(‐Sistemitransazionali20
paginax
paginay
memoriacentrale
bufferpool
y
x
Perognitransazionec’èuncertonumerodipaginedisponibilinelbufferpool,ilnumerodipendedalnumeroditransazioniedallelororichieste.LepaginecontenenNmodifichedevonoessereriscriGe.
Usodellamemoriacentrale
![Page 21: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/21.jpg)
BasidiDa(‐Sistemitransazionali21
aSTEAL‐ paginecondaNdirty,cioèmodificaNma ancorasenzacommit,soGraGeauna
transazioneanvaeriportatesudiscoNOSTEALbFORCE‐ paginescriGealcommit‐workNOFORCE
Normalmente:NO‐STEAL,NO‐FORCE
Letransazionirilascianolepagineallafine,quellemodificateverrannoriscriGeinmemoriapermanente.SenecessariolepaginedelletransazionivengonorimpiazzateconlapoliNcaLRU(LeastRecentlyUsed).
PoliNchedigesNonedelbuffer
![Page 22: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/22.jpg)
BasidiDa(‐Sistemitransazionali22
IlLOGregistrainmemoriastabileleazionisvoltedallatransazionesoGoformadicoppiedivalori:
UPDATE(U)trasforma:val1⇒val2
registrazione:BEFORE‐STATE(U)=val1AFTER‐STATE(U)=val2(chiamateanchebefore/ajerimage)
TIPIDIREGISTRAZIONINELGIORNALE:1BEGIN‐TRANSACTION2UPDATE/DELETE/INSERT3COMMIT/ABORT4 CHECKPOINT
Giornaleditransazione(Logfile)
![Page 23: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/23.jpg)
BasidiDa(‐Sistemitransazionali23
B(T1) U(T1) U(T1) C(T1)
topdelgiornalerecorddellatransazioniT1
LeinformazioniregistratesonodelNpo:1)idenNficatoredellatransazione;2)codicedioperazione;3)numerodisequenzanellog;4)puntatoreall'ulNmologrecorddellatransazione;5)idenNficatoredelfileedindirizzodelrecord(Nd);6)vecchiovalore,nuovovalore;
Ilgiornaleèsequenziale
![Page 24: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/24.jpg)
BasidiDa(‐Sistemitransazionali24
PerilLOG(checonNenel'insiemediinformazioninecessarieesufficienNperriportareilDBinunostatocorreGo)siuNlizzaunprotocollodiNpoWAP(WriteAheadProtocol):
SiscriveunrecorddiBEGINsulLOGprimadiiniziarel'esecuzionediunatransazioneLemodificheeffeGuatevengonoregistratesuldiscodelLOG(chiamatoancheaudittrail)PRIMAdivenireesteseallamemoriasecondaria
IlLOGèpresenteintuniDBMSdiunacertaimportanza.Insistemicheeseguonomoltetransazionipuòoccupareunospaziomoltoelevato(LOGdicenNnaiadimilionidicaraGerialgiornoinsistemicommerciali)..
Giornale
![Page 25: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/25.jpg)
BasidiDa(‐Sistemitransazionali25
T1,T2eT3sonoOK.PerT4eT5ilsistemadeveriportareidaNallostatocorreGoanteriorealloroinizio.
ESEMPIO
![Page 26: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/26.jpg)
METODIPERLAGESTIONEDELLETRANSAZIONI
BasidiDa(‐Sistemitransazionali26
1)UNDO/REDO2)UNDO/NOREDO3)NOUNDO/REDO4)NOUNDO/NOREDO
a)fareononfareUNDOdipendedallapoliNcadigesNonedellemodifiche.
b)fareononfareREDOdipendedallagesNonedelBUFFERedelCOMMIT.IlREDOvafaGoperchéanchesesiraggiungeilCOMMITsulLOG,nonsièsicurichelepaginesianostatetuGescaricaNdalbuffer.
![Page 27: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/27.jpg)
BasidiDa(‐Sistemitransazionali27
POLITICAa1FASE:(UNDO)lemodifichevengonoportatesubitosulDBdurantelosvolgimentodellatransazione,primadellaterminazione(STEAL).
StatovecchiodeidaN
LOG
DO(WAP) Stato
nuovodeidaN
t1 t3
t2t1<t2<t3
Statovecchio
LOG
UNDOStatonuovo
PoliNcadiundo(gesNonedellemodifiche)
![Page 28: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/28.jpg)
BasidiDa(‐Sistemitransazionali28
POLITICAa2FASI:(NOUNDO)tuGelemodifichesonoregistratesulLOGtemporaneamenteenonsulDB;soloselatransazioneterminacorreGamentealloravengonoportatesulDBstabile(conunaoperazioneatomica)(NOSTEAL).
StatovecchiodeidaN
LOG
DO StatonuovodeidaN
t1
t3t2
t1<t2<t3
PoliNcadiundo(gesNonedellemodifiche)
![Page 29: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/29.jpg)
PoliNcadicommit(gesNonedelbuffer)
BasidiDa(‐Sistemitransazionali29
COMMITposNcipato:(NOREDO)ilcommitèdefiniNvosolodopochelemodifichesonomigratesulDB(primalemodifiche,poiilcommitsullog)(FORCE)
COMMITanNcipato:(REDO)ilcommitèregistratosubitosulLOGprimachelemodifichesianocompletatesulDB(NOFORCE).
StatoincertodeidaN
LOG
REDOStatonuovodeidaN
t1 t3
t2
![Page 30: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/30.jpg)
PoliNchedirecovery
BasidiDa(‐Sistemitransazionali30
UNDO/REDOrichiedebeforeandajerimage,• lascialagesNonedellepaginealgestoredelbufferchepuòonmizzareiltrasferimentosudisco,• migliorailfunzionamentonormale,• peggiorailfunzionamentosiaincasodiguasNdisistemaalRESTARTchediguasNditransazioni,• permeGeunpiùsollecitorilasciodeilock.
UNDO/NOREDOrichiedeajerimage,• migliorailcasodiRESTART,• peggiorailcasodiguastoditransazione,• peggiorailfunzionamentonormaledelbufferpoiché
forzailgestoredelbufferascaricarelepagineperterminarelatransazione,• nonpermeGeunsollecitorilasciodeilock.
![Page 31: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/31.jpg)
BasidiDa(‐Sistemitransazionali31
NOUNDO/REDOnonrichiedebeforeimage,• favorisceicasidifallimenNdelletransazioni.
NOUNDO/NOREDO• NOREDO:tuGelemodifichedevonoesserenelDBprimachelatransazionesiaconsiderataterminata.
• NOUNDO:nessunamodificadeveessereportatasulDBprimachelatransazionesiaconsiderataterminata.• PerciòunaoperazioneatomicadevetrasferireidaNe
registrareilCommit.
Siusalatecnicadellepagineombra(SHADOWPAGES)cheèmoltovelocemarichiedemoltamemoria
PoliNchedirecovery
![Page 32: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/32.jpg)
BasidiDa(‐Sistemitransazionali32
po pn
pagetable
p.nuovep.ombra
doppiopuntatoredell’applicazioneallapagetable
po pnpo pn
commit undo
SHADOWPAGES
(operazioneatomica)
![Page 33: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/33.jpg)
INCERTEZZADELRECOVERYNELCASODISYSTEMCRASH
BasidiDa(‐Sistemitransazionali33
Metododel“CHECKPOINT”nellapoliNcaUNDO/REDO
IncasodisystemcrashilcontenutodellamemoriaprincipaleedegliI/Obuffersèperduto.
![Page 34: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/34.jpg)
CHECKPOINT
BasidiDa(‐Sistemitransazionali34
T3 e T5 sicuramente non sono state completate e devonoesseresoGoposteallaproceduradiUNDO.
Per T1, T2 e T4, che sono terminate, non è sicuro se gliaggiornamenNsonostaNdefiniNvamentecopiaNsumemoriaausiliaria.
Bisogna quindi controllare sul LOG e se queste hannoraggiuntoilCOMMIT(commitrecordnelLog)bisognafarneilREDO.
Quanto indietronel LOGbisognaandare,peressere sicuridieseguire il recoverydituGeletransazioniterminate inmodocorreGo?
![Page 35: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/35.jpg)
BasidiDa(‐Sistemitransazionali35
CHECKPOINTSYSTEMPeriodicamenteilsistemaesegueilcheckdelDB:
metodo1fa terminare le transazioni non ancora terminate e ricopiatuGoilcontenutodelbufferdimemoriacentraledesNnatoalDBsuldiscoedinserisceun"checkpointrecord"nelLOG.
Il sistemaDBMS,dopo il restartdel sistemadi calcolo, cercanelLOGl'ulNmocheckpointrecordedeseguelasuaproceduradi RECOVERY sulle transazioni iniziate dopo. Se il guastoavviene durante l’operazione di checkpoint è valido ilcheckpointprecedente.
CHECKPOINT
![Page 36: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/36.jpg)
BasidiDa(‐Sistemitransazionali36
CHECKPOINTSYSTEMPeriodicamenteilsistemaesegueilcheckdelDB:
metodo2ricopia tuGe le pagine di transazioni terminate sul disco edinserisce un "checkpoint record" nel LOG, registra nelcheckpoint record gli idenNficatori delle transazioni nonancoraterminate.
Il sistemaDBMS,dopo il restartdel sistemadi calcolo, cercanelLOGl'ulNmocheckpointrecordedeseguelasuaproceduradi RECOVERY sulle transazioni iniziate dopo e su quelleregistratenelcheckpointrecord.
CHECKPOINT
![Page 37: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/37.jpg)
BasidiDa(‐Sistemitransazionali37
checkpoint
T1èok,perT2eT4sifaREDO,perT3eT5UNDO
CHECKPOINT
![Page 38: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/38.jpg)
Funzionamentodelrecoverymanager
BasidiDa(‐Sistemitransazionali38
Ilrecoverymanager,alrestartdelsistema,esegueunprotocollodelNpo:1 LeggesuunfilediRESTART(semprecontenutonelLOG)l'indirizzodell'ulNmoCHECKPOINT;nelrecorddicheckpointsonocontenuNgliidenNficatoridelletransazionianvealmomentodelcheckpoint.
2 Preparaduefile:UNDOLISTcongliidenNficatoridelletransazionianve,REDOLISTvuoto.
![Page 39: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/39.jpg)
BasidiDa(‐Sistemitransazionali39
3 LeggeilLOGpartendodall'ulNmocheckpoint:setrovaBeginTransacNonregistralatransazionesullaUNDOLIST,setrovaCommitlaportanellaREDOLIST.
AlterminelaUNDOLISTconNenelalistadelletransazionidaDISFARE,laREDOLISTquelladelletransazionidarifare.
4 IlLOGvienerielaboratoall'indietropercompieregliUNDOconivecchivalori
5 IlLOGvienerielaboratoinavanNperrifare(REDO)letransazionidarifare.
NessunutenteèanvoduranteilRESTART.
Funzionamentodelrecoverymanager
![Page 40: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/40.jpg)
Checkpoint
BasidiDa(‐Sistemitransazionali40
Almomentodelguastoedopo:
topdelgiornale
checkpoint
redolist
undolist
![Page 41: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/41.jpg)
Incasodiguastodisistema
BasidiDa(‐Sistemitransazionali41
aguastosoj:perditainmemoriacentralee
RIPRESA(RESTART)ACALDOproceduradirecoveryundo/redo comegiàvistooaltresimilineicasi noundo/redoecc.
bguastoharddanneggiamentodellamemoriadiscoe RIPRESAAFREDDO
![Page 42: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/42.jpg)
Ripresaafreddo
BasidiDa(‐Sistemitransazionali42
• siriprisNnanoidaNaparNredall’ulNmobackup
• sieseguonoleoperazioniregistratesullogfinoall'istantedelguasto;persicurezzasiNeneillogsuundiscodiversodaquellodeidaN(spessoilogsono2).
• siesegueunaripresaacaldo
![Page 43: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/43.jpg)
AltretecnichediRECOVERY
BasidiDa(‐Sistemitransazionali43
COPIEMULTIPLE: SimanNeneunnumerodisparidi copiedelDB. In casodiguasto, facendodei confronN fra levariecopie, inbaseadunprotocollodimaggioranzasionenelacopiacorreGa.Duranteunamodifica,unadellecopievieneuNlizzataperscrivereinuovivalori.UnflagvieneseGatoperindicareun"updateinprogress"ancheperlealtrecopie.Successivamentelamodificavieneestesainparallelo(perquantopossibile)atuGelealtrecopie.EssequindisonosemprecorreGe(eduguali),esclusigliistanNincuisieseguelascriGura.TecnicamoltouNlizzatanelleapplicazioniavanzate(spaziali,militari,etc....).
![Page 44: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/44.jpg)
FORWARDERRORRECOVERY
BasidiDa(‐Sistemitransazionali44
1)BACKWARDERRORRECOVERY: è quella già vista che stabilisce che il riprisNno del DBavvengaritornandoadunostatopassatocorreGo.(Senonèpossibile, si cerca di riportare il DB in uno stato almenoconsistente).SonoletecnicheusatedaiDBMSperisistemiaziendali.
2)FORWARDERRORRECOVERY: tecnicacheproseguenormalmentel'esecuzione(sepossibile)tentandounacompensazionedeglierrori.NonpermeGel'usoditecnichegeneralimasolodialgoritmispecifici.Usatainsistemistrategicioincasiincuinonc’ètempoperilrecoverybackward.
![Page 45: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/45.jpg)
AltretecnichediRECOVERY
BasidiDa(‐Sistemitransazionali45
HWCRASH:
SISTEMI RESILIENTI: sistemi completamente duplicaN chesvolgonoesaGamentelostessolavoro:ilsistema"slave"sosNtuisceimmediatamenteil"master"incasodiroGura.
In sistemi strategici i soGosistemi sono più di due: puòsussistereilproblema(grave)cheilmasternonlavoripiùinmodocorreGoeconsideriguasNglislavechealorovoltaloconsideranoguasto.Gli algoritmiper la gesNonediquestasituazionisonomoltocomplessi.
![Page 46: E5 Transaz](https://reader034.vdocuments.site/reader034/viewer/2022052307/5569d89ad8b42acb148b4d19/html5/thumbnails/46.jpg)
BasidiDa(‐Sistemitransazionali46