26 Ekim 2009 Pazartesi
ORA-00600: internal error code, arguments: [13013], [5001], ...
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
6 Ekim 2009 Salı
ORA-07445 "CORE DUMP"
Merhaba,
Bir Oracle hata kodu olan ORA-07445 çok fazla karşılaşılmayan bir işletim sistemi hatasıdır ve Oracle'ın alert.log dosyasında yazdırılır.
Hatanın çıktısı aşağıdaki şekilde olabilir;
Errors in file /opt/oracle/product/10.2.0/db_1/admin/opttest/bdump/opttest_ora_28677.trc:
ORA-07445: exception encountered: core dump [$cold_evacpy()+1328] [SIGILL] [Register NAT consumption] [0x40000000038FBC40] [] []
Bildiğimiz üzere core dump'ın sağındaki argümanlar, Oracle destek mühendislerinin probleme daha hızlı ulaşabilmeleri içindir. Eğer sistemde yukarıdaki hata oluşmuş ise mutlaka ve mutlaka Oracle Metalink'te servis talebi açılması gerekmektedir. Oracle destek mühendisleri önermedikçe bu durumu düzeltmek için Oracle'ın internal parametrelerini değiştirmemelisiniz!
Bu hata bir çeşit exception olduğu için SR açmanız gerekmektedir. Genel bir hata değildir.
Ogan