Os error in external tables in oracle 9i

hi, iam geting the following err when selecting the external table.
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04063: unable to open log file log.log
OS error The system cannot find the file specified.
ORA-06512: at "SYS.ORACLE_LOADER", line 14
ORA-06512: at line 1
my script for the external table is as follows
CREATE OR REPLACE DIRECTORY EXT_data AS 'f:\kindle\daily\zippedfiles\';
CREATE OR REPLACE DIRECTORY EXT_log AS 'd:\2.fin2004\1.sqlloader\3.logentries\thd0\log';
CREATE OR REPLACE DIRECTORY EXT_bad AS 'd:\2.fin2004\1.sqlloader\3.logentries\thd0\bad';
grant read, write on directory EXT_data to fincon1;
grant read, write on directory EXT_log to fincon1;
grant read, write on directory EXT_bad to fincon1;
CREATE TABLE THD0_DATA1
STATUS_CHARACTER               char(1),
ACCOUNT_NUMBER                    VARchar(13),
NODEF1                         VARchar(7),
TRANSACTION_COUNTER               VARCHAR(5)
ORGANIZATION EXTERNAL
TYPE ORACLE_LOADER
DEFAULT DIRECTORY ext_data
ACCESS PARAMETERS
     RECORDS DELIMITED BY '@'
     badfile ext_bad:'bad.bad'
     logfile ext_log:'log.log'
FIELDs
STATUS_CHARACTER          ,
ACCOUNT_NUMBER          ,
NODEF1               ,
TRANSACTION_COUNTER     
LOCATION ('thd0data.dat')
REJECT LIMIT UNLIMITED
how to rectify the above error.
thanks and regards
S. Djeanthi

If you have oracle metalink support then refer to Note:150737.1. If no support, i can paste it send to your email id.

Similar Messages

  • How to overwrite a log and bad file in external table in oracle 10g

    Hi,
    I have used external table in oracle 10g.whenever use select query in external table orace internally create one log file in specified directory,
    but this log file is growing.How can i overwrite the log file(old to replace with new).I need overwrite a log and bad file in external table.
    kindly give the solutions.
    By
    Siva

    I don't believe that is possible with the LOGFILE clause, but it may be with the BADFILE clause. Here is an excerpt from the documentation :
    The LOGFILE clause names the file that contains messages generated by the external tables utility while it was accessing data in the datafile. If a log file already exists by the same name, the access driver reopens that log file and appends new log information to the end. This is different from bad files and discard files, which overwrite any existing file. NOLOGFILE is used to prevent creation of a log file.
    If you specify LOGFILE, you must specify a filename or you will receive an error.
    If neither LOGFILE nor NOLOGFILE is specified, the default is to create a log file. The name of the file will be the table name followed by _%p and it will have an extension of .log.

  • OWB Mapping involving Oracle External Table to  Oracle Target Table.

    Hi All,
    I created a mapping which involves External Table as source & oracle table as target.
    Following were steps followed.
    1> Created Directory & External Table on oracle server
    2> Attached Text file with ',' delimiter to the External Table.
    3> Imported the External Table in source module.
    4> Created mapping which involves External Table as Source & Oracle Table as Target.
    5> Validated & Generated Mapping in OWB.
    6> Deployed the mapping in Deployment Manager.
    7> Executed the mapping in Deployment Manager.
    Execution Results: Completed with errors.
    No error message is displayed, I am wondering where can I get more information about the error message?
    Thanks in Advance.
    Regards,
    Vidyanand

    Hi,
    Look in the logfile <your runtime owner>.log.* under the directory <owb home>/owb/log
    thanks

  • Why do we really use External tables in Oracle?

    I looking why do we exactly use external tables in oracle and if you can help me please give me a scenario also.

    Before External tables (long ago in a galaxy far, far away) we would have had to load the text file into the database, most likely using SQL Loader before we could 'read it'.
    External tables allow us to define the text file in the Create table syntax and read that file over and over via SQL from the databse - In summary, I can access that text file (in parallel = fast) without loading it into my database, I just saved a step in my integration. I can also swap the file for a new file (same definition) and auto-magically access by new content.
    Here is a good link with a scenario for you :
    External Tables: An Introduction – All Things Oracle
    Of course with ODI - the complexity of SQL Loader control files is hidden, we just define the text file, use the LKM File to SQL and load it in, but where is the fun in that?
    Best check with your Solution Architect about what the best practises are for this in your organization.
    Rgrds
    Alastair

  • How to register External table into Oracle APPS?

    hi
    can we register the External table in Oracle apps like SQL Loader?
    So if yes, please share the steps.
    Thx

    781261 wrote:
    okk..
    But i mean , we create Executable with Method type SQL Loader, to register in Oracle APPS.
    SO like what would be Executable Method for External Table?
    or can we call the External table in Procedure?
    ThanxI don't know oracle APPS (and this isn't the APPS forum), but an external table is just like another table. It's created once and then used by queries to fetch data. You would reference it in your applications just the same as you would any other table.

  • Error when i fetch the external table in oracle 9i ?

    External table is created.
    But, when i select the external table , it is thrwing the following error.
    I have given READ and WRITE permission to the oracle directory.
    And, i having the flat file with comma delimited data.
    SQL> create table mohan_ext (
    2 EMPNO NUMBER(5) ,
    3 JOB VARCHAR2(15),
    4 SALARY NUMBER(8,2),
    5 MGR NUMBER(5) ,
    6 HIREDATE DATE,
    7 DEPTNO NUMBER(5)
    8 )
    9 organization external
    10 (type oracle_loader
    11 default directory ext_dir
    12 access parameters (records delimited by newline
    13 fields terminated by ','
    14 missing field values are null
    15 (
    16 EMPNO NUMBER(5:5) ,
    17 JOB VARCHAR2(15:15),
    18 SALARY NUMBER(8,2:8,2),
    19 MGR NUMBER(5:5) ,
    20 HIREDATE DATE,
    21 DEPTNO NUMBER(5:5)
    22 )
    23 )
    24 LOCATION('flat.txt'));
    Table created.
    SQL> select * from mohan_ext;
    select * from mohan_ext
    ERROR at line 1:
    ORA-29913: error in executing ODCIEXTTABLEOPEN callout
    ORA-29400: data cartridge error
    KUP-00554: error encountered while parsing access parameters
    KUP-01005: syntax error: found "identifier": expecting one of: "comma, char, date, defaultif,
    decimal, double, float, integer, (, nullif, oracle_date, oracle_number, position, raw, recnum, ),
    unsigned, varrawc, varchar, varraw, varcharc, zoned"
    KUP-01008: the bad identifier was: NUMBER
    KUP-01007: at line 5 column 11
    ORA-06512: at "SYS.ORACLE_LOADER", line 14
    ORA-06512: at line 1
    SQL>

    You may need to scrub some of the data prior to using it as an external table. For instance, ensure that you do not have any extra commas lingering around somewhere within the data as this could cause mapping issues with the data. I've used this process hundreds of times, and more often than not there is an extra comma somewhere that is causing the issue.

  • Create a External Table in Oracle 10g:== ERROR: KUP-01005

    Hello.
    I have a problem working with external tables, hope someone can help me with this problem. Thanks.
    This is the code of the external table
    ========================
    CREATE TABLE SIAFI.RNP_IDS
    NUMERO_ID VARCHAR2(30 BYTE),
    PRIMER_NOMBRE VARCHAR2(300 BYTE),
    SEGUNDO_NOMBRE VARCHAR2(300 BYTE),
    APELLIDO_PATERNO VARCHAR2(300 BYTE),
    APELLIDO_MATERNO VARCHAR2(300 BYTE),
    DEPARTAMENTO VARCHAR2(300 BYTE),
    CORRELATIVO VARCHAR2(300 BYTE)
    ORGANIZATION EXTERNAL
    ( TYPE ORACLE_LOADER
    DEFAULT DIRECTORY SEG_DIRECTORIO
    ACCESS PARAMETERS
    ( records delimited by NEWLINE
    badfile SEG_DIRECTORIO:'censo.bad'
    logfile SEG_DIRECTORIO:'censo.log'
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' and '"'LDRTRIM
    REJECT ROWS WITH ALL NULL FIELDS
    (NUMERO_ID VARCHAR(30) NULLIF NUMERO_ID=BLANKS
    TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' and '"'LDRTRIM,
    PRIMER_NOMBRE VARCHAR(300) NULLIF PRIMER_NOMBRE=BLANKS
    TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' and '"'LDRTRIM,
    SEGUNDO_NOMBRE VARCHAR(300) NULLIF SEGUNDO_NOMBRE=BLANKS
    TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' and '"'LDRTRIM,
    APELLIDO_PATERNO VARCHAR(300) NULLIF APELLIDO_PATERNO=BLANKS
    TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' and '"'LDRTRIM,
    APELLIDO_MATERNO VARCHAR(300) NULLIF APELLIDO_MATERNO=BLANKS
    TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' and '"'LDRTRIM,
    DEPARTAMENTO VARCHAR(300) NULLIF DEPARTAMENTO=BLANKS
    TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' and '"'LDRTRIM,
    CORRELATIVO VARCHAR(300) NULLIF CORRELATIVO=BLANKS
    TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' and '"'LDRTRIM,
    LOCATION (SEG_DIRECTORIO:'censo.txt')
    REJECT LIMIT UNLIMITED
    NOPARALLEL
    NOMONITORING;
    When executing the stament select from RNP_IDS* it returns the following error message:
    ===========================================================
    ORA-29913: error in executing ODCIEXTTABLEOPEN callout
    ORA-29400: data cartridge error
    KUP-00554: error encountered while parsing access parameters
    KUP-01005: syntax error: found "terminated": expecting one of: "and, comma, defaultif, not, nullif, or, )"
    KUP-01007: at line 6 column 56
    ORA-06512: at "SYS.ORACLE_LOADER", line 19
    ORA-06512: at line 1
    This is the example of the file I'm using:
    ==========================
    "0","DOUGLAS","AUGUSTO","ABBOTT","","1","3672097"
    "0101190600010","MARIA","URBANA","GOMEZ","URBINA","2","1949122"
    "0101190600076","ENRIQUETA","","GARCIA","","2","1162025"
    "0101190800106","LUCILA","","FLORES","","2","1658013"

    Hi
    Here we go...
    I reduced the 300 length of varcahr t o30 for testing purpose...
    SQL> CREATE TABLE RNP_IDS
    2 (
    3 NUMERO_ID VARCHAR2(30),
    4 PRIMER_NOMBRE VARCHAR2(30),
    5 SEGUNDO_NOMBRE VARCHAR2(30),
    6 APELLIDO_PATERNO VARCHAR2(30),
    7 APELLIDO_MATERNO VARCHAR2(30),
    8 DEPARTAMENTO VARCHAR2(30),
    9 CORRELATIVO VARCHAR2(30)
    10 )
    11 ORGANIZATION EXTERNAL
    12 ( TYPE ORACLE_LOADER
    13 DEFAULT DIRECTORY LOG
    14 ACCESS PARAMETERS
    15 ( records delimited by NEWLINE
    16 badfile LOG:'censo.bad'
    17 logfile LOg:'censo.log'
    18 FIELDS TERMINATED BY ','
    19 OPTIONALLY ENCLOSED BY '"' and '"'LDRTRIM
    20 REJECT ROWS WITH ALL NULL FIELDS
    21 (
    22 NUMERO_ID ,
    23 PRIMER_NOMBRE ,
    24 SEGUNDO_NOMBRE ,
    25 APELLIDO_PATERNO,
    26 APELLIDO_MATERNO ,
    27 DEPARTAMENTO,
    28 CORRELATIVO
    29 )
    30 )
    31 LOCATION ('sample1.txt')
    32 )
    33 REJECT LIMIT UNLIMITED
    34 NOPARALLEL
    35 NOMONITORING;
    Table created.
    SQL> desc rnp_ids
    Name Null? Type
    NUMERO_ID VARCHAR2(30)
    PRIMER_NOMBRE VARCHAR2(30)
    SEGUNDO_NOMBRE VARCHAR2(30)
    APELLIDO_PATERNO VARCHAR2(30)
    APELLIDO_MATERNO VARCHAR2(30)
    DEPARTAMENTO VARCHAR2(30)
    CORRELATIVO VARCHAR2(30)
    SQL> select numero_id from rnp_ids;
    NUMERO_ID
    0
    0101190600010
    0101190600076
    0101190800106
    - Pavan Kumar N

  • External tables in oracle 8i

    Hi,
    I am working in Oracle 8i. I need to use Oracle 8i External Table to load data in the database. But I am getting the following error
    ORA-00922: Missing or Invalid Option
    The snippet which I used is as follows:
    create table ext_table_csv (
    a NUMBER,
    n NUMBER,
    m NUMBER
    organization external
    type oracle_loader
    default directory swami
    access parameters (
    records delimited by newline
    fields terminated by ';'
    missing field values are null
    location ('sample.txt')
    PARALLEL
    reject limit 0
    The input file data is
    018307;20080421;123457
    018307;20080421;123457
    Please let me know how this can be done in Oracle 8i and I have to use Oracle Loader only.

    Its a new feature introduced in Oracle 9i.
    http://download.oracle.com/docs/cd/A91202_01/901_doc/server.901/a90120/ch2_feat.htm#58871
    For 8i, SQL*Loader is the only option.

  • External table in Oracle 10g and Windows server 2003 problem

    I'm having a problem accessing an external table in an Oracle 10g and Windows 2003 server environment. The disk is remote (mapped) to the server. It's the usual access errors, kup-04001 or kup-04063.
    I have the [seemingly] exact same setup in an Oracle 9i and Windows 2000 server environment which works perfectly. Services run as local SYSTEM and SYSTEM has full permissions on the disk. Directories exist and so do the permissions to the directories.
    In the Oracle 10g and Windows 2003 environment, services run as local SYSTEM and SYSTEM has full permissions on the mapped disk. Directories exist and so do the permissions to the directories.
    This obviously effects mappings, deployments, etc.
    Does anyone know if something changed in either the db or the os?
    Thank you,
    Michael

    Thank you for your reply.
    Your proposal is the standard solution. As a matter of fact, that's how it is on my "old" system. Server "A" Oracle services are started by SYSTEM. Server "B" Oracle services are started by SYSTEM and is where the flat files reside. SYSTEM has full permissions on a disk local to Server "B". Database directoriies defined on Server "A" point to Server "B" remote disk. External Tables on Server "A" are defined with directories that point to Server "B" remote (mapped) disk. I have no problems with this configuration.
    I'm having a problem acheiving the same configuration with Oracle 10g and Windows 2003. I guess I'm baffled over the fact it isn't working the same way as my "old" environment. Why shouldn't it? Oracle (and you) want me to start services as a specific user. It shouldn't have to be that way unless something changed in the way the database makes calls to the os or if Microsoft slipped something in with one of it's numerous security patches.

  • Unix permission problem for external table in oracle 10g, sun solaris

    Hello All,
    I'm facing a problem in accessing external table which has stumped me a bit.
    What I'm looking for is to use a external table with restricted permission to Others(770) on unix.
    Would appreciate if someone helps me out here.
    Here are the steps:
    1.create directory ext_tab_dir1 as '/home/ravi/test'
    2.grant read,write on directory ext_tab_dir1 to scott
    3.CREATE TABLE scott.emp_load1(employee_number CHAR(5))
    ORGANIZATION EXTERNAL (
    type oracle_loader
    default directory ext_tab_dir1
    access parameters (
    records delimited by newline
    fields terminated by ' '
    optionally enclosed by '"'
    missing field values are null
    location ('info.dat')
    Now I have added unix user oracle to unix group myDbGroup and provided myDbGroup read/write/exec permission on directory /home/ravi/test.
    info.dat has been placed in /home/ravi/test.
    #pwd
    /home/ravi
    #ls -l
    drwxrwx--- 2 ravi myDbGroup 512 Mar 7 17:35 test
    I have manually logged in as user oracle and successfully created a sample file in /home/ravi/test.
    -rwxrwx--- 1 ravi myDbGroup 13 Mar 7 17:33 info.dat
    -rw-r--r-- 1 oracle oinstall 0 Mar 7 18:05 sampleFile
    I then connect to the db using sqlplus as ravi and do a
    #select * from scott.emp_load1
    I get the following error
    ERROR at line 1:
    ORA-29913: error in executing ODCIEXTTABLEOPEN callout
    ORA-29400: data cartridge error
    KUP-04063: unable to open log file emp_load1_18567.log
    OS error Permission denied
    ORA-06512: at "SYS.ORACLE_LOADER", line 19
    After this, I gave full permission to /home/ravi/test
    drwxrwxrwx 2 ravi myDbGroup 512 Mar 7 17:35 test
    #select * from scott.emp_load1
    And this was successful.
    It created a log file in /home/ravi/test
    -rwxrwx--- 1 ravi myDbGroup 13 Mar 7 17:33 info.dat
    -rw-r--r-- 1 oracle oinstall 0 Mar 7 18:05 sampleFile
    -rw-r--r-- 1 oracle oinstall 0 Mar 7 18:05 emp_load1_18567.log
    Now what stumped me is the owner and group owner of the file emp_load1_18567.log.
    It is same as the sampleFile which I created manually!!
    From this it can be deducted oracle is not using user id oracle while reading/writing to the unix directory but somehow assigning user id oracle as owner to the log file at the end.
    If someone has encountered this problem earlier or has some info about this...pls share.
    Regards,
    Ravinandan

    Thanks for the reply.
    I have earlier checked this with NOLOGFILE option.
    But no luck.
    I would like to add one more detail(which I missed earlier) about the problem.
    If I give 750 access to /home/ravi(That is read/exec to Group and none perm to Others),
    I will get the same error(KUP-04063: unable to open log file emp_load1_18567.log).
    This obviously means oracle is not even able to access the directory(Although unix user oracle has access via the group perms).

  • External table in Oracle 10g and Windows server 2003

    I'm having a problem accessing an external table in an Oracle 10g and Windows 2003 server environment. The disk is remote (mapped) to the server. It's the usual access errors, kup-04001 or kup-04063.
    I have the [seemingly] exact same setup in an Oracle 9i and Windows 2000 server environment which works perfectly. Services run as local SYSTEM and SYSTEM has full permissions on the disk. Directories exist and so do the permissions to the directories.
    In the Oracle 10g and Windows 2003 environment, services run as local SYSTEM and SYSTEM has full permissions on the mapped disk. Directories exist and so do the permissions to the directories.
    Does anyone know if something changed in either the db or the os?
    Thank you,
    Michael

    Version 9.2.04.
    Server "A" Oracle services are started by SYSTEM. Server "B" Oracle services are started by SYSTEM and is where the flat files reside. SYSTEM has full permissions on a disk local to Server "B". Database directoriies defined on Server "A" point to Server "B" remote disk. External Tables on Server "A" are defined with directories that point to Server "B" remote (mapped) disk. I have no problems with this configuration.
    I'm having a problem acheiving the same configuration with Oracle 10g and Windows 2003. I guess I'm baffled over the fact it isn't working the same way as my "old" environment. Why shouldn't it? Oracle (and you) want me to start services as a specific user. It shouldn't have to be that way unless something changed in the way the database makes calls to the os or if Microsoft slipped something in with one of it's numerous security patches.

  • Setting reject_limit error in external tables

    I am setting the reject_limit for an external table but it is giving this error.
    My access data in csv i am importing into oracle using external tables.
    Please suggest how i can set the reject limit
    thnak you
    SQL> ALTER TABLE AIRFIELD_TEMP SET REJECT_LIMIT 100;
    ALTER TABLE AIRFIELD_TEMP SET REJECT_LIMIT 100
    ERROR at line 1:
    ORA-02000: missing UNUSED keyword

    Remove the "SET" keyword.

  • KUP-01005 error in external table definition

    Hello,
    I'm facing an issue that I found it has been rose in the past but that never had an answer.
    I'm using an external table to load a file on the database.
    This file format is CSV (actually using ";" as delimiter) and it has header and trailer records that has the same format of data records, but contain field names in it.
    E.g.:
    FIELD_NAME1;FIELD_NAME2;...
    I want to discard this records (for the header is easy, I can use SKIP 1 parameter) and the way I was trying to do this was using the following condition:
    LOAD WHEN ( FIELD_NAME1 != "FIELD_NAME1" )
    The problem arises when a record has the first field empty (hence NULL): the record is discarded.
    Therefore I tried modifing the condition in this way:
    LOAD WHEN ( ( FIELD_NAME1 != "FIELD_NAME1" ) OR ( ( FIELD_NAME1 = NULL ) )
    but in this case I get the following error:
    KUP-01005 : syntax error : found "null": expecting on of "blanks, double-quoted-string, hexprefix, identifier, single-quoted-string"
    I've doublechecked Oracle reference and the NULL keyword is admitted - morover it is stated that a NULL value can be tested only against NULL value, otherwise the comparison returns false.
    Can anyone help me solving this issue? Is it a bug in SQLLOADER Driver used by External Tables or an error in Oracle Reference?
    Regards

    It's an other option that I've already tried, but it doesn't work - and it is correct because in External Table statement I've specified to trim fields (LRTRIM), so there's no fields containing blanks (they're simply empty).
    However, my main concern is that I tried to use a statement that should be correct - according to Oracle reference.
    Instead I get an error regarding the syntax of the statement...
    I think that I can workaround this problem - but it is a workaround, not a real solution... :-|

  • ORA-06502 error with external table having long records

    I'm getting a strange error with the oci driver that I don't get with the thin driver.
    The basic situation is that we using external tables and both the oci and thin drivers have been working until we tested with a table that had longer records than the previous tables. The new table has 1800 byte records.
    The thin driver still works fine with the new table. However, the oci driver generates the following error with the new table:
    ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    I suspect that with oci driver the oci DLLs are reading the external file and the DLLs can't handle the longer record length.
    Particulars
    - Oracle DB Server is 10.2.0.1 on SunOS 5.9
    - OCI Instant Client instantclient_10_2 on Windows XP
    - OCI client code from DB server installation running on DB server
    - Works with thin driver from Windows XP and on DB server machine for all record lengths
    - Works with both OCI drivers for records < 1800 bytes (don't know actual limit)
    - Fails with both OCI drivers for records = 1800 bytes.
    Does anyone out there have any thoughts.
    Thanks in advance.

    Your access parameters are in the wrong order. External tables are a bit fussy like that. Refer to the access_parameters section in the Utilities manual and follow the order there. From memory it will go something like this:
    RECORDS DELIMITED...
    LOG/BAD/DISCARDFILE...
    FIELDS TERMINATED...LDRTRIM
    MISSING FIELD VALUES...
       fields...
    )Regards...

  • Error while importing tables from oracle database

    Hi
    I am getting the following error when i am trying to import table from oracle database.
    my operating system is windows and my database is oracle.
    [nQSError: 16001]ODBC error state: IM004 code:0 message:
    [Microsoft][ODBC Driver Manager] Driver`s SQLAllocHandle on SQL_HANDLE_ENV failed.
    please help me in resolving this issue.
    Thanks and Regards,
    Raj

    Hi Madan,
    I have done migration Discoverer Admin EUL Layer into OBIEE repository using below methodology.
    Navigate to the <installdrive>\OracleBI\server\Bin directory. There are two important files in this directory: the migration assistant executable file named MigrateEUL.exe and a properties configuration file named MigrationConfig.properties.
    Could you please help me how to migrate discoverer plus workbooks and worksheets into OBIEE Answers?
    go through below link, It will show navigation steps for migrating of EUL from Discoverer to OBIEE.But i need migration of workbooks and worksheets from Discoverer into OBIEE Answers.
    http://www.oracle.com/technology/obe/obe_bi/discoverer/discoverer_1012/discomigration/migrate_disco_biee.htm
    This is very great full help to me …
    Advance thanks for your suggestions.
    Regards
    Duraga Prasad.

Maybe you are looking for