ORA-29913: error in executing ODCIEXTTABLEOPEN callout (error al ejecutar el callout ODCIEXTTABLEOPEN)
Oracle¿Qué significa?
Se produjo un error al leer/analizar el archivo de origen al acceder a una tabla externa. Oracle falló en la rutina del access driver (ORACLE_LOADER / ORACLE_DATAPUMP) a la que llama para obtener los datos de la tabla externa.
¿Por qué ocurre?
Normalmente el archivo no está en la ruta a la que apunta el objeto DIRECTORY, el usuario del SO de Oracle no tiene permiso de lectura sobre el archivo/directorio, no hay permiso de escritura para los archivos log/bad, o los parámetros de acceso (delimitador de campo, formato de registro) son incorrectos. Suele ir acompañado de suberrores como ORA-29400 y KUP-04xxx.
Cómo solucionarlo
Lea los suberrores (KUP-xxxx) para determinar la causa raíz. Verifique la ruta del DIRECTORY y que el archivo exista: SELECT directory_name, directory_path FROM all_directories; Conceda al usuario del SO de Oracle permiso de lectura sobre el archivo y el directorio, y permiso de escritura sobre el directorio de log/bad. Haga coincidir la sección ACCESS PARAMETERS de la definición de la tabla externa con el formato del archivo de origen. Si es necesario, revise los grants READ/WRITE sobre el DIRECTORY.
Más entradas de este motor
- 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 (no se pueden recuperar N bytes de espacio en disco del límite de M bytes)
- ORA-00494enqueue held for too long by 'inst N, osid M' (enqueue retenido demasiado tiempo)
- ORA-04021timeout occurred while waiting to lock object (timeout al esperar el bloqueo de un objeto)
- ORA-04061existing state of package/procedure has been invalidated (se invalidó el estado existente del package/procedimiento)