1 2 Previous Next 17 Replies Latest reply on Nov 29, 2011 11:07 AM by Guru Sankar

    Need help about LKM oracle to oracle (Data Pumb)

    ThoNguyen
      Hi !

      I'm using LKM oracle to oracle (Data pumb) to load data from source database ( Platform linux ) to my target database (Windows) . I have an error at step 4 (Create external table on source). This is code :


      create table X380011

      +(+
      +     C1_ID,+
      +     C2_VI_DESC,+
      +     C3_EN_DESC,+
      +     C4_FORMAT+
      +)+
      ORGANIZATION EXTERNAL (
      +     TYPE oracle_datapump+
      +     DEFAULT DIRECTORY dat_dir+
      +     LOCATION ('X380011.exp')+
      +)+
      PARALLEL
      as SELECT     
      +     R313_ITEMS.ID,+
      +     R313_ITEMS.VI_DESC,+
      +     R313_ITEMS.EN_DESC,+
      +     R313_ITEMS.FORMAT+
      from     TCB_DWH.R313_ITEMS   R313_ITEMS
      where     (1=1)

      This is error message :
      ODI-1227: Task SrcSet0 (Loading) fails on the source ORACLE connection 88.
      Caused By: java.sql.SQLException: ORA-29913: error in executing ODCIEXTTABLEOPEN callout
      ORA-29400: data cartridge error
      error opening file C:\Documents and Settings\Administrator/X380011_5686.log

      +     at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:457)+
      +     at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)+
      +     at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:889)+
      +     at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:476)+
      +     at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:204)+
      +     at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:540)+
      +     at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)+
      +     at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1079)+
      +     at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1466)+
      +     at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3752)+
      +     at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3937)+
      +     at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1535)+
      +     at oracle.odi.runtime.agent.execution.sql.SQLCommand.execute(SQLCommand.java:163)+
      +     at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:102)+
      +     at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:1)+
      +     at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)+
      +     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2906)+
      +     at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2609)+
      +     at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:537)+
      +     at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:453)+
      +     at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1740)+
      +     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:338)+
      +     at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:214)+
      +     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:272)+
      +     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:263)+
      +     at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:822)+
      +     at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:123)+
      +     at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)+
      +     at java.lang.Thread.run(Thread.java:662)+


      I have searched in the preceeding step and find some issue .
      At step 1 (Create Oracle directory on SOURCE (My source's platform is linux)) It create a directory on the target :
      create or replace directory dat_dir AS 'C:\Documents and Settings\Administrator'
      At step 2 (Create Oracle directory on TARGET) It do the same with step 1
      create or replace directory dat_dir AS 'C:\Documents and Settings\Administrator'

      And at the step 4 (error) I think it can's read file from diretory. I see an option in LKM oracle to oracle (Data pumb) :
      TEMP_DIR : <default>:<?= java.lang.System.getProperty("user.home") ?> . Is it the solution ?
      Thanks alot

      P/s : I have succeed in loading with dblink or sql .
      Edited by: 876557 on Nov 27, 2011 7:39 PM

      Edited by: 876557 on Nov 27, 2011 7:41 PM
        1 2 Previous Next