ATOMICITÀ Il tipo di atomicità di un programma PL/SQL è stabilito dall’ambiente chiamante oppure dal programma Gestione atomicità: COMMIT SAVEPOINT nome_punto.

Slides:



Advertisements
Presentazioni simili
Architettura MySQL E Motori MySQL L. Vigliano.
Advertisements

Sicurezza e concorrenza nelle basi di dati
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
Basi di dati attive Dispongono di un sottosistema integrato per definire e gestire regole di produzione (regole attive) Regole di tipo: Evento-Condizione-Azione.
Tecnologie di un database server: la gestione della concorrenza
Basi di dati attive Paolo Atzeni.
Nataliya Rassadko SQL: Lezione 8 Nataliya Rassadko
Aspetti sistemistici dellSQL. SQL environment Un SQL environment è un framework dove esistono dati e possono aversi istruzioni SQL eseguite su questi.
Cenni sulla gestione delle transazioni in DBMS
Le transazioni Itis Max Planck.
SQL: Amministrazione e Viste
Transazioni.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
Cos’è una transazione? Una transazione è un’unità logica di elaborazione richiesta da un’applicazione che dà luogo a una serie di operazioni fisiche elementari.
Corso di Basi di Dati Il Linguaggio SQL
Basi di Dati e Sistemi Informativi
© Giuseppe Berio – DI - UNITO
FUNZIONI Dichiarazione: Definizione:
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
PLSQL 1.1 LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture.
BDE-TRANS 1 Gestione di transazioni concorrenti. BDE-TRANS 2 Lock Principio: –Tutte le letture sono precedute da r_lock (lock condiviso) e seguite da.
ATOMICITÀ Il tipo di atomicità di un programma PL/SQL è stabilito dall’ambiente chiamante oppure dal programma Gestione atomicità: –COMMIT –SAVEPOINT nome_punto.
PLSQL 1.1 LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture.
Transazioni in MySQL 4 Transazioni in MySQL 4
BDE-TRANS 1 Gestione di transazioni concorrenti. BDE-TRANS 2 Controllo di concorrenza La concorrenza è fondamentale: decine o centinaia di transazioni.
Anno Architetture dati DBMS Centralizzati Controllo di concorrenza Carlo Batini.
Script bash I file di comandi in Linux. BASH  Bourne Again Shell  Modalità interattiva o batch (file di comandi)  Ambiente di programmazione “completo”
Laboratorio di Architettura Degli Elaboratori1 PSPICE – Circuiti sequenziali.
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Somme prefisse Lezione n°2.
CONTROLLO DELLA CONCORRENZA
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
© 2007 SEI-Società Editrice Internazionale, Apogeo
Lato Server - OMNIS Web Web Services.
Crea il tuo sistema aziendale sul web a partire dei fogli Excel che usi. ShareXLS
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2012/2013 Prof.ssa Rossella Petreschi
CREAZIONE UTENTE SU ORACLE1
I Circuiti Sequenziali ed i Flip/Flop
OPERAZIONI CON LE FRAZIONI
Protocollo di locking a due fasi stretto
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi
Write-only, read-only.
Metriche SE monitoring G.Donvito G.Cuscela INFN Bari
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Cammino dei Dati (Datapath)
B-alberi e alberi autoaggiustanti
Frequenza di fallimento della terapia di prima linea basata su INI vs
Organizzazione fisica
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Lock a tre valori.
Informatica per l’Ingegneria
Lock binario.
Tecnologia di un Database Server
Corso Java Cicli e Array.
Codicfiche Interi Complemento alla base.
© 2007 SEI-Società Editrice Internazionale, Apogeo
Azione delle istruzioni
Lezione n°6 Prof.ssa Rossella Petreschi
SQL per la modifica di basi di dati
Ricorsione 16/01/2019 package.
Azione delle istruzioni
Lezione 1: Modalità di scrittura
Memorie Laboratorio di Architetture degli Elaboratori I
Quantificazione Esistenziale ed Universale
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
Programmazione Procedurale
Transcript della presentazione:

ATOMICITÀ Il tipo di atomicità di un programma PL/SQL è stabilito dall’ambiente chiamante oppure dal programma Gestione atomicità: COMMIT SAVEPOINT nome_punto ROLLBACK [TO nome_punto]

SERIALIZZABILITÀ Il tipo di serializzabilità di un programma PL/SQL è stabilito dall’ambiente chiamante oppure dal programma Oracle usa 2PL per gli aggiornamenti e un meccanismo multiversioni per le letture Ottenere la vera serializzabilità è piuttosto complesso

FENOMENI DI NON SERIALIZZABILITÀ Tre tipi di precedenza: A -rw->B, A-wr->B, A-ww->B Alcuni fenomeni spiacevoli: Dirty read Query inconsistente (ciclo rwr in una singola query) Non-repeatable read (come sopra, ma su più query) Phantom read, ovvero ad una seconda lettura si trovano più dati (come sopra, ma su insiemi) Ciclo con conflitti ww e rw A modifica dati che B ha già letto e viceversa (ciclo di conflitti rw)

LIVELLI DI ISOLAMENTO Read uncommitted: nessuna garanzia Read committed: niente Dirty Read Read committed consistente: + query consistente (ORACLE RC) Repeatable read: più query danno lo stesso risultato, a meno di inserimenti Serializable: ripetibilità delle letture ed assenza di cicli con conflitti ww (ORACLE S) Serializzabile davvero: equivalente ad una esecuzione seriale; concorrenza minima

ALGORITMO ORACLE: Serializable: Read committed: Uso dei blocchi: all’inizio della transazione, si fa una foto della BD tutte le letture leggono dalla foto le scritture falliscono se qualcun altro ha toccato il dato che T va a scrivere; due casi: il dato è stato modificato da una transazione che ha dato il commit dopo il begin di T: fallimento un’altra transazione T2 ha un blocco sul dato: T aspetta; se T2 fallisce, T prosegue; se T2 commit, T fallisce Read committed: legge solo dati committed fa una foto prima di ogni query Uso dei blocchi: Prendono i blocchi: select for update, modifiche Non blocchi ma snapshot: select normale

GESTIONE ESPLICITA CONFLITTI set transaction: read write: solo read committed isolation level read committed isolation level read only: repeatable read isolation level serializable: rep. read, ww cursor c is select * from .. where ... for update lock table relazione in ROW SHARE MODE RS ROW EXCLUSIVE MODE RX->RS SHARE MODE S->RS SHARE EXCLUSIVE MODE SRX->S, RX EXCLUSIVE MODE X->SRX RS ed RX sono gli unici ad essere acquisiti automaticamente Conflitti: S con RX ed RS con X; RS ed RX sono invece compatibili