Kusnawi, S.Kom, M.Eng

dokumen-dokumen yang mirip
Administrasi Basis Data. Transaksi dan Lock. Yoannita

Praktikum MONITORING AND RESOLVING LOCK CONFLICTS. Tujuan :

Modul Praktikum Sistem Basis Data 2010

Transaction & Conccurency

Transaksi. by: Ahmad Syauqi Ahsan

Manajemen Transaksi. Praktikum Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI.

TSI Perbankan MANAJEMEN DATA LOCK. Obyektif : 1. Mengetahui konsep lock 2. Mengetahui konsep share pada file database. AS/400 hal. B.

Transaction & Conccurency

Manajemen Transaksi (Penjadwalan & Kontrol konkurensi)

PERTEMUAN 10 PEMBUATAN TABEL

Transaksi dan Data Integrity

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela

Oracle Academic Initiative

Pertemuan IX MANAJEMEN TRANSAKSI

Gambar Layar pertama untuk pemecahan masalah Lost Update

Manajemen Transaksi. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom

Distributed System. 8 Management Transaksi. Genap 2011/2012. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

BAB VI PROTEKSI DATA (DATABASE CONTROL)

MODUL 10 TRANSACTION

Concurrency Control Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT. Si

Distributed System. 9 Concurrency Control. Genap 2011/2012. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

IMPLEMENTASI CONCURENCY CONTROL UNTUK APLIKASI MULTIUSER MENGGUNAKAN DATABASE SQL SERVER. Wiwi Widayani STMIK AMIKOM Yogyakarta

Transaction dan Trigger. M. Saefudin SKom, MMSI

VIEW : Tabel Virtual VIEW 5/29/2017

Penguncian pada Concurrency Control

Manajemen Transaksi. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

IMPLEMENTASI CONCURENCY CONTROL UNTUK APLIKASI MULTIUSER MENGGUNAKAN DATABASE SQL SERVER Wiwi Widayani

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

Oracle Academic Initiative

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B

PERTEMUAN 9 MANIPULASI DATA

PENGONTROLAN BERBASIS KOMPUTER

Oracle Academic Initiative

Manajemen Transaksi A. Konsep Transaksi 1. Membuat Tabel account dengan type Innodb

TRIGGER TRIGGER 5/29/2017 HANI IRMAYANTI, S.KOM

BAB V IMPLEMENTASI DAN PENGUJIAN

Syntax Syntax SQL. Untuk lebih jelasnya dapat dilihat sebagai berikut : 1. DDL (Definition Data Language) a. CREATE

MODUL 2. Sequence, Index dan Synonym PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) PROGRAM STUDI : DIII MANAJEMEN INFORMATIKA Semester : 4

PERTEMUAN 13 SEQUENCE, INDEX & SYNONYM

Obyek pada Oracle. Manajemen Obyek Basis Data dan Dictionary View. Obyek pada Oracle adalah segala hal yang bisa dibuat di Oracle, seperti:

LATAR BELAKANG IBM San Jose Research Laboratory.

Transaksi Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT. Si

STRUCTURE QUERY LANGUAGE DDL & DML

PERTEMUAN 14 MENGONTROL AKSES USER

PRAKTIKUM PL/SQL (Trigger) OLEH : WIRATMOKO YUWONO, ST

Database Interfaces. By: Arif Basofi

Praktikum Basis Data 14 Structure Query Language 2

MODUL 4. Query SELECT dan DML (INSERT, UPDATE, DELETE) PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Konsep Dasar Basis Data. Oleh: Harnan Malik Abdullah, ST., MSc. Program Pendidikan Vokasi Universitas Brawijaya 2017

LINGKUNGAN DATABASE LANJUTAN

Tambahkan kolom JKEL dengan panjang 1 char pada tabel MHS, maka Syntax SQL adalah...

BAB V CURSOR AND RESULT SETS

DATABASE CONTROL 1. SECURITY DATABASE. Suzan Agustri 81

MODUL 3. View PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Tutorial Database Oracle Chapter2 Pembuatan User dan Kontrol Hak Akses

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

Administrasi Basis Data. Yoannita

MANAJEMEN TRANSAKSI. Alif Finandhita, S.Kom

ORACLE LABEL SECURITY PADA ORACLE DATABASE 10g

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

Praktikum Basis Data (Database Server MySQL) Bekerja Dengan Tabel

BAB IV IMPLEMENTASI DAN PENGUJIAN

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

KEAMANAN KOMPUTER. Pertemuan 12

B a s i s D a t a C H A P T E R. SQL Operasi DML. Arif Basofi PENS 2015

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui

Constraint dan Manajemen Data dalam Timezone Berbeda

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number));

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

SECURITY SYSTEM BASIS DATA

User Access MI2154 SQL LANJUT.

Mudafiq Riyan Pratama

PRAKTIKUM SISTEM BASIS DATA TUGAS 1 MANGROVE PERCETAKAN. Penyusun : Nama : Edi Sastrawijoyo NIM : Prodi : Teknik Informatika

MySQL J A M K E T I G A

Oracle Academic Initiative

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

Pertemuan VI F U N C T I O N

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom

BAB 11 SECURITY (KEAMANAN)

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.

STRUCTURE QUERY LANGUAGE (SQL)

MENGAKSES DATABASE DENGAN JDBC

DEADLOCK & RECOVERY SYSTEM

Database Systems: Lab. Actvity 3: Fungsi-Fungsi MySql Advance. Pendahuluan. Pendahuluan

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

Oracle Academic Initiative

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

BAB II PEMBUATAN DAN MANAJEMEN TABLE

PROTEKSI DATA (DATABASE CONTROL)

Transkripsi:

Kusnawi, S.Kom, M.Eng

Statement-level read consistency Oracle menjamin bahwa data yang dilihat melalui sebuah query ketika suatu SQL statement (SELECT, INSERT, UPDATE, or DELETE) diberikan adalah konsisten pada suatu waktu tertentu dan tidak akan berubah selama eksekusi statement tersebut. Transaction-level read consistency Oracle menjamin bahwa data yang dilihat dari beberapa query pada suatu transaksi adalah konsisten

Dirty reads Transaksi A membaca data yang telah diubah oleh transaksi B, padahal transaksi B belum dilakukan atau dengan kata lain Sebuah transaksi membaca data yang dituliskan oleh transaksi yang gagal (kedua transaksi ini bekerja pada waktu bersamaan). Nonrepeatable reads Transaksi A dilakukan namun sebelum selesai ada transaksi B yang mengubah atau menghapus data sehingga jika transaksi A dilakukan kembali hasilnya bisa berbeda dengan hasil transaksi A sebelumnya Phantom reads Transaksi A dilakukan namun sebelum selesai ada transaksi B yang menambah row sehingga hasilnya tidak sesuai dengan yang diinginkan

Waktu w1 : User satu melihat banyaknya saldo pada nasabah Tara sebanyak Rp. 100.000 Waktu w2 : user dua merubah saldo Tara menjadi Rp. 50.000 Waktu w3 : user satu melihat lagi banyaknya saldo nasabah Tara dan menemukan bahwa saldonya masih belum berubah, yaitu sebanyak Rp. 100.000 Waktu w4 : user dua meng-commit-kan perubahan, yang oleh system dituliskan pada HardDisk secara permanen Waktu w5 : user satu melihat lagi banyaknya saldo nasabah Tara dan menemukan bahwa saldonya sudah berubah, yaitu sebanyak Rp. 50.000 Dengan ilustrasi diatas, sampai dengan langkah pada waktu w3 anda sendiri telah membuktikan bahwa fenomena Dirty Read tidak di perbolehkan terjadi oleh Oracle.

Waktu w1 : User satu melihat banyaknya saldo pada nasabah Tara sebanyak Rp. 100.000 Waktu w2 : user dua merubah saldo Tara menjadi Rp. 50.000 Waktu w3 : user dua meng-commit-kan perubahan, yang oleh system dituliskan pada HardDisk secara permanen Waktu w4 : user satu melihat lagi banyaknya saldo nasabah Tara dan menemukan bahwa saldonya sudah berubah, yaitu sebanyak Rp. 50.000 Sengan ilustrasi diatas, anda sendiri telah membuktikan bahwa fenomena Nonrepeatable Read dapat terjadi pada Oracle di transaksi yang berjalan secara bersamaan.

Waktu w1 : User satu melihat banyaknya nasabah yang memiliki cabang Bogor dan menemukan ada 2 orang nasabah (Tara dan Alice) Waktu w2 : user dua menambahkan seorang nasabahyuni yang juga memiliki cabang Bogor Waktu w3 : user dua meng-commit-kan perubahan, yang oleh system dituliskan pada HardDisk secara permanen. Waktu w4 : User satu melihat lagi banyaknya nasabah yang memiliki cabang Bogor dan menemukan sekarang ada 3 orang nasabah (Tara, Alice danyuni) dimanayuni adalah phantom tuple. Inilah yang dinamakan fenomena phantom. Jika fenomena ini tidak di waspadai, pada transaksi yang membutuhkan keakuratan data akan menjadi masalah, karena fenomena ini seringkali tidak terlihat.

Locks Mekanisme yang mencegah akses pada suatu resource jika sedang digunakan oleh suatu transaksi. Shared Locks : Shared lock digunakan pada data yang sedang dibaca Digunakan pada operasi yang tidak mengubah data seperti SELECT Ketika shared lock digunakan, transaksi lain dapat membaca data tapi tidak bisa mengubah data yang di lock Ketika data yang dilock sudah dibaca, shared lock dilepaskan (released)

Exclusive Locks : Digunakan untuk operasi modifikasi data, seperti UPDATE, INSERT, DELETE Mengunci data yang sedang dimodifikasi oleh satu transaksi, sehingga mencegah transaksi lain untuk memodifikasi juga.

Suatu transaksi akan diisolasi dari pengaruh akibat dilakukannya transaksi lain. Transaction Isolation level Read Commited Description Read Phenomena Dirty Read Non repeatable Phantom Read Oracle default. Setiap statement membaca data yang konsisten. (statement-level) Serializable Semua statement dalam suatu transaksi membaca data yang konsisten. (transaction-level) Read Only Semua statement membaca data yang konsisten. Tidak ada insert, update, atau deletion yang dapat dilakukan.

Metode dalam mengeset level isolasi : Pada level Transaksi (pada level ini hanya untuk mengeset sebuah transaksi) SET TRANSACTION ISOLATION LEVEL READ COMMITTED; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; SET TRANSACTION READ ONLY; Pada level Session (pada level ini akan berlaku pada seluruh transaksi yang dilakukan dan subsequent dari transaksi yang terjadi) ALTER SESSION SET ISOLATION_LEVEL = READ COMMITTED ALTER SESSION SET ISOLATION_LEVEL = SERIALIZABLE;

Row Level Lock Lock yang dilakukan terhadap satu atau lebih row Lock escalation beresiko menyebabkan terjadinya deadlock. Read commited and serializable transaction menggunakan row level lock. Table Level Lock Lock yang dilakukan terhadap satu tabel

Locking yang dilakukan oleh Oracle secara otomatis

Locking yang dilakukan user secara manual, dapat meng-override default locking yang dilakukan oleh Oracle The syntax is: lock table table_name in mode mode; SQL> LOCK TABLE hr.employees IN SHARE MODE NOWAIT;

ROW SHARE : masih mengijinkan akses secara bersamaan untuk tabel yang sedang terkunci, tapi membatasi session untuk melakukan eksklusif akses pada tabel yang sedang terkunci ROW EXCLUSIVE : sama seperti ROW SHARE, tapi juga membatasi penguncian dalam mode SHARE. ROW EXCLUSIVE akan diberikan secara otomatis pada saat session melakukan transaksi update, insert ataupun delete data

SHARE : mengijinkan query bersamaan tapi membatasi proses update pada tabel yang sedang terkunci. SHARE biasanya digunakan pada pembuatan sebuah index pada tabel tersebut. SHARE ROW EXCLUSIVE : mengijinkan proses lainnya untuk menglakukan perintah query pada keseluruhan baris dalam tabel tersebut, tapi membatasi session lainnya untuk melakukan mode SHARE ataupun update data EXCLUSIVE : mengijin session lain untuk melakukan perintah query pada tabel yang sedang terkunci, tapi membatasi user lain melakukan aktifitas lainnya pada tabel tersebut. Penguncian eksklusif dilakukan untuk penghapusan (drop) sebuah tabel

Session 1 Session 2 lock table emp in share mode; OK select * from emp; OK update emp set ename = BHISMA where empno = 7900; commit; OK lock table emp in share mode; OK This and other Transactions h ave to wait until Session 2 commits the Transaction. This and other Transactions have to wait until Session 1 commits the Transaction. This and other Transactions can get a Share Lock (Lock Switch). lock table emp in share mode; OK update emp set ename = 'MUHAIMIN' where empno = 7900; Waiting...

Session 1 Session 2 lock table emp in exclusive mode; OK select * from emp; OK update emp set ename = HENDRY' where empno = 7900; commit; OK lock table emp in exclusive mode; OK This and other Transactions have to wait until Session 1 commits the Transaction. This and other Transactions cannot get any other Lock (No Lock Switch). lock table emp in share mode; Waiting... lock table emp in exclusive mode; Waiting... update emp set ename = HENDRY' where empno = 7900;