Exadata ortamındaki veritabanlarında alınan ORA-07445 [kxibFindIndex()+4] hatasının çözümü

12 Eyl by Ahmet Duruöz

Exadata ortamındaki veritabanlarında alınan ORA-07445 [kxibFindIndex()+4] hatasının çözümü

Exadata ortamındaki veritabanlarında paralel delete işlemlerinde bazı bug’lara bağlı olarak ORA-07445 [kxibFindIndex()+4] şeklinde hata alınabilmektedir. 

Hata mesajı aşağıdaki gibidir.

ORA-07445: exception encountered: core dump [kxibFindIndex()+4] [SIGSEGV] [ADDR:0x18] [PC:0x5FAF55E] [Address not mapped to object] []

ORA-07445: istisnayla karşılaşıldı: çekirdek bellek dökümü [kxibFindIndex()+4] [SIGSEGV] [ADDR:0x18] [PC:0x5C14454] [Address not mapped to object] []

Hatanın tam sebebi bilinmemekle birlikte aşağıdaki bug’larda aynı durumlar gözlemlenmektedir.

  • Bug.20804290 RDBMS-11204 (31) EXADATA ORA-07445 [KXIBFINDINDEX()+4] RUNNING UPDATE STATEMENT:
  • Bug.19613373 RDBMS-11203 (33) ORA-7445 [KXIBFINDINDEX()+4] WITH DELETE STATEMENT:,
  • Bug.18990350 RDBMS-11204 (31) ORA-00600 [QERIMROP2] ON 11.2.0.4:
  • Bug.18973328 RDBMS-11204 (33) ORA-07445 [KXIBFINDINDEX()+4] WITH A DELETE STATEMENT:

Çözüm olarak uygulanabilecek bazı yöntemler bulunmaktadır. Bu yöntemlerden herhangi birini uygulayarak sorgunun sorunsuz çalışmasını sağlayabilirsiniz.

  • Sorgudan önce PARALLEL_FORCE_LOCAL parametresini session bazlı TRUE yapıp sorguyu çalıştırabilirsiniz.
    SQL> alter session set PARALLEL_FORCE_LOCAL = TRUE ;
    SQL>-- sorun yaratan sorguyu çalıştırın

     

  • Sorgudan önce DML sorgularının paralel çalışmamasını sağlayın.

     

    SQL> ALTER SESSION DISABLE PARALLEL DML;
    SQL>-- sorun yaratan sorguyu çalıştırın

     

  • DELETE işlemi yapılan tablonun DDL komutunu belirleyin. Sonra tüm indeksleri silin. DELETE işlemini yaptıktan sonra tekrar indeksleri oluşturun.

     

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir