ORA-29913: error in executing ODCIEXTTABLEOPEN callout
OracleNe demek?
Bir dış tabloya (external table) erişilirken, kaynak dosyanın okunması/ayrıştırılması sırasında hata oluştu. Oracle, dış tablo verilerini almak için çağırdığı erişim sürücüsü (ORACLE_LOADER / ORACLE_DATAPUMP) rutininde başarısız oldu.
Neden olur?
Genellikle DIRECTORY nesnesinin gösterdiği yolda dosyanın bulunmaması, Oracle işletim sistemi kullanıcısının dosya/dizin üzerinde okuma iznine sahip olmaması, log/bad dosyaları için yazma izni olmaması ya da erişim parametrelerindeki (alan ayracı, kayıt biçimi) hatalar. Sıklıkla ORA-29400 ve KUP-04xxx gibi alt hatalarla birlikte gelir.
Nasıl çözülür?
Alt hataları (KUP-xxxx) okuyup asıl nedeni belirleyin. DIRECTORY yolunu ve dosyanın varlığını doğrulayın: SELECT directory_name, directory_path FROM all_directories; Dosya ve dizin üzerinde Oracle OS kullanıcısına okuma, log/bad dizinine yazma izni verin. Dış tablo tanımındaki ACCESS PARAMETERS bölümünü kaynak dosya biçimiyle eşleştirin. Gerekirse DIRECTORY üzerinde READ/WRITE grant kontrolü yapın.
Aynı motorda diğer kayıtlar
- ORA-00600internal error code, arguments: [...]
- ORA-07445exception encountered: core dump
- ORA-01102cannot mount database in EXCLUSIVE mode
- ORA-19804cannot reclaim N bytes disk space from M bytes limit
- ORA-00494enqueue held for too long by 'inst N, osid M'
- ORA-04021timeout occurred while waiting to lock object
- ORA-04061existing state of package/procedure has been invalidated