Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Di Oracle SQL, mengapa baris yang dihapus (tidak dikomit) tidak terlihat di sesi saat ini tetapi terlihat di sesi lain?

Serta pembahasan properti ACID yang ziesemer merujuk Anda, Anda harus tahu tentang Kontrol Konkurensi Multi-Versi atau MVCC. Jika Anda ingin mengetahui 'semuanya', pertimbangkan untuk membaca Kontrol Konkurensi dan Pemulihan dalam Sistem Basis Data oleh Philip A. Bernstein, Vassos Hadzilacos, Nathan Goodman (tersedia untuk diunduh).

Di Oracle dan DBMS MVCC serupa lainnya, ketika Anda memulai transaksi, sebuah catatan disimpan dari stempel waktu yang mengidentifikasi waktu mulai itu (tetapi nilai stempel waktu tidak selalu merupakan nilai 'detik sejak Unix Epoch' sederhana). Saat transaksi itu berjalan, ia tidak akan melihat data apa pun yang dimasukkan dengan stempel waktu setelah waktu mulainya. Sistem membuat halaman data versi sebelumnya tetap tersedia untuk transaksi yang masih berjalan. Ketika transaksi menulis halaman, itu membuat salinan baru dengan stempel waktu baru, tetapi salinan itu tidak tersedia untuk transaksi lain sampai transaksi modifikasi dilakukan, dan bahkan kemudian, itu hanya tersedia untuk transaksi yang dimulai setelah komit.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rangkaian baris Oracle SQL berdasarkan titik

  2. Hapus baris untuk memiliki maksimum x baris per grup di tabel Oracle

  3. Mengapa saya membuat Checksum gagal pada setiap permintaan SQL yang buruk di Oracle ketika Native Encryption (ASO) diaktifkan?

  4. Gabungkan rentang tanggal

  5. 50 Nuansa Ujian Sertifikasi Database Oracle