Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Database Ki̇li̇t Mekani̇zmasi

467 views

Published on

  • Be the first to comment

  • Be the first to like this

Database Ki̇li̇t Mekani̇zmasi

  1. 1. Anar Godjaev http://anargodjaev.wordpress.com/ DATABASE KİLİT MEKANİZMASI Database kilit işlemleri çeşitli aşamalrda olabilir.Örneğin statemnt bazında oluşan hata aşağıdaki gibi olabilir. Örneğin aynı anda iki kullanıcı tablo üzerinde statemnt çalıştırıp kilide yol açabilirler. Bu şu an bir probleme yol açmaz ama aşağıdaki gib bir durum olursa, Bu kaosu önlemenin yolu 1.transactionun commit edilmesidir. İki tip lock tipi vardır.DML işlemleri için ve DDL işlemleri için. DML işlemleri için bir örnek daha verirsek.
  2. 2. Anar Godjaev http://anargodjaev.wordpress.com/ Transcation 1 henüz commit edilmediğinden Transcation 2 işlemi yürütülemez. Eğer tablo istenirse manuel olarakta kitlenebilir. SQL> LOCK TABLE table_name IN mode_name MODE; SQL> LOCK TABLE employee IN exclusive MODE; Table(s) Locked. DDL Kilit mekanizması ise şu şekilde olmaktadır. Bu Exclusive DDL kilitlerine örnektir. Kilit Durumlarını izlemek içinde viewlardan ayarlanarak çeşitli sorgular yazabiliriz.
  3. 3. Anar Godjaev http://anargodjaev.wordpress.com/ SQL> SELECT xidusn, object_id, session_id, locked_mode FROM v$locked_object; XIDUSN OBJECT_ID SESSION_ID LOCKED_MODE --------- --------- ---------- ----------3 2711 9 3 0 2711 7 3 SQL> SELECT object_name FROM dba_objects WHERE object_id = 2711; OBJECT_NAME ------------EMPLOYEE Yukarıdaki sorgudan da anlaşılabileceği gibi hangi tablo üzerinde lock var görebilmekteyiz. Kilitler şu şekildede bertaraf edilebilir
  4. 4. Anar Godjaev http://anargodjaev.wordpress.com/ SQL> SELECT sid,serial#,username FROM v$session WHERE type=’USER’; SID SERIAL# USERNAME --------- --------- -----------------------------8 122 SYSTEM 10 23 SCOTT SQL> ALTER SYSTEM KILL SESSION '10,23'; System altered. Bazen kilit işlemleri karşılıklıda olabilmektedir.Bunada deadlock denilmektedir.Şu şekilde olmaktadır.
  5. 5. Anar Godjaev http://anargodjaev.wordpress.com/ Deadlockları izlemek daha kolaydır.Bu yapılan hatanın sonuçları trace fillera yazılır.

×