Anda di halaman 1dari 17

Undo

 Management  Data
Agit Amrullah
Error  Conditions  Related  to  Undo  
Berkaitan dengan tersedianya ruang yang  dialoksikan untuk undo  management  
sehingga transaksi masih tetap berlangsung
Parameters  for  Undo  Management  
UNDO_MANAGEMENT  
UNDO_TABLESPACE  
UNDO_RETENTION  
TEMP_UNDO_ENABLED  
Sizing  and  Monitoring  the  Undo  Tablespace  
Undo  configuration  and  activity  :

show  parameters   undo;

select  blocks  from  dba_data_files where  


tablespace_name='UNDOTBS1';  
Undo  configuration  in  Database  Express  
Flashback  Query  and  Undo  Retention  
1. Login  sebagai sysdba
2. Buat tablespace  regions,  field  name  :  
• REGION_ID(INT),  
• REGION_NAME(VARCHAR2)
3. Describe  tabelspace regions,  apakah sudah sesuai dengan field  yang  
dibuat.
4. Insert  tabelspace regions  dengan values  REGION_ID=101  dan
REGION_NAME=Indonesia
5. Commit  data  dengan perintah commit;
6. Tampilkan isian tabelspace,  apakah data  muncul?
7. Undo  data  dengan mengetikkan rollback;
8. Tampilkan isian tabel,  apakah data  masih ada?
Undo  Time  Management  :  Insert  Data
Insert  tabelspace “region”  dengan values  :
• REGION_ID=101   dan REGION_NAME=Indonesia
• REGION_ID=102   dan REGION_NAME=Amerika
• REGION_ID=103   dan REGION_NAME=Australia
Undo  Time  Management
1. Menyesuaikan format  waktu dengan sistem
alter  session  set  nls_date_format='dd-­‐mm-­‐yy hh24:mi:ss';  

2. Melakukan/Melihat hasil waktu sekarang


select  sysdate from  dual;  

3. Melakukan proses  penghapusan data  yaitu region_id=100  (  hasil


input  sebelumnya)  dan lakukan commit;
delete  from  regions  where  region_id=100;  
commit;  
LATIHAN
Latihan
-­‐ Buat 2  tabel baru
CREATE  TABLE  deret (nilai number(32));
CREATE  TABLE  account  (nama varchar2(50),saldo
number(32,5),cabang varchar2(50));  
-­‐ Lakukan insert  masing-­‐masing tabel
INSERT  INTO  deret VALUES  (1);  
INSERT  INTO  deret VALUES  (2);  
INSERT  INTO  deret VALUES  (3);  
INSERT  INTO  deret VALUES  (4);  
INSERT  INTO  deret VALUES  (5);  
Latihan
-­‐ Lakukan insert  masing-­‐masing tabel
INSERT  INTO  account  VALUES  ('Tara',100000,'Bogor');  
INSERT  INTO  account  VALUES  ('Alice',1000000,'Bogor');  
INSERT  INTO  account  VALUES  ('Bob',700000,'Bandung');  
INSERT  INTO  account  VALUES  ('Wally',500000,'Bandung');  
Lakukan perintah dan analisa Hasilnya :  
Lakukan perintah dan analisa Hasilnya :  
Contoh Hasil analisa
1. Waktu w1  :  User  satu melihat banyaknya saldo pada nasabah Tara  
sebanyak Rp.  100.000
2. Waktu w2  :  user  dua merubah saldo Tara  menjadi Rp.  50.000
3. Waktu w3  :  user  satu melihat lagi banyaknya saldo nasabah Tara  
dan menemukan bahwa saldonya masih belum berubah,  yaitu
sebanyak Rp.  100.000
4. Waktu w4  :  user  dua meng-­‐COMMIT-­‐kan perubahan,  yang  oleh
system  dituliskan pada HardDisk secara permanen
5. Waktu w5  :  user  satu melihat lagi banyaknya saldo nasabah Tara  
dan menemukan bahwa saldonya sudah berubah,  yaitu sebanyak
Rp.  50.000  
Summary
Dengan ilustrasi diatas,  sampai dengan langkah pada waktu w3  anda
sendiri telah membuktikan bahwa fenomena Dirty  Read  (Sebuah
transaksi membaca data  yang  dituliskan oleh transaksi yang  gagal
(kedua transaksi ini bekerja pada waktu bersamaan)  tidak di  
perbolehkan terjadi oleh Oracle
Lakukan perintah dan analisa Hasilnya :  
Undo  Management  
Data

Agit Amrullah

Anda mungkin juga menyukai