SQL*Loader-704 & ORA-12535 error , Oracle 9i AIX, Windows Client

Hi All,
I try to run SQL*Loader from Windows Client to Oracle 9i server on AIX. The control file is in the windows machine.
C:\SqlLdr user/password@myoradb control=mycontrol.ctl
(the data is 300,000 rows, on the same control file)
I get this error :
SQL*Loader-704 : Internal error : ulconnect: OCIServerAttach [0]
ORA-12535: TNS:Operation timed out.
FYI, from the same machine, TNSPing is OK, SQL*Plus run perfectly.
What is wrong here ?
Should I copy the CTL file into the AIX Server and run the SQL*Plus from AIX client console ?
Thank you for your help,
Krist

Have you checked the sqlnet.log file for an indication of the underlying error? You can also enable network tracing in the sqlnet.ora file, by setting trace_level_client=16.

Similar Messages

  • SQL*Loader-704 & ORA-12560

    Hi my oracle friends...
    I'm getting this error when trying to use sqlldr:
    SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
    ORA-12560: TNS:protocol adapter error
    I'm using this control file:
    LOAD DATA
    INFILE 'c:\exportmysql.exp'
    BADFILE 'c:\badfile.txt'
    APPEND
    INTO TABLE HISTORICODAF
    FIELDS TERMINATED BY '|'
    CODIGOHISTORICO     INTEGER EXTERNAL,
    CODIGODAF     CHAR,
    TIPORESPOSTA     CHAR,
    DATASISTEMA     DATE 'DD/MM/YYYY HH24:MI:SS',
    VELOCIDADE     FLOAT EXTERNAL,
    PROA     FLOAT EXTERNAL,
    GEOMETRY COLUMN OBJECT
    SDO_GTYPE INTEGER EXTERNAL,
    SDO_SRID INTEGER EXTERNAL,
    SDO_POINT COLUMN OBJECT
    (X FLOAT EXTERNAL,
    Y FLOAT EXTERNAL)
    CODIGOUSUARIO     CHAR,
    CODIGOEMPRESA     CHAR,
    CODIGOOBJETO     CHAR,
    DATAINICIOBUSCA     DATE 'DD-MM-YYYY HH24:MI:SS',
    DATAFIMBUSCA     DATE 'DD-MM-YYYY HH24:MI:SS',
    ESTADO     CHAR,
    DATAGPS     DATE 'DD-MM-YYYY HH24:MI:SS',
    DATAEQUIPAMENTO     DATE
    And I'm using the right command-line:
    sqlldr userid=daf/fad control=c:\control.ctl log=c:\sqlldr.log
    Another doubt is: how Oracle knows wich of my services they need to connect?
    Can I pass this in sqlldr command-line parameters or control file?
    Thanks 4 all...

    for this:
    how Oracle knows wich of my services they need to connect?
    Normally you have defined an environment variable called ORACLE_SID that tells oracle what instance to connect.
    try doing the following for getting the value of the variable:
    unix: echo $ORACLE_SID
    windows: echo %ORACLE_SID%
    And for the error, this is what I found, probably some one else have a different opinion:
    Error:     LDR 704
    Text:     Internal error: %s [%d]
    Cause:     An internal error has occurred.
    Action:     Make a note of the message and the number, then contact customer
         support.
    Message was edited by:
    Delfino Nunez

  • SQL*Loader-704: error..OCIServerAttach...ORA-12535 Oracle 9.2 ..Solaris 9

    Hello.
    We run an application with an Oracle backend. Everything seems to work. There arer some Perl scripts we run to update the database. One does not work. We get.
    SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
    ORA-12535: TNS:operation timed out
    We are using Solaris 9
    Oracle 9.2i
    Any help would be appreciated.
    Thanks
    John

    Have you checked the sqlnet.log file for an indication of the underlying error? You can also enable network tracing in the sqlnet.ora file, by setting trace_level_client=16.

  • Sql@loader-704  and ORA-12154: error messages when trying to load data with SQL Loader

    I have a data base with two tables that is used by Apex 4.2. One table has 800,000 records . The other has 7 million records
    The client recently upgraded from Apex 3.2 to Apex 4.2 . We exported/imported the data to the new location with no problems
    The source of the data is an old mainframe system; I needed to make changes to the source data and then load the tables.
    The first time I loaded the data i did it from a command line with SQL loader
    Now when I try to load the data I get this message:
    sql@loader-704 Internal error: ulconnect OCISERVERATTACH
    ORA-12154: tns:could not resolve the connect identifier specified
    I've searched for postings on these error message and they all seem to say that SQL Ldr can't find my TNSNAMES file.
    I am able to  connect and load data with SQL Developer; so SQL developer is able to find the TNSNAMES file
    However SQL Developer will not let me load a file this big
    I have also tried to load the file within Apex  (SQL Workshop/ Utilities) but again, the file is too big.
    So it seems like SQL Loader is the only option
    I did find one post online that said to set an environment variable with the path to the TNSNAMES file, but that didn't work..
    Not sure what else to try or where to look
    thanks

    Hi,
    You must have more than one tnsnames file or multiple installations of oracle. What i suggest you do (as I'm sure will be mentioned in ed's link that you were already pointed at) is the following (* i assume you are on windows?)
    open a command prompt
    set TNS_ADMIN=PATH_TO_DIRECTOT_THAT_CONTAINS_CORRECT_TNSNAMES_FILE (i.e. something like set TNS_ADMIN=c:\oracle\network\admin)
    This will tell oracle use the config files you find here and no others
    then try sqlldr user/pass@db (in the same dos window)
    see if that connects and let us know.
    Cheers,
    Harry
    http://dbaharrison.blogspot.com

  • SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]

    Hi
    User is getting the below error:
    H:\>sqlldr ARETHYYU/FRTGEU@RSSPDT
    control = H:\rag_load_reports.ctl
    SQL*Loader: Release 8.1.7.3.0 - Production on Mon Mar 9 07:44:08 2009
    (c) Copyright 2000 Oracle Corporation. All rights reserved.
    SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
    Anyone pls help me in solving this issue...
    Thanks,
    Kr

    This means that the tnsname being used is not being recognized by Oracle. Check your tnsnames.ora file and see if you're using the correct connection string for the database you are trying to connect to. Furthermore, do you have more than one oracle installation on your PC? If that is the case then you should copy the correct entry and replicate it to other tnsnames.ora files. Only for the sake of knowledge, I would like to know if you are using the connection string from the sqlplus session of your PC, but you're executing SQL Loader from another machine?

  • SQL*Loader-704: Internal error: ulconnect: OCIEnvCreate [-1]

    I am getting the following error on my Windows XP box:
    sqlldr illumina/illumina@rmdodmsrv ivsheader2.ctl
    SQL*Loader: Release 11.1.0.7.0 - Production on Wed Feb 17 13:40:02 2010
    Copyright (c) 1982, 2007, Oracle. All rights reserved.
    SQL*Loader-704: Internal error: ulconnect: OCIEnvCreate [-1]
    If I try the following command it connects fine:
    sqlldr illumina/illumina@rmdodmsrv ivsheader2.ctl
    SQL*Loader: Release 11.1.0.7.0 - Production on Wed Feb 17 13:40:02 2010
    Copyright (c) 1982, 2007, Oracle. All rights reserved.
    SQL*Loader-704: Internal error: ulconnect: OCIEnvCreate [-1]
    I have an Oracle_Home env variable set to the oracle directory.
    Please help

    I know its an older thread and the thread was about Oracle 10.2.x I worked on client 11.2.0.1 but I thought I can share what I did to add sqlldr to instant Oracle client.
    I used Oracle instant client 11.2.0.1 with sqlplus. I also downloaded and installed the full Oracle client 11.2.0.1 to have access to the sqlldr files. I chose Custom install and only installed the utilities.
    - Within the oracle instant client directory make sure that you put all sqlldr related files into a bin directory.
    - Make sure you have all libraries that are needed by sqlldr copied from the full client into the bin directory. Also copy the sqlldr.exe into the bin folder.
    - Copy directory nls from the full client to the instant client (especially the information in subdirectory "data" seems to be needed)
    - Copy directory rdbms from the full client to the instant client. This contains the error messages. I only copied mesg/oraus.msb and mesg/ulus.msb. However, if you dont get all files you risk that you will not have meaningful error messages.
    - Copy directory oracore from the full client to the instant client (especially the information in subdirectory "timezone" seem to be needed).
    To find out which files sqlldr is trying to access you can use strace, truss on Unix systems or ProcessMonitor on Windows.
    To run the sqlldr I needed to set the environment variable ORACLE_HOME to the instant client directory. I also created a tnsnames.ora file and set TNS_ADMIN to the directory the tnsnames.ora is located.

  • ERROr- SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]

    Hi All,
    I was running a java program which uses java runtime to call Oracle SQL Loader to load a data file inthe Data base , After loading one file sucessfully , the process stopped after giving the error -:
    SQL*Loader execution exited with EX_FAIL, see logfile:SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
    ORA-12154: TNS:could not resolve service name
    Can anyone please let me know What can be the problem . ???? Please let me know where the problem lies ?
    Regards
    Asif

    Can some one help to solve this problem????
    Edited by: NanthaKumarAR on Apr 13, 2012 5:55 AM

  • SQL*Loader-704: Internal error

    Dear all,
    I have run this command in windows
    sqlplus a/b@c
    it is connected successfully, I can run sql and results returned.
    however, I run this sql loader command
    sqlldr a/b@c control=test.ctl data=test.txt
    but error is returned
    SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
    ORA-12154: TNS:could not resolve the connect identifier specified
    what are the reasons and why?
    thank you very much!

    Hi,
    I had the same problem. I already fixed it!
    I use two ORACLE_HOME, one for Oracle Client and one for Oracle Developer Suite 10g. The sqlplus.exe is in both BIN directories, but sqlldr is only in client's ORACLE_HOME\BIN directory.
    When you run sqlplus.exe, it uses tnsnames.ora from devsuite's ORACLE_HOME\NETWORK\ADMIN, I think, it contains rows for SID=c.
    When you run sqlldr.exe, it uses tnsnames.ora from client's ORACLE_HOME\NETWORK\ADMIN, I think, it does not contain rows for SID=c (my tnsnames.ora did not contain them).
    Make both tnsnames.ora the same and your problem will be fixed.
    Tom

  • SQL*Loader-704: Internal error: ulconnect: OCIInitialize [1804]

    I tried using MassLoader to load some data into the local database on the Oracle 9i server. MassLoader first generated the data files and then called sqlldr to load the data into the db. It failed and I received SQL*Loader-704: Internal error: ulconnect: OCIInitialize [1804]. I tried with Oracle 8i sqlldr and it worked fine. So, the problem seems to be with Oracle 9i sqlldr. Is there any fix for this or how can I investigate it? Thanks in advance.

    The problem lies in permissions in $ORACLE_HOME. I had the problem and came up with two solutions. The first was to chmod 6751 sqlldr. The second I liked better was to go thru the subdirectores and insure that all of the files were marked as accessable by others. After talking with fellow dba's we changed the permissions to 755 on all directories but bin. Again this might not be the correct fix but it works
    try again after changing
    ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
    to
    ORA_NLS33=$ORACLE_RDBMS/ocommon/nls/admin/data
    try above solution and let us know.

  • SQL*Loader-704 Error

    Hi, I'm trying to get a simple PHP page working on the pre-compiled HP-UX Apache Server(Itanium Build), that calls a Unix script which in turn submits a job. In this process SQL*Loader is called, and while it works just fine when I'm in the Unix prompt, when I try it from the PHP Page, it fails with the following error:
    SQL*Loader-704: Internal error: ulconnect: OCIServerAttach[0]
    ORA-30136: Drop-in compatibility is not supported for this application
    Any thoughts?
    Also: PHP version is 5.2.0 if it matters, and oci8 is being included and is functioning properly.

    ...Ugh, it was working for about 5 seconds on my test page, but now it's just giving me an exit status of 137(Anyone have any clue what this means? I can't find anything that tells me what these exit number means and it's really starting to bug me) after I commented and uncommented a few lines to check to see what caused it to work...Hah! Works again. New Question time:
    LD_PRELOAD, what does this variable have to do with SQL*Loader, since I'm using it in the apache start-up to do some stuff with oci8[No idea if it's necessary] and when I, assumedly, set it to "null" it works, but when it keeps my initial value it breaks and gives me my 137 error status with my original errors.

  • SQL Loader-704: Internal error: Maximum record length must be = [10000000]

    Hi,
    running SQL*Loader (Release 8.1.7.2.1) causes an error "SQL*Loader-704: Internal error: Maximum record length must be <= [10000000]". This error occurs when SQLLoader is trying to load several thousand records into a database table. Each record is less than 250 bytes in length.
    Any idea what could cause the problem?
    Thanks in advance!
    Ingo
    And here's an extract from the log file generated by SQLLoader :
    Number to load: ALL
    Number to skip: 0
    Errors allowed: 50
    Bind array: 1360 rows, maximum of 10485760 bytes
    Continuation: none specified
    Path used: Conventional
    Table "SYSTEM"."BASICPROFILE$1", loaded from every logical record.
    Insert option in effect for this table: APPEND
    TRAILING NULLCOLS option in effect
    Column Name Position Len Term Encl Datatype
    UUID FIRST * O(X07) CHARACTER
    DOMAINID NEXT * O(X07) CHARACTER
    LASTMODIFIED NEXT * O(X07) DATE DD/MM/YYYY HH24:MI:SS
    ANNIVERSARY NEXT * O(X07) CHARACTER
    BIRTHDAY NEXT * O(X07) CHARACTER
    COMPANYNAME NEXT * O(X07) CHARACTER
    DESCRIPTION NEXT * O(X07) CHARACTER
    FIRSTNAME NEXT * O(X07) CHARACTER
    COMPANYNAMETRANSCRIPTION NEXT * O(X07) CHARACTER
    FIRSTNAMETRANSCRIPTION NEXT * O(X07) CHARACTER
    GENDER NEXT * O(X07) CHARACTER
    HOBBIES NEXT * O(X07) CHARACTER
    HONORIFIC NEXT * O(X07) CHARACTER
    JOBTITLE NEXT * O(X07) CHARACTER
    KEYWORDS NEXT * O(X07) CHARACTER
    LASTNAME NEXT * O(X07) CHARACTER
    LASTNAMETRANSCRIPTION NEXT * O(X07) CHARACTER
    NICKNAME NEXT * O(X07) CHARACTER
    PREFERREDLOCALE NEXT * O(X07) CHARACTER
    PREFERREDCURRENCY NEXT * O(X07) CHARACTER
    PROFESSION NEXT * O(X07) CHARACTER
    SECONDLASTNAME NEXT * O(X07) CHARACTER
    SECONDNAME NEXT * O(X07) CHARACTER
    SUFFIX NEXT * O(X07) CHARACTER
    TITLE NEXT * O(X07) CHARACTER
    CONFIRMATION NEXT * O(X07) CHARACTER
    DEFAULTADDRESSID NEXT * O(X07) CHARACTER
    BUSINESSPARTNERNO NEXT * O(X07) CHARACTER
    TYPECODE NEXT * O(X07) CHARACTER
    OCA NEXT * O(X07) CHARACTER
    SQL*Loader-704: Internal error: Maximum record length must be <= [10000000]

    As a second guess, the terminator changes or goes missing at some point in the data file. If you are running on *NIX, try wc -l data_file_name.  This will give a count of the number of lines (delimited by CHR(10) ) that are in the file.  If this is not close to the number you expected, then that is your problem.
    You could also try gradually working through the data file loading 100 records, then 200, then 300 etc. to see where it starts to fail.
    HTH
    John

  • SQL*Loader-704

    I'm trying to execute a control file.
    Below is the error message
    SQL*Loader: Release 10.2.0.1.0 - Production on Thu Sep 10 10:54:10 2009
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
    ORA-12560: TNS:protocol adapter errorulcase4.dat
    *7782 CLARK  MANAGER   7839 2572.50 -10     10 12-NOV-85
    *7839 KING   PRESIDENT      5500.00         20 05-APR-83
    *7934 MILLER CLERK     7782 920.00          10 08-MAY-80
    *7566 JONES  MANAGER   7839 3123.75         30 17-JUL-85
    *7499 ALLEN  SALESMAN  7698 1600.00 300.00  10 03-JUN-84
    *7654 MARTIN SALESMAN  7698 1312.50 1400.00 30 21-DEC-85
    *7658 CHAN   ANALYST   7566 3450.00         20 16-FEB-84ulcase4.ctl
    LOAD DATA
       INFILE 'c:\data\ulcase4.dat'
       DISCARDFILE 'ulcase4.dsc'
       DISCARDMAX 999
       REPLACE
       CONTINUEIF THIS (1) = "*"  
       INTO TABLE emp
      (empno         POSITION(1:4)         INTEGER EXTERNAL,
       ename         POSITION(6:11)        CHAR,
       job           POSITION(13:21)       CHAR,
       mgr           POSITION(23:26)       INTEGER EXTERNAL,
       sal           POSITION(28:34)       DECIMAL EXTERNAL,
       comm          POSITION(36:42)       DECIMAL EXTERNAL,
       deptno        POSITION(44:45)       INTEGER EXTERNAL,
       hiredate      POSITION(47:55)       DATE)What could be the reason? Thanks.

    Thanks Solomon that worked...
    I've an other issue..
    When I try to run the control file, only one row is inserted into the table. what could be the reason?
    below is the data from the log file.
       Column Name                  Position   Len  Term Encl Datatype
    EMPNO                                 1:4     4           CHARACTER           
    ENAME                                6:11     6           CHARACTER           
    JOB                                 13:21     9           CHARACTER           
    MGR                                 23:26     4           CHARACTER           
    SAL                                 28:34     7           CHARACTER           
    COMM                                36:42     7           CHARACTER           
    DEPTNO                              44:45     2           CHARACTER           
    HIREDATE                            47:55     9           DATE DD-MON-RR      
    Table EMP:
      1 Row successfully loaded.
      0 Rows not loaded due to data errors.
      0 Rows not loaded because all WHEN clauses were failed.
      0 Rows not loaded because all fields were null.
    Space allocated for bind array:                   4352 bytes(64 rows)
    Read   buffer bytes: 1048576
    Total logical records skipped:          0
    Total logical records read:             1
    Total logical records rejected:         0
    Total logical records discarded:        0

  • ORA-12535 error but TNSPing Works and listener logs connection

    We recently migrated our firewall and then started seeing this problem for users outside of our own subnet. However, although the user gets this error when launching the application, the workstation is able to TNSPing the server successfully and listener.log does log the connection.
    I was hoping someone might have some ideas or suggestions as to what might be causing the error despite the apparent connectivity to the database.
    Thanks in advance.

    Thanks so much for the suggestions.
    1. telnet <host> 1521 connects
    2. sqlplus <username>/<pwd>@<instance> returns the ORA-12535 error
    Finally, the sqlnet.log on the client side doesn't log anything when launching the application so I have no information as to what exactly is occurring at that point. However, the sqlplus command above logged the following:
    VERSION INFORMATION:
    TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
    Windows NT TCP/IP NT Protocol Adapter for 32-bit Windows: Version 9.2.0.1.0 - Production
    Time: 26-JAN-2007 08:43:41
    Tracing not turned on.
    Tns error struct:
    nr err code: 0
    ns main err code: 12535
    TNS-12535: TNS:operation timed out
    ns secondary err code: 12560
    nt main err code: 505
    TNS-00505: Operation timed out
    nt secondary err code: 60
    nt OS err code: 0
    I've been doing more research on this -- please note that I'm not an Oracle dba so I am just getting familiar with lots of things -- and have learned that user connect requests come in through 1521 but are then randomly redirected to other ports. Given the new firewall, I'm wondering if it's an issue that the random ports being selected aren't open for the users outside of our subnet. Does this sound like a plausible explanation? If so, how do administrators generally handle this -- by opening the necessary ports on the firewall? Is there some other standard approach?
    Again, thanks so much for any assistance you can provide.

  • Oracle 10g EE Windows Client on different machine than Pracle 10g EE server

    I downloaded the Oracle 10g EE Windows Client and installed it on a WinXP (SP3) machine that had no Oracle components installed. The idea was to use it to connect to an Oracle 10g EE database running on another machine on the network.
    After installing the software, what I find in the start menu is:
    Oracle Client 10g Express Edition
    - Go To Online Forum
    - Read Documentation
    - Register For Online Forum
    - Run SQL Command Line
    When I "Read Documentation" and go to the "Getting Started" link it talks about other menu options which I can't find ("Go To Database Home Page").
    Clearly something isn't working here, but what?
    Pete

    This option is available on server. Not on client.
    Use following link instead:
    http://<server_ip_address>:8080/apex/

  • SQL*Loader and ORA-00054

    I was wondering if anyone knows a way to prevent ORA-00054 errors on tables when using SQL*Loader. I'm currently invoking scripts that extract data from a source system and load into a table in my database. I'm concurrently invoking the script because I have multiple source systems to improve my overall time for the loads. Sometimes, I get failures on the loads due to ORA-00054 errors. Can this be prevented? Is these a WAIT command/option that can be turned on for SQL*Loader?

    desc toto
    Name Null? Type
    COL1 DATE
    Controlfile :
    load data
    infile 'titi.dat'
    truncate
    into table titi
    (col1 position(1:7) DATE "YYYYMMDD" "DECODE (:col1, '9999999','19990101','000000
    0',null,:col1 + 19000000)")
    Indeed, the input format date is SYYMMDD where S=0 if year=19xx and S=1 if Year=20xx.
    Thanks for your reply.

Maybe you are looking for