26 Ekim 2009 Pazartesi

ORA-00600: internal error code, arguments: [13013], [5001], ...

Merhaba,

Bir diğer Oracle içsel hata kodunu açıklamak istiyorum. Bu hata kodu herhangi bir platform üzerinde oluşabilir ve Oracle 10.2.0.4 "Enterprise" versiyonu için geçerlidir. Bu hatanın sebebi geçersiz konumda bulunan bir indeks olabilir. Başlık ile ilgili eklemek isterim ki İngilizce ve tam kod ile girmemin sebebi arama motorlarında aratılırken daha rahat bulunması ve akabindeki bilginin Türkçe sağlanabilmesi.

Hatanın tam olarak örneğini vermem gerekirse;

ORA-00600: internal error code, arguments: [13013], [5001], [10513], [41961615], [137], [41961615], [17], []

Bu hata kodunun açıklaması ise;

ORA-00600: internal error code, arguments: [13013], [A], [B], [C], [D], [E], [F], []

[A] Argümanı: "Passcount"
[B] Argümanı: Veri Obje Numarası
[C] Argümanı: Güncellenecek satırı içeren DBA blok tablosu (tablespace)
[D] Argümanı: Satır Yuva Numarası
[E] Argümanı: Güncellenmekte olan DBA bloğu (genelde [C] ile aynı oluyor)
[F] Argümanı: Kod

İkinci argüman veri obje kimliği ile ilgili bilgi vermektedir. Bu bilgi ile sorunun kaynağına inilebilir ve hangi objenin 600 hatasına sebep olduğu bulunabilir.

SQL> select object_name, object_type, owner from dba_objects where data_object_id=<[B] Argümanında Raporlanan Sayı>;

OBJECT_NAME OBJECT_TYPE OWNER
ALARM_DEFINITION_ELEMENT TABLE AIRCOM

Yukarıdaki sorgudan probleme sebep olan objenin bir tablo olduğunu algılayabilirsiniz.

Problemin bir tablodan kaynaklandığını gördüğüme göre bu durumu çözebilmek için analiz işlemi yapabiliriz. Ancak 10g ile birlikte desteklenmeyen "analyze table" komutu yerine DBMS_STATS paketini kullanalım;

SQL >EXEC DBMS_STATS.GATHER_TABLE_STATS ('AIRCOM','ALARM_DEFINITION_ELEMENT');

PL/SQL procedure successfully completed.

Çok kritik bir hata sayılmasa da aynı hata kodu ile dönen bir veritabanı blok ya da indeks hatası da alabilirsiniz. Bu durumda indeksi düşürüp yeniden yaratmayı ya da yeniden oluşturmayı deneyebilirsiniz ya da ortada bir blok hatası varsa mutlaka "dbverify" özelliği kullanılmalıdır. dbverify ile bir "datafile"ın sağlamlığını kontrol edebilirsiniz.

Kaynak: Metalink Döküman Numarası: 816784.1

İyi çalışmalar,

Ogan

Hiç yorum yok:

Takip et: @oganozdogan