Ora-29913 Error In Executing Odciexttableopen Callout 11g
Contents |
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this ora-29400: data cartridge error site About Us Learn more about Stack Overflow the company Business Learn more
Ora-29913 Error In Executing Odciexttableopen Callout Ora-29400 Data Cartridge Error Kup-04040
about hiring developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x
Kup-00554: Error Encountered While Parsing Access Parameters
Dismiss Join the Stack Overflow Community Stack Overflow is a community of 6.2 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up sqlplus error
Ora-30653: Reject Limit Reached
on select from external table: ORA-29913: error in executing ODCIEXTTABLEOPEN callout up vote 4 down vote favorite 1 I have setup a simple Oracle external table test that I (alongside a DBA and Unix admin) can't get to work. The following is based on Oracle's External Tables Concepts. The database we're using is 11g. This is the external table definition: drop table emp_load; CREATE ora-29913 error in executing odciexttableopen callout impdp TABLE emp_load (employee_number CHAR(5), employee_dob DATE, employee_last_name CHAR(20), employee_first_name CHAR(15), employee_middle_name CHAR(15), employee_hire_date DATE) ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY defaultdir ACCESS PARAMETERS (RECORDS DELIMITED BY NEWLINE FIELDS (employee_number CHAR(2), employee_dob CHAR(20), employee_last_name CHAR(18), employee_first_name CHAR(11), employee_middle_name CHAR(11), employee_hire_date CHAR(10) date_format DATE mask "mm/dd/yyyy" ) ) LOCATION ('external_table_test.dat') ); This is the contents of "external_table_test.dat": 56november, 15, 1980 baker mary alice 09/01/2004 87december, 20, 1970 roper lisa marie 01/01/1999 I am able to run the script that creates "emp_load" with no issues. I can also describe the table fine. When I attempt "select * from emp_load", I get the following errors: SQL> select * from emp_load; select * from emp_load * ERROR at line 1: ORA-29913: error in executing ODCIEXTTABLEOPEN callout ORA-29400: data cartridge error error opening file /defaultdir/EMP_LOAD_29305.log EDIT 1 oracle has read/write permissions on the directory. EDIT 2 I was able to get passed this error by using the following external table definition: CREATE TABLE emp_load (employee_number CHAR(3), employee_last_name CHAR(20), employee_middle_name CHAR(15), employee_first_name CHAR(15) ) ORGANIZATION EXTERNAL (TYPE ORACLE_LOADER DEFAULT DIRECTORY defaultdir ACCESS PARAMETERS (RECORDS DELIMITED BY NEWLINE BADFILE DHHSMAPSIS:'EMP.BAD' LOGFILE DHHSMAPSIS:'EMP.LOG' FIELDS TERMINATED BY ',' )
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About 29913. 00000 - "error in executing %s callout" Us Learn more about Stack Overflow the company Business Learn more about hiring ora-29400 data cartridge error external table developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the ora-29913 error in executing odciexttablefetch callout during import Stack Overflow Community Stack Overflow is a community of 6.2 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up Oracle 11g External Table error up http://stackoverflow.com/questions/9066191/sqlplus-error-on-select-from-external-table-ora-29913-error-in-executing-odcie vote 0 down vote favorite Im trying to run a simple external table program using oracle 11g on Linux VM. The problem is that i cant query any data from .txt files. Here's my code: CONN / as sysdba; CREATE OR REPLACE DIRECTORY DIR1 AS 'home/oracle/TEMP/X/'; GRANT READ, WRITE ON DIRECTORY DIR1 TO user; CONN user/password; CREATE TABLE gerada ( field1 INT, field2 Varchar2(20) ) ORGANIZATION EXTERNAL http://stackoverflow.com/questions/17744445/oracle-11g-external-table-error ( TYPE ORACLE_LOADER DEFAULT DIRECTORY DIR1 ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE FIELDS TERMINATED BY ';' MISSING FIELD VALUES ARE NULL ) LOCATION ('registros.txt') ) REJECT LIMIT UNLIMITED; --Error starts here. SELECT * FROM gerada; DROP TABLE gerada; DROP DIRECTORY DIR1; Here's the error message: ERROR at line 1: ORA-29913: error in executing ODCIEXTTABLEOPEN callout ORA-29400: data cartridge error error opening file home/oracle/TEMP/X/GERADA_3375.log And thats how registros.txt looks like: 1234;hello world; I've checked my permissions on DIR1 and I do have read/write permissions. Any ideas? database oracle table external share|improve this question asked Jul 19 '13 at 10:57 Diego 1014 do the owner of oracle-process has read/write permissions on DIR1 ? –schurik Jul 19 '13 at 11:02 add a comment| 1 Answer 1 active oldest votes up vote 2 down vote accepted ORA-29913 and ORA-29400 mean that you're unable to access to directory and/or file. Looking carefully at the CREATE DIRECTORY command it looks like the path you're using may be mis-formatted. Try putting a forward slash at the start of the path and removing the one at the end of the path when creating the directory - e.g. CREATE OR REPLACE DIRECTORY
last couple of years - which means questions about Oracle error ORA-29913 have also become more popular. So what do you do about something like this: SQL> select https://jonathanlewis.wordpress.com/2011/02/15/ora-29913/ * from extern; select * from extern * ERROR at line 1: ORA-29913: error in executing ODCIEXTTABLEOPEN callout ORA-29400: data cartridge error KUP-04063: unable to open log file EXTERN_17063.log OS error No such file or directory ORA-06512: at "SYS.ORACLE_LOADER", line 19 The commonest reason for ORA-29913 is simply that Oracle can't open the operating system files it's supposed to use. This error in may be the input data files or the various output files (the "bad", "discard" and "log" files) that it needs to produce. The reason for failure may be that the directory doesn't exist, or that the Oracle executable doesn't have permission to access the directory appropriately, or that the file itself doesn't have the necessary permissions. In the example above it looks error in executing as if Oracle can't write to the required log file which, as the "OS error" line suggests, may be a problem with the (unspecified) directory or with the named file (EXTERN_17063.log) in that directory. So, a few quick checks when you see this error when trying to work with external tables: Check your ‘create directory … ‘ statements Check that the directories have appropriate permission for Oracle to read and write to them Check that there isn't a problem with existing file permissions Be particularly careful about permissions and ownership of network directories I have a piece of framework code for external tables, and its most important feature is catering for all the output files (that I am aware of), and separating the directories for the inputs and the outputs. define m_filename = 'd11g_ora_1820.trc' define m_file_dir = 'C:\oracle\diag\rdbms\d11g\d11g\trace' define m_log_dir = 'c:\working' drop table ext; create or replace directory ext_tab as '&m_file_dir'; create or replace directory log_dir as '&m_log_dir'; create table ext(text_line varchar(4000)) organization external ( type oracle_loader default directory ext_tab access parameters ( records delimited by newline discardfile log_dir:'read_trace_dis.txt' badfile log_dir:'read_trace_ba