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
CREAZIONE UTENTE SU ORACLE1 Pagina delle risorse: crea utente oracle ( Password:… Dora in poi, in questi lucidi,
Advertisements

Architettura MySQL E Motori MySQL L. Vigliano.
Database MySql.
Sicurezza e concorrenza nelle basi di dati
Stored Procedure Function Trigger
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
1 Comandi per la manipolazione dei dati. 2 Tipi di comandi INSERT UPDATE DELETE COMANDI COMANDI 2.
Esercizio zSi vuole realizzare un data warehouse per una azienda che vende mobili allingrosso. zIl data warehouse deve permettere di analizzare i ricavi.
Algoritmi e Programmazione
Basi di dati attive Dispongono di un sottosistema integrato per definire e gestire regole di produzione (regole attive) Regole di tipo: Evento-Condizione-Azione.
G. Mecca – – Università della Basilicata Basi di Dati Tecnologia di un DBMS: Concorrenza e Affidabilità Concetti Avanzati versione 2.0.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
1 System Call per Comunicazione tra Processi Pipe.
La Modifica dei Dati in una Base Dati La modifica dei dati contenuti allinterno di una base dati è unoperazione delicata Infatti, ogni potenziale problema.
Elementi di PL/SQL.
Luglio 2004Memorie Tradizionali1 MEMORIE TRADIZIONALI Luglio 2004.
SQL per la modifica di basi di dati. 29/01/2014SQL per la modifica di basi di dati2 Data Manipulation Language Introduciamo ora il Data Manipulation Language.
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
SQL Per la modifica di basi di dati
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
Le transazioni Itis Max Planck.
SQL: Amministrazione e Viste
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Transazioni.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
Introduzione alle Basi di Dati. Overview Informazione = contenuto + struttura Informazione non strutturata Molto contenuto, poca struttura Un romanzo.
Concorrenza e Sincronizzazione di Thread e Processi
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
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
File system distribuito transazionale con replicazione
Sia TAPE una periferica di gestione di nastri magnetici in grado di acquisire/fornire dati a 8 bit, e sia CD una periferica di masterizzazione in grado.
© Giuseppe Berio – DI - UNITO
Architettura Centralizzata di un DBMS Relazionale
Programmazione Strutturata
CREAZIONE UTENTE SU ORACLE1 Pagina delle risorse: crea utente oracle ( D’ora in poi, in questi lucidi, il vostro utente oracle.
SQL*PLUS Worksheet Permette di:
Migliorare le prestazioni delle cache
ESERCIZIO PL/SQL e PSP.
FUNZIONI Dichiarazione: Definizione:
Pagine ASP parte 3 I data base Stefano Schacherl.
© 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.
Programmazione Web PHP e MySQL 1. 2Programmazione Web - PHP e MySQL Esempio: un blog.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
1 Basi di Dati S tructured Q uery L anguage Appunti Matteo Longhi.
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: –Gestione di vincoli di integrità: Per fallimento Per modifica.
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
Vincoli interrelazionali
Basi di dati Funzionalità e Progettazione Giorgio Ghelli.
BDE-TRANS 1 Gestione di transazioni concorrenti. BDE-TRANS 2 Controllo di concorrenza La concorrenza è fondamentale: decine o centinaia di transazioni.
Controllo della concorrenza basato sui timestamp.
Anno Architetture dati DBMS Centralizzati Controllo di concorrenza Carlo Batini.
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT P ERSISTENZA.
Anno Architetture dati - DBMS Centralizzati Recovery management Carlo Batini.
ATOMICITÀ Il tipo di atomicità di un programma PL/SQL è stabilito dall’ambiente chiamante oppure dal programma Gestione atomicità: COMMIT SAVEPOINT nome_punto.
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: –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 MODERS ROW EXCLUSIVE MODERX->RS SHARE MODES->RS SHARE EXCLUSIVE MODESRX->S, RX EXCLUSIVE MODEX->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