Sqlldr Issue v:oracle10g

Hi I am trying to user sqlldr with my following code,
sqlldr sqlplus username/password@server control='D:\Folder_name\loader.ctl'
loader.ctl
load data
infile 'sample.csv'
into table_test
fields terminated by "," skip 1 optionally enclosed by '"'          
( TABLE_NAME,ARCHIVE_COUNT,ARCHIVE_DATE
sample.csv
TABLE_NAME,COUNT,DATE
ARCHIVE.ALLOC_ORDER_RELEASE_D_DMP,31083,4-Mar-11
ARCHIVE.ALLOCATION_BASE_DMP,15287,4-Mar-11
ARCHIVE.ALLOCATION_DMP,15840,4-Mar-11
ARCHIVE.APPOINTMENT_DMP,1494,5-Mar-11
ARCHIVE.APPOINTMENT_DMP,1774,3-Mar-11
ARCHIVE.APPOINTMENT_DMP,2848,26-Feb-11
table table_test
TABLE_NAME     VARCHAR2(50 BYTE)
ARCH_COUNT     VARCHAR2(50 BYTE)
ARCH_DATE     VARCHAR2(50 BYTE)
BUt I am getting the folling error..... Please help
LRM-00112: multiple values not allowed for parameter 'control'
SQL*Loader: Release 9.0.1.5.0 - Production on Fri Feb 22 16:35:18 2013
(c) Copyright 2001 Oracle Corporation. All rights reserved.
SQL*Loader-100: Syntax error on command-line
Thanks in Advance....

883279 wrote:
Hi I am trying to user sqlldr with my following code,
sqlldr sqlplus username/password@server control='D:\Folder_name\loader.ctl'In your script, do you actually have the word "sqlplus" ?
That is not required.. It should be
sqlldr username/password@server control='D:\Folder_name\loader.ctl'

Similar Messages

  • Parallel sqlldr issue with 10gR2

    I have devised a cool process for loading very large flat files into an Oracle database using a multi threaded parallel sqlldr process.
    Background: I could not use direct path loads due to a one or two issues that simply eliminated it as an option. Using SKIP and LOAD, I launch 5 distinct sqlldr jobs that each load a different portion of the same file. This exceeded my expectations and in some instances I rivaled direct path load times.
    This worked very well in 9iR2 but when upgrading to 10gR2 in both Solaris and AIX, sqlldr could no longer compute correctly using SKIP values greater than 0 and LOAD values greater than 0.
    Any thoughts?

    interesting ...
    you sound like an expert w/ Oracle 9.2 sqlldr, no thoughts to remedy your specific issue.
    10g is a "brand-new product" the data pump enhancements are so pervasive you may want to take a look if unable to "migrate your 9.2 approach to 10g. expdb, impdb.
    ie. support for "fine grained" object selection, CONTENT, INCLUDE, EXCLUDE,
    Parallelism, external tables, append to populated tables, etc.
    I have devised a cool process for loading very large
    flat files into an Oracle database using a multi
    threaded parallel sqlldr process.
    Background: I could not use direct path loads due to
    a one or two issues that simply eliminated it as an
    option. Using SKIP and LOAD, I launch 5 distinct
    sqlldr jobs that each load a different portion of the
    same file. This exceeded my expectations and in some
    instances I rivaled direct path load times.
    This worked very well in 9iR2 but when upgrading to
    10gR2 in both Solaris and AIX, sqlldr could no longer
    compute correctly using SKIP values greater than 0
    and LOAD values greater than 0.
    Any thoughts?

  • SQLLDR issue with csv file

    Hi All,
    I have a table with the following columns
    SYSTEM_SOURCE VARCHAR
    NATIONAL_IDENTIFIER VARCHAR
    HOURS NUMBER
    EARNING_CODE VARCHAR
    PAYROLL_NAME VARCHAR
    COST_CENTER VARCHAR
    BRAND VARCHAR
    WEEK_NUMBER NUMBER
    AMOUNT NUMBER
    STATUS VARCHAR
    DETAIL_FLAG VARCHAR
    My sqlldr script is as follows:
    LOAD DATA
    INFILE *
    APPEND INTO TABLE XXARG.XXARG_HR_TIME_SUMMARY_STG
    fields terminated by ","
    TRAILING NULLCOLS
    SYSTEM_SOURCE CONSTANT 'RTI'
    ,NATIONAL_IDENTIFIER CHAR terminated by "," "substr(REPLACE(:NATIONAL_IDENTIFIER,'TC#'),1,3) || '-' || substr(REPLACE(:NATIONAL_IDENTIFIER,'TC#'),4,2) || '-' || substr(REPLACE(:NATIONAL_IDENTIFIER,'TC#'),6,4)"
    ,HOURS DECIMAL EXTERNAL terminated by "," NULLIF (HOURS=BLANKS)
    ,EARNING_CODE CHAR terminated by "," "trim(:EARNING_CODE)"
    ,PAYROLL_NAME CHAR terminated by ","
    ,COST_CENTER CHAR terminated by "," "'01'|| LPAD(TRIM(REPLACE(:COST_CENTER,'a')),5,'0')"
    ,BRAND CONSTANT 'ARG'
    ,WEEK_NUMBER DECIMAL EXTERNAL
    ,AMOUNT DECIMAL EXTERNAL NULLIF (AMOUNT=BLANKS)
    ,STATUS CONSTANT 'U'
    ,DETAIL_FLAG CONSTANT 'N'
    The data file is as follows:
    999999999 , 35.416, REG, RNO , 07157, 1, ,
    999999999 , 34.549, REG, RNO , 07157, 2, ,
    999999999 , , BON, RNO , 07157, 2, 25.00
    When I run sqlldr from my desktop (sqlldr 9i), it works fine. However when I run the sqlldr from the server (unix box), it fails for row 3
    Record 3: Rejected - Error on table XXARG.XXARG_HR_TIME_SUMMARY_STG, column AMOUNT.
    ORA-01722: invalid number
    If I put a ',' at the end of line 3, it works fine on the server as well. Appreciate your help in resolving this issue.
    Thanks
    Venky

    What is the full database version (I suspect 10g+) ? In your control file, you have specified
    >
    fields terminated by ","
    >
    yet your last field in the third row does not have this delimiter. 9i may have been forgiving and used the CR/LF as a separator, but the database version needs the delimiter.
    HTH
    Srini

  • Auto-startup issues for Oracle10g

    Does Oracle10g automatic startup have know problems running on MS Win2003?
    We had problems with Oracle8i R8.1.6.x with MS Win2000 and MS patch KB835732 halting Oracle automatic startup.
    thanks,
    Bruce

    check whether the value for the Registry entry ORA_<dbname>_AUTOSTART is set to TRUE.
    - Suresh.A

  • Sqlldr question

    hi all,
    why would sqlldr issue the following error mesages:
    SQL*Loader-500: Unable to oen file (C:\oratest\20080318.dat)
    SQL*Loader-503: file not found
    SQL*Loader-509: System error: The system cannot find the file specified.
    SQL-Loader-2026: the load was aborted because SQL Loader cannot continue
    when all I wanted to do is upload a file that is called 20080318.
    So, the path would be C:\oratest\2008318
    Do I really need an extesion?
    I see that any name I choose for the file, if I don't specify an extension, the errors above will be alway about not being able to find "whateverFileName.DAT" so by default it is looking for a .DAT file. Is there any way to avoid this? I don't want to be forced to stick extensions for all my files.
    Thanks,
    kowalsky

    Sorry for the confusion,
    load data
    infile 'C:\oratest\20080318'
    BADFILE 'c:\oratest\badsyno.txt'
    APPEND
    into table synotest
    fields terminated by "|" optionally enclosed by '"'          
    (id4, cityname, maxtemp, mintemp, precip DEFAULTIF(precip = "TR") , sog)
    My problem is that if I leave the control file as it is, sqlldr will issue the error messages from my first post. It seems if I leave the file without extension it will always look for 20080318.dat - and obviously it is not going to find it, since my file is called 20080318.
    On the other hand, if I change the file name to 20080318.txt or 20080318.dat, then even if I leave the infile with C:\oratest\20080318 it will work just fine. So, it seems I need some extension in the file's name.
    My question is can I avoid doing this? I have lots of files and I wouldn't want to go and add extension to them, and somehow I guess this can be done with some trick in the control file ...
    thanks,
    kowalsky

  • Oracle Management Server 9i

    Hallo kann mir hier vielleicht jemand meinen Denkfehler beseitigen. Ich habe mir gerade unter Oracle 9i den Manager Server per Konfigurationsassistent erstellen lassen und habe folgende Daten zum Schluss bekommen.
    Lokal DB erstellen: Ja
    Lokaler DB SID: OEMREP
    Repository-Benutzername: OEM_SERVER3_OEMREP
    Kennwort:
    Benutzer erstellen: ja
    Standard-Tablespace: OEM_REPOSITORY
    Temporärer Tablespace: TEMP
    OMS-Konfiguration aktualisieren: Ja
    Globaler DB Name: OEMREP
    Nun möchte ich mich über die Enterprise Konsole an den Oracle Management Server anmelden. Als Server habe ich Server3 angegeben, was er ohne Probleme annimmt aber wenn ich jetzt das PW + Benutzer eingeben möchte will er das nicht. Klicke ich auf Hilfe kommt die Meldung man muss bei dem ersten Login sysman/oem_temp benutzen (nimmt er leider auch nicht) weiterhin steht drin man sollte die Startparameter in die Dienste eintragen (aber wie heisst der Dienst). Bei dem wo ich denke das er das ist sind die STandardparameter grau hinterlegt.
    Hat jemand bereits die gleiche Erfahrung gemacht und könnte mir hier einen Tip geben?

    Hi,
    how i would be able to stop oracle management listener?Here is the main driving script to start all the Oracle10g AS infrastructure and mid-tier components:
    startall.ksh
    /bin/ksh
    ./startinfra.sh
    sleep 10
    ./startmidtier.sh
    sleep 10
    Note that this script calls the start scripts for the infrastructure followed by calls to start the mid-tier application. Let’s examine these scripts and see their features. The start script for the infrastructure issues these Oracle10gAS commands:
    Start listener - $ORACLE_HOME/bin/lsnrctl start
    Start the iasdb database
    $ORACLE_HOME/bin/sqlplus /nolog<<EOF
    connect / as sysdba
    startup
    Start all opmnctl controlled processes - $ORACLE_HOME/opmn/bin/opmnctl startall
    Check status of infrastructure with DCM - $ORACLE_HOME/dcm/bin/dcmctl getState -v -i $INFRA
    Start OMS - $ORACLE_HOME/bin/emctl start oms
    Start OEM
    $ORACLE_HOME/bin/emctl start agent
    $ORACLE_HOME/bin/emctl start em
    and start the database listener .lsnrctl start
    HTH. . . .
    Donald K. Burleson
    Author of "Oracle 10g Application Server Administration Handbook"

  • Oracle 10g IO perfomance on vmware virtual machine

    Hi Friends,
    I am facing perfomance issue on oracle10g 64bit, installed on rhel5.3 64bit on a vmware virtual machine because of disk IO.
    While taking DB backup using netbackup I can see the datatransfer speed comes up to 100 Mbps.
    But when oracle IO requests comes it is not going more than 30 Mbps.
    And the CPU IO wait remains same as on both of the time. (20% to 40%)
    Please help.
    Regards,
    Nayagan

    Could you verify this behaviour outside a VMware virtual machine?
    If yes, then please open an SR on Metalink to let support diagnose.
    Provide an RDA, AWR snapshot if you have licensed the Diagnistic Pack - if not than provide STATSPACK snapshots.
    Sorry - but this is a database upgrade forum :-)
    Regards
    Mike

  • Backup fails with RMAN-08132

    Hi
    I'm trying to run rman backup on standby db. It seems like the backup completes but i'm getting the following message at the end. I cant issue commands like "list backup;" Fails with the same error. Tried searching metalink without any luck. Anyone seen this before??
    Finished backup at 25-APR-07
    RMAN-08132: WARNING: cannot update recovery area reclaimable file list
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03009: failure of REFAF command on default channel at 04/25/2007 12:30:45
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01219: database not open: queries allowed on fixed tables/views only
    Any clues from you sharp-eyed dba's out there would be greatly appricated!!

    There's an entry on metalink:
    Known RMAN issues in Oracle10g
    Doc ID: Note:363409.1
    Inside this note search for 'WARNING: cannot update recovery area reclaimable file list'
    Werner

  • Oracle10g Jdbc Drivers issue with EJB on Weblogic 7

    Hi there,
    We are facing a critical issue on production environment related to Oracle jdbc drivers.
    We have a J2EE application with swing client. We are using MVC framework where client calls go to stateless session bean which redirect it to specific POJO which then uses Entity Beans for persistence.
    We have following environment.
    JDK1.4.2, Weblogic 7 with SP5, Oracle10g on AIX 5.2
    Now the problem is that we were using Oracle 8 jdbc driver classes12.zip for our application. Everything was working smoothly. Recently we moved our weblogic and oracle Servers machines locations, after that movement we started to get an exception when weblogic initializing connection pool that makes connection to a different oracle10g database. Oracle supports ask us to upgrade the jdbc driver. So we moved to 10g driver ojdbc14.jar but during testing one functionality is failing with a exception where rest of application seems to be working fine. The exception occurs when we try to post a record and during the creation of a child entity bean the transactions rollback for some unknown reasons. Using the old oracle8 classes12.zip driver the same code working fine again. We have also tried the classes12.zip driver of Oracle10g but error persist. I have checked the code and deployment descriptors but they seems fine. If i comment the creation of that particular entity bean the parent bean get created successfully and transaction commit successfully. Please also note that we have not created any relation b/w both entity beans not even in the database. They both are sort of independent.
    Can any one having any idea why Oracle10g driver not working or what might be the problem with our configuration. Any help will be highly appreciated. Please see the Exception below.
    <Jan 29, 2008 6:03:10 PM PKT> <Info> <EJB> <010036> <Exception from ejbStore: javax.ejb.NoSuchEntityException: Instance
    of bean 'SecurityRatingHistoryPost' with primary key 'com.cdc.fms.server.setup.security.ratinghistory.SecurityRatingHist
    oryEntityPK@93e447fa' not found.
    javax.ejb.NoSuchEntityException: Instance of bean 'SecurityRatingHistoryPost' with primary key 'com.cdc.fms.server.setup
    .security.ratinghistory.SecurityRatingHistoryEntityPK@93e447fa' not found.
    at com.cdc.fms.server.setup.security.ratinghistory.SecurityRatingHistoryEntityBean_7x4361__WebLogic_CMP_RDBMS.__
    WL_store(SecurityRatingHistoryEntityBean_7x4361__WebLogic_CMP_RDBMS.java:2208)
    at com.cdc.fms.server.setup.security.ratinghistory.SecurityRatingHistoryEntityBean_7x4361__WebLogic_CMP_RDBMS.ej
    bStore(SecurityRatingHistoryEntityBean_7x4361__WebLogic_CMP_RDBMS.java:2012)
    at weblogic.ejb20.manager.DBManager.storeBean(DBManager.java(Compiled Code))
    at weblogic.ejb20.manager.DBManager.beforeCompletion(DBManager.java(Compiled Code))
    at weblogic.ejb20.internal.TxManager$TxListener.beforeCompletion(TxManager.java(Compiled Code))
    at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java(Compiled Code))
    --------------- nested within: ------------------
    weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion: sync=weblogic.ejb20.internal.TxManager
    $TxListener@44a824cd
    Instance of bean 'SecurityRatingHistoryPost' with primary key 'com.cdc.fms.server.setup.security.ratinghistory.SecurityR
    atingHistoryEntityPK@93e447fa' not found. - with nested exception:
    [javax.ejb.NoSuchEntityException: Instance of bean 'SecurityRatingHistoryPost' with primary key 'com.cdc.fms.server.setu
    p.security.ratinghistory.SecurityRatingHistoryEntityPK@93e447fa' not found.]
    at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java(Compiled Code))
    at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java(Compiled Code))
    at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java(Compiled Code))
    at weblogic.ejb20.internal.BaseEJBLocalObject.postInvoke(BaseEJBLocalObject.java(Compiled Code))
    at com.cdc.fms.server.common.ConsolidatorSessionBean_fz4673_ELOImpl.processRequest(ConsolidatorSessionBean_fz467
    3_ELOImpl.java:57)
    at com.cdc.fms.server.common.GatewaySessionBean.processRequest(Unknown Source)
    at com.cdc.fms.server.common.GatewaySessionBean_oehtlw_EOImpl.processRequest(GatewaySessionBean_oehtlw_EOImpl.ja
    va:407)
    at com.cdc.fms.server.common.GatewaySessionBean_oehtlw_EOImpl_WLSkel.invoke(Unknown Source)
    <Jan 29, 2008 6:03:10 PM PKT> <Info> <EJB> <010051> <EJB Exception during invocation from home: com.cdc.fms.server.commo
    n.GatewaySessionBean_oehtlw_HomeImpl@3e13a4aa threw exception: javax.ejb.EJBException: nested exception is: weblogic.tra
    nsaction.RollbackException: Unexpected exception in beforeCompletion: sync=weblogic.ejb20.internal.TxManager$TxListener@
    44a824cd
    Instance of bean 'SecurityRatingHistoryPost' with primary key 'com.cdc.fms.server.setup.security.ratinghistory.SecurityR
    atingHistoryEntityPK@93e447fa' not found. - with nested exception:
    [javax.ejb.NoSuchEntityException: Instance of bean 'SecurityRatingHistoryPost' with primary key 'com.cdc.fms.server.setu
    p.security.ratinghistory.SecurityRatingHistoryEntityPK@93e447fa' not found.]
    javax.ejb.EJBException: nested exception is: weblogic.transaction.RollbackException: Unexpected exception in beforeCompl
    etion: sync=weblogic.ejb20.internal.TxManager$TxListener@44a824cd
    ##################################################################

    weblogic 7? when the current production version is 10.2?
    don't play yourself. fund a project to upgrade your weblogic version.
    can't tell based on what you've posted, and I fear that the stuff you'll have to post to get an answer here will be too much. this isn't a good place to come for an answer.
    %

  • Oracle10g RAC Cluster Interconnect issues

    Hello Everybody,
    Just a brief overview as to what i am currently doing. I have installed Oracle10g RAC database on a cluster of two Windows 2000 AS nodes.These two nodes are accessing an external SCSI hard disk.I have used Oracle cluster file system.
    Currently i am facing some performance issues when it comes to balancing workload on both the nodes.(Single instance database load is faster than a parallel load using two database instances).
    I feel the performance issues could be due to IPC using public Ethernet IP instead of private interconnect.
    (During a parallel load large amount of packets of data are sent over the Public IP and not Private interconnect).
    How can i be sure that the Private interconnect is used for transferring cluster traffic and not the Public IP? (Oracle mentions that for a Oracle10g RAC database, private IP should be used for heart beat as well as transferring cluster traffic).
    Thanks in advance,
    Regards,
    Salil

    You find the answers here:
    RAC: Frequently Asked Questions
    Doc ID: NOTE:220970.1
    At least crossover interconnect is completely unsupported.
    Werner

  • Issue on Using TOAD to view Oracle10G objects

    Dear Oracle Expertise,
    I've a interesting topic here.
    I use a TOAD's schema browser feature to view all the objects (e.g. tables, views, triggers, etc...) in an Oracle10G database.
    The issue is that it seems there is NO SORTING order of these objects in the browser window. We have no problem in Oracle9i database.
    Please kindly teach what the problem is.
    Thanks.
    Rgds,
    Ken Chan

    Dear Michael,
    My TOAD version is 6.3.7.1 g
    Is it true that only TOAD version 8 or above can support 10G database?
    If yes, I guess my issue is solved and I will download and try.
    Thanks.
    Rgds,
    Ken

  • Oracle 11g - Merge PL/SQL issue - Same code work in Oracle10g

    Below PL/SQL block stop working after Oracle11g upgrade, working fine in Oracle10g
    CREATE TABLE TMP_TABLE1 (P_PROVIDER NUMBER, P_ID NUMBER);
    CREATE TABLE TMP_TABLE2 (COL1 NUMBER, COL2 NUMBER);
    CREATE TABLE TMP_TABLE3 (COL3 NUMBER, COL4 NUMBER);
    BEGIN
    FOR i IN (SELECT p_provider p_provider, p_id p_id FROM tmp_table1)
    LOOP
    MERGE INTO TMP_TABLE2 T
    USING ( SELECT I.P_PROVIDER P_PROVIDER,
    I.P_ID P_ID FROM DUAL) DDD
    ON (T.COL1= DDD.P_PROVIDER AND T.COL2 = DDD.P_ID)
    WHEN NOT MATCHED THEN
    INSERT (COL1, COL2) VALUES (1, (SELECT x.COL4 FROM TMP_TABLE3 x WHERE x.COL4 = DDD.P_ID));
    END LOOP;
    END;
    Oracle 10g Version:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    PL/SQL Release 10.2.0.4.0 - Production
    CORE 10.2.0.4.0 Production
    TNS for Solaris: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production
    Oracle 11g Version:
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE 11.2.0.2.0 Production
    TNS for Linux: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 – Production
    Oracle11 g Error:
    Error at line 5
    ORA-06550: line 11, column 93:
    PL/SQL: ORA-00904: "DDD"."P_ID": invalid identifier
    ORA-06550: line 5, column 7:
    PL/SQL: SQL Statement ignored
    Script Terminated on line 5.
    Is there any patch/work around in Oracle 11g?
    Please advice
    Thank you
    Raj

    We had a similar issue when our organization upgraded to 11gR2.
    It looks like it boils down to a change Oracle made in regards to how it works with correlated subqueries within an insert statement.
    Anyway, this thread has a little more information:
    Merge Command in 10g vs 11g
    And it says to look at Metalink note 1109983.1 (which I can't seem to find).
    Anyway, a workaround in thread is suggests (which worked for us) to wrap the insert subquery around a dummy decode clause, and oddly it will work.
    eg:
    INSERT (COL1, COL2) VALUES (1, (decode(1,1,(SELECT x.COL4 FROM TMP_TABLE3 x WHERE x.COL4 = DDD.P_ID)) ) ) ;
    Quite a kludge, but at least it is an immediate fix to the problem, without having to rewrite anything.

  • "random" issue calling sqlldr from pl/sql

    Oracle SE-One 11.2.0.2
    Oracle Linux 5.6 x86-64
    Given this proc:
    PROCEDURE    "SQLLDR3" (v_control_file IN varchar2)
               IS
    v_command varchar2(220) := '/u01/app/oracle/admin/control/sqlldr3.script ';
    v_sbj varchar2(90);
    c_program_name varchar2(20) := 'SQLLDR3';
    BEGIN
            app.Log(C_PROGRAM_NAME, 'CALLING JAVA HOST_COMMAND.');
            COMMIT;
    Host_Command (p_command => v_command||v_control_file);
            app.Log(C_PROGRAM_NAME, 'RET FROM JAVA HOST_COMMAND.');
            COMMIT;
    EXCEPTION
             WHEN OTHERS THEN
             v_sbj := 'SQLLDR3 stored procedure error: '||v_control_file;
         send_email('ITdatabase@mycompany','ITdatabase@mycompany',                    v_sbj, sqlerrm);
             v_sbj := 'SQLLDR3 stored procedure error: '||v_control_file;
           send_email('ITdatabase@mycompany','dwgroup@mycompany',
                       v_sbj, sqlerrm);
    END;Host_command is simply
    PROCEDURE Host_Command (p_command  IN  VARCHAR2)
    AS LANGUAGE JAVA
    NAME 'Host.executeCommand (java.lang.String)';and I know nothing about java.
    The referenced host command 'sqlldr3.script' is a shell script that invokes sqlldr.
    The procedure is a common procedure called from several different procedures within a couple of packages
    This process is executed several dozen times every week, loading data into a data warehouse from a variety of external sources.. It is run during the week, and on weekends. It is run manually and from dbms_scheduler. It has been running flawlessly for several years.
    On May 18 I upgraded from 11.2.0.1 to 11.2.0.2
    On May 25 a scheduled job at 0630 hung in the above procedure. The last successful execution had been just one hour prior. All executions over the weekend hung and the loads had to be managed manually to meet the business requirement. The first execution after midnight Sunday (early Monday morning) executed properly. The same pattern repeated this last weekend.
    In trying to narrow it down, I added some "we made it to here" type messages to the shell script that actually called sqldr, as well as the references to 'app.log' immediately preceding and following the call to host_command. app.log is a common procedure that writes a message to a program log table. In the case of the shell script, one of the tracing messages was the very last statement executed by the script.
    What we observed was that we got the program log message immediately preceding the host call, and we got all of the messages from the shell script, indicating that sqlldr itself executed with a rc=0, and the shell script executed cleanly. But we did not get the program log message immediately following the return from the host command. It was at that point that the procedure was hung and had to be killed.
    I found note 757524.1 which looks very promising, and I have modified the shell script accordingly -- adding 'silent=feedback' to the sqlldr command.
    What leaves us really scratching our heads is the fact that the problem only occurs (so far) during a given time window. Even during that window, it does not occur on a test database that is an rman duplicate of the prod db. This is very obscure, but thought it worth tossing out to see if anyone has any ideas off the top of their head.
    In order to eliminate some if the interfaces I am going to replace the calls to sqlldr with external tables, but would still like to find an answer to "WHY", if possible.

    Billy  Verreynne  wrote:
    Do you have Grid Infrastructure running (for ASM for example)?
    If GI starts the database instance, or a GI listener creates the dedicated server process, then the actual o/s user for an external process created by a database Java procedure, is grid and not oracle. Which can cause environment and permission problems as the expectation is that it will execute as the server process owner, oracle.
    Another potential issue is environment inheritance. The external process created, inherits its environment from its parent process (who in turn in a background spawned server process that also inherited its environment).
    Also, as a Listener can start a dedicated server process, a dedicated server process can have a different environment from a shared server process (created when the instance originally started). After all, the Listener can be bounced and at that time get a different/newer environment than database shared server processes, job processes, and so on.
    Which means different results when executing external stuff via Java as environments can differ from db session to db session.
    Two things to keep in mind. These environments are static and could also be stale. For example, it will be unaware of o/s group changes, despite being created after those o/s changes are made - as it inherits an environment that existed prior to those changes being made.
    Second thing to keep in mind is not to trust the inherited environment to be sane for the executable you want to run in that Java created external process. Never mind that it could be stale. You have no idea what environment the parent process passed to this external child process - and it could contain stuff that can break the executable you want to run in this external process.
    For these reasons I never execute an executable directly via a Java stored proc call. I use a 2 step approach. UTL_FILE creates a shell script with the external command to execute. The Java stored proc executes it. The shell script sets the environment to what is expected - and the external command is executed using that environment.
    I actually do more than this - shell script permissions/group ownership is changed and it is executed as another o/s user. This secures the database/grid o/s users as external commands are executed as another user. Kind of like the approach used by scheduler for external application jobs. Execution is done via ssh and trusted keys - the other user who the commands are run as, trusts ssh localhost connections from oracle/grid.
    The main thing though that makes this approach works though is that the Java stored proc executes a self-rolled external shell script containing the external command(s) to execute. Controlling the execution environment is important.Thanks for the response, Billy.
    Yes, this is an ASM database, but (fwiw) stand-alone -- no cluster, no RAC.
    If I follow you correctly, it sounds like we're already taking care of everything you mention. The java procedure ("Host_Command") takes its input argument as an os command and executes it. In this case, that command is the name of a shell script, so "host_command" is not executing sqlldr (directly) but is executing a shell script that "just happens" to be calling sqlldr. Yes, just like we do for cron jobs, that script insures it has set all necessary environment variables. It sets some basic ones, then sources oraenv to get the oracle environment correct. And the shell script itself always processes correctly as evidenced by the trace messages I added, always exits cleanly. The problem occurs somewhere in the crack between the shell script exit and control coming back into the PL/SQL procedure that called 'host_command'. And so far it only occurs between 0630 on Saturdays and 2359 on Sundays. That time window is the really bizarre part of it. Exact same code, any other time, works as expected.
    As luck would have it, we implemented the suggestion from note 757524.1 (adding 'silent=feedback' to the sqlldr command string) on Sunday afternoon, and the one job that started after that still hung.

  • Date Format issue while Connecting to Oracle8i and Oracle10g

    Hi All,
    While playing around with JDBC drivers, I came across this weird issue. I have a Local machine with Japanese Locale and I have 2 Database Servers that too with Japanese Locales and Oracle 8i and Oracle 10g each. Now, I connect to these database using JDBC drivers for 8i and perform "select sysdate from dual". Then, m getting dates with 2 different format. While 8i being returning Date with 'DD-MON-RRRR' format, 10g returns date with 'DD-MM_RR' format.
    Initially I thought it might be because of some VM Locale thing but when I connected to 10g DB from 8i Oracle client, this behaviour did not changed. Which mean in this case also the date format returned ny the query was different.
    Guys F1! F1! (Help! Help!) Appreciate your help to understand this process. Links and suggestions welcome... :)

    I guess u did not read the whole content. I mentioned this but the difference in behaviour with respect to JDBC drivers made me post this in Java forum.
    As I mentioned, it has something to do with the jdbc driver or oracle server itself. Agreed, but what that "something little to do" is the maiin question.
    I mentioned that I want to understand this process about how JDBC driver works with Client VM specific Locale settings while interacting with Oracle Database.
    Don't you think it could be interesting to know, what it is which brings this difference in results. Its all about clarifying the small bits & pieces which stays unanswered if one overlooks. Its own perception, I felt like asking question, no offense right!

  • Oracle10g export issue

    Hi,
    Anyone done any export for oracle10g databases using exp. Have done an export and the export log file was ok. Happend to check the udump and discover that two trace files were generated with the below statements.
    Anyone got any idea is it normal and can i prevent oracle from generating the trace files?
    Thank You
    *** SERVICE NAME:(SYS$USERS) 2005-04-07 23:00:26.069
    *** SESSION ID:(152.45) 2005-04-07 23:00:26.069
    *** 2005-04-07 23:00:26.069
    DBMS_DM_MODEL_EXP:schema_info_exp(schema=SYS, prepost=0, isdba=1, version=10.01.
    00.03.00)
    *** 2005-04-07 23:00:26.103
    DBMS_DM_MODEL_IMP:count_user_models: >> schema=SYS
    *** 2005-04-07 23:00:26.119
    DBMS_DM_MODEL_IMP:count_user_models: #ofmodel=0 in schema=>SYS
    *** 2005-04-07 23:00:26.119
    DBMS_DM_MODEL_EXP:schema_info_exp: # of models=0
    *** 2005-04-07 23:00:26.119
    DBMS_DM_MODEL_EXP:schema_info_exp: DM models not found in schema SYS
    *** 2005-04-07 23:00:26.121
    DBMS_DM_MODEL_EXP:schema_info_exp(schema=SYSTEM, prepost=0, isdba=1, version=10.
    01.00.03.00)

    How did you remove the Data Mining Option?
    Check whether you still have the DMSYS schema or if you deleted or locked the user.
    select * from exppkgact$ where schema = 'DMSYS';
    or
    select * from exppkgact$ where package like '%DBMS_DM_MODEL_EXP%';

Maybe you are looking for

  • Intel Mac running 10.7.2, updated iPhoto to 9.2 and now iPhoto won't open AT ALL! HELP!

    Process:         iPhoto [995] Path:            /Applications/iPhoto.app/Contents/MacOS/iPhoto Identifier:      com.apple.iPhoto Version:         9.2 (9.2) Build Info:      iPhotoProject-626000000000000~2 Code Type:       X86 (Native) Parent Process: 

  • Running a Dynpro-based Report as a Job/in Background mode

    Hello, i've got a report which hasn't got a selection-screen as its startscreen, but a complex dynpro and is based on different start-buttons and not only the "basic" F8/Run-Button. the users still would like to be able to run the report in backgroun

  • I cannot launch or reinstall iTunes because of errors 7 and 998.

    I recently upgraded to the iTunes 10, and didn't have any problems. Today when I tried to launch iTunes, I was told that iTunes had installed incorrectly - Apple Error #7, Windows Error #998, and that I should re-install iTunes. But when I did reinst

  • Flex 4 tree component - how to populate using an array?

    It's unclear how to populate a tree control using an array as the dataprovider like you could in Flex 3. Here is a Flex 3 example. Even when I replace the mx:Object tags with fx:Object tags things don't work ... there seems to be no mx:children tag .

  • RAM for early 2009 Mac Pro 4,1

    I have the above system (2 x quad-core 2.26 GHz Xeon) with 20 GB RAM: 4 GB x 2 and 2 GB x 6; I'd like to go to 32 GB or more.  Apple and Kingston list 4 GB modules being the largest for this system, but OWC sells 8- and 16-GB modules for it.  I may n