Oracle insert speed (92k records)

I am inserting 92,000 records into oracle (nightly job)
I am just trying to speed things up (is my first C#/Oracle app)
at the moment, I have 2 ways of inserting the records
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
1) command.CommandText = "INSERT into B2BE (ledger,sku,descr,Price,PriceT,PriceP,PricePS,PricePX,unitom,Brandname ) VALUES ('" + myLedger + "','" + mySku + "' ,'" + myDescrip + "', " + myRetail + "," + myTrade + " , " + myPP + " , " + myPPS + "," + myPPX + " ,'" + myUnitom + "' ,'" + myBrandname + "' )";
command.ExecuteNonQuery();
2) command.ArrayBindCount = maxArray;
command.CommandText = "INSERT into B2BE (ledger,sku,descr,Price,PriceT,PriceP,PricePS,PricePX,unitom,Brandname ) VALUES (:p_Ledger , :p_Sku , :p_Descrip , :p_Retail , :p_Trade , :p_PP , :p_PPS , :p_PPX , :p_Unitom , :p_Brandname )";
OracleParameter prm2 = new OracleParameter("p_Ledger", OracleDbType.Varchar2);
prm2.Direction = ParameterDirection.Input;
prm2.Value = a_myLedger;
prm2.Size = maxArray;
command.Parameters.Add(prm2);
etc etc...
Both ways work fine, but I was trying to work out a way of speeding up the process
at the moment, option 1) takes 10 mins to process 92k records doing an insert for each record, (in a loop) and option 2) takes 7 mins to process 2 blocks of 60k records then 32k records
are these speeds acceptable? or am I doing things totally wrong
(application attacks old foxpro tables using codebase, & process's them all to get ready to push into oracle that process takes all of 45 seconds)... yes codebase is insane.
Thanks
-Chris

Hi,
I'm not sure what, but I'd say "you're doing something wrong", unless you have Network issues or something perhaps.
Inserting 60,000 records, using the following code, takes 3 seconds on my system (the database is local however, so I have minimal network delay). How long does this code take on your system?
I'm using 10.2.0.2.20 ODP, 10.2.0.3 client/database for what it's worth.
Cheers
Greg
TABLE
======
create table bulkttab(col0 number,col1 varchar2(4000), col2 varchar2(4000), col3 varchar2(4000),
col4 varchar2(4000),col5 varchar2(4000),col6 varchar2(4000),col7 varchar2(4000),
col8 varchar2(4000),col9 varchar2(4000));
CODE
=========
private static void arraybind()
string connectStr = "User Id=scott;Password=tiger;Data Source=orcl";
int size = 60000;
int[] myArrayofNums = new int[size];
string[] myArrayofV2s = new string[size];
for (int i = 0; i < size; i++)
myArrayofNums[i] = i;
myArrayofV2s[i] = "abcdefghijklmnopqrstuvwxyz";
OracleConnection connection = new OracleConnection(connectStr);
OracleCommand command = new OracleCommand("insert into bulkttab values(:0,:1,:2,:3,:4,:5,:6,:7,:8,:9)", connection);
command.ArrayBindCount = size;
OracleParameter numParam = new OracleParameter("param2", OracleDbType.Int32);
numParam.Direction = ParameterDirection.Input;
numParam.Value = myArrayofNums;
command.Parameters.Add(numParam);
for (int i = 1; i < 10; i++)
OracleParameter v2param = new OracleParameter("", OracleDbType.Varchar2);
v2param.Direction = ParameterDirection.Input;
v2param.Value = myArrayofV2s;
command.Parameters.Add(v2param);
connection.Open();
DateTime start = DateTime.Now;
command.ExecuteNonQuery();
DateTime stop = DateTime.Now;
Console.WriteLine("{0} records inserted in {1} seconds", size,(stop - start));
connection.Close();
command.Dispose();
connection.Dispose();
OUTPUT
========
60000 records inserted in 00:00:02.2656250 seconds

Similar Messages

  • How to speed insert my 1000000 records into the database?

    my code like:
    <cfloop from="1" to="#inserteddb.getrecordcount()#"
    index="x">
    <!----
    Here make the InsertFieldList and InsertValueList
    --->
    <cfquery datasource="#cfdsn#" name="insertdata">
    insert into inputtest (#InsertFieldList#)
    values (
    <cfqueryparam value="#InsertValueList#"
    cfsqltype="cf_sql_varchar" list="yes">
    </cfquery>
    </cfloop>
    The test inserts 100,000 records, has spend I 30 minutes
    time,but I have 1,000,000 record to insert , is there any way to
    enhance the insertion speed?
    Thanks a lot.

    By removing ColdFusion from the process as much as possible.
    Where is the 'insertedDB' data coming from? It looks to be a
    record set?
    Are you moving data from one data source to another? If so,
    some DBMS
    have the ability to insert an entire record set in one step.
    I do not
    have the exact syntax at my finger tips, but I have done
    something like
    this in the past with Oracle. INSERT INTO aTable SELECT FROM
    bTable.
    Are you building a record set from a text file such as CSV?
    If so, many
    DBMS have the ability to do 'bulk' inserts from such text
    files and CF
    does not even need to be involved.
    As you can see, knowing exactly what are you working with
    will help us
    provide suggestions an how to improve your process.

  • Record insert speed! help me

    I use SQLServer 2000.In order to increase insert speed,I use batch method.But the result is too bad.
    Only 2000 records are inserted at one min.I think I use batch in a wrong way,anyone could give me a sample about it?The refrence is welcome.Thank you.
    By the way,how many records could be inserted in one min.
    Thanks for reading.

    Insert speed is dictated by:
    - Network speed
    - If the database must reparse the SQL for each insert statement
    - If the inserting is logged or not
    - If there are triggers and constraints in the tables affected by the insert
    - If there are a lot of indexes in the tables affected by the insert.
    If you really need to insert a lot of lines in a batch, use bcp or DTS.
    The executeBatch methods (JDBC 3.0) alleviate the influence of the two first factors (network speed and reparsing SQL statements). The other factors can not be reduced using pure JDBC.

  • Oracle.adfinternal.controller.savepoint.SavePointException: ADFC-08008: The ADF Controller is unable to insert a savepoint record for ID

    I implemented a save point in a task flow by creating a save point in a method action The following is the code from managed bean for creating the save point:
                 ControllerContext cc = ControllerContext.getInstance();
    if (cc != null) {
    SavePointManager mgr = cc.getSavePointManager();
    if (mgr != null) {
    String id = mgr.createSavePoint();
    savePointId = id;
    It worked fine in local (Integrated Weblogic server). It also worked fine initially when I deployed the changes to the DEV weblogic server. But after a couple of days, in DEV server I get the following error everytime when trying to create a save point:
    Caused By: oracle.adfinternal.controller.savepoint.SavePointException: ADFC-08008: The ADF Controller is unable to insert a savepoint record for ID '4d233555-ea0c-4bae-9f17-cc6c
    7124870f'. oracle.adfinternal.controller.savepoint.SavePointUtil.createAndLogSavePointException(SavePointUtil.java:56)
            at oracle.adfinternal.controller.savepoint.SavePointDBPersistManager.insertSavePoint(SavePointDBPersistManager.java:245)
            at oracle.adfinternal.controller.savepoint.DBSavePointManagerImpl.storeSavePoint(DBSavePointManagerImpl.java:127)
            at oracle.adfinternal.controller.savepoint.SavePointManagerImpl.storeSavePoint(SavePointManagerImpl.java:301)
            at oracle.adfinternal.controller.savepoint.SavePointManagerImpl.createAndStoreSavePoint(SavePointManagerImpl.java:257)
            at oracle.adfinternal.controller.savepoint.SavePointManagerImpl.createSavePoint(SavePointManagerImpl.java:187)
            at oracle.adfinternal.controller.savepoint.SavePointManagerImpl.createSavePoint(SavePointManagerImpl.java:116)
            at view.security.errormanagement.ManageErrorsMB.saveTaskFlow(ManageErrorsMB.java:213)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
            at java.lang.reflect.Method.invoke(Method.java:611)
            at com.sun.el.parser.AstValue.invoke(Unknown Source)
            at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
            at oracle.adf.controller.internal.util.ELInterfaceImpl.invokeMethod(ELInterfaceImpl.java:173)
            at oracle.adfinternal.controller.activity.MethodCallActivityLogic.execute(MethodCallActivityLogic.java:163)
            at oracle.adfinternal.controller.engine.ControlFlowEngine.executeActivity(ControlFlowEngine.java:1035)
            at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:926)
            at oracle.adfinternal.controller.engine.ControlFlowEngine.doRouting(ControlFlowEngine.java:824)
            at oracle.adfinternal.controller.engine.ControlFlowEngine.routeFromActivity(ControlFlowEngine.java:554)
            at oracle.adfinternal.controller.engine.ControlFlowEngine.performControlFlow(ControlFlowEngine.java:158)
            at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleAdfcNavigation(NavigationHandlerImpl.java:115)
            at oracle.adfinternal.controller.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:84)
            at org.apache.myfaces.trinidadinternal.application.NavigationHandlerImpl.handleNavigation(NavigationHandlerImpl.java:50)
            at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)
            at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)
            at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:157)
            at org.apache.myfaces.trinidad.component.UIXTable.broadcast(UIXTable.java:279)
            at oracle.adf.view.rich.component.UIXTable.broadcast(UIXTable.java:145)
            at oracle.adf.view.rich.component.rich.data.RichTable.broadcast(RichTable.java:479)
            at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:159)
            at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:130)
            at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:461)
            at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:134)
            at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:112)
            at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:130)
            at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:461)
            at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:134)
            at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:106)
            at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:1129)
            at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:353)
            at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:204)
            at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:122)
            at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
            at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
            at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
            at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
            at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
            at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
            at java.security.AccessController.doPrivileged(AccessController.java:284)
            at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
            at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
            at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
            at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
            at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
            at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
            at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
            at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused By: java.sql.SQLException: Connection has already been closed.
            at weblogic.jdbc.wrapper.PoolConnection.checkConnection(PoolConnection.java:58)
            at weblogic.jdbc.wrapper.Connection.preInvocationHandler(Connection.java:94)
            at weblogic.jdbc.wrapper.Connection.prepareCall(Connection.java:543)
            at oracle.adfinternal.controller.savepoint.SavePointDBPersistManager.insertSavePoint(SavePointDBPersistManager.java:221)
            at oracle.adfinternal.controller.savepoint.DBSavePointManagerImpl.storeSavePoint(DBSavePointManagerImpl.java:127)
            at oracle.adfinternal.controller.savepoint.SavePointManagerImpl.storeSavePoint(SavePointManagerImpl.java:301)
            at oracle.adfinternal.controller.savepoint.SavePointManagerImpl.createAndStoreSavePoint(SavePointManagerImpl.java:257)
            at oracle.adfinternal.controller.savepoint.SavePointManagerImpl.createSavePoint(SavePointManagerImpl.java:187)
            at oracle.adfinternal.controller.savepoint.SavePointManagerImpl.createSavePoint(SavePointManagerImpl.java:116)
            at view.security.errormanagement.ManageErrorsMB.saveTaskFlow(ManageErrorsMB.java:213)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
            at java.lang.reflect.Method.invoke(Method.java:611)
    At the bottom of the stack, this statement "Caused By: java.sql.SQLException: Connection has already been closed." intrigues me, but why this error occurs after a couple of days or after particular number of connections or access to the application.
    This same issue is also happening in all environments including PROD. Please help. JDeveloper version used is 11.1.2.1.0.

    We got the solution from Oracle support. 
    Passivation Fails With Error "Connection has already been closed" in PoolConnection.checkConnection() (Doc ID 1330271.1). Problem is caused by the WebLogic Server Connection Pool feature "Inactive Connection Timeout". When this parameter is set up, WLS will forcibly release reserved connections back into the pool. This is a problem for ADF BC that relies on keeping the JDBC connection associated to its
    Application Module instance.
    Set the "Inactive Timeout Session" to 0 (default), so that the JDBC connection stays active while
    the corresponding Application Module instance is active:
    Thanks....

  • INSERT of one record takes 40 seconds; That is much too long;

    Oracle 8.1.7
    Tablestructure:
    10 Fields; 3 numeric; 7 Varchar2(10 Bytes, 30, 5, 230, 4, 7, 15);
    The Table contains 3.200.000 records. It was filled with sqlldr. The Fields are mostly filled. The 230-byte field mostly with 40 bytes.
    A numeric primary key and a numeric foreign key exist. The foreign key without oracles referential integrity.
    The INSERT of one record takes approximately 40 seconds.
    Oracle and the database are standard configured.
    Computer:
    Windows NT 2000
    2 INTEL - Processors 500 MHz;
    RAM: 500 MB
    1 Disk ULTRA ATA/66 data transfer rate: 10 - 20 MB/sec
    mean access time 9 ms
    Any recommendations to increase the INSERT speed are welcome.

    Hi,
    The INSERT of one record takes approximately 40
    seconds.Yes, it seems slow, but if you have only one disk and only 500 Mb memory, I wonder if this 40s is slow comparing to another operation like "switching logfile", "starting the database", ...
    It also depends how many indexes should maintained, if this time is constant, if the tablespace have enough extent, ...
    The tuning of a database is always difficult, the most important is to find the biggest bottelneck. Start by reading the tuning guide, get your ratio, analyze your performance, and see what the problem is (IO/memory/swapping/poor sql/...)
    With only one disk, it is normal to have contention between the log writter, the database writter, the oracle software, the operating system. So your ratio should be read with care! Do not tune everywhere at the same time ! Research the cause, then react appriopriatly.
    Regards
    Laurent

  • Insert order by records into a view with a instead of trigger

    Hi all,
    I have this DML query:
    INSERT INTO table_view t (a,
                              b,
                              c,
                              d,
                              e)
          SELECT   a,
                   b,
                   c,
                   d,
                   e
            FROM   table_name
        ORDER BY   dtable_view is a view with an INSTEAD OF trigger and table_name is a table with my records to be inserted.
    I need the ORDER BY clause because in my trigger i call a procedure who treat each record and insert into a table, used in the view. I need to garantee these order.
    If i put an other SELECT statement outside, like this:
    INSERT INTO table_view t (a,
                              b,
                              c,
                              d,
                              e)
          SELECT   a,
                   b,
                   c,
                   d,
                   e
            FROM   table_name
        ORDER BY   dIt works. But I can put these new SELECT because these query is created automatic by Oracle Data Integrator.
    What I'm asking you is if there any solution to this problem without changing anything in the Oracle Data Integrator. Or, in other words, if there is any simple solution other than to add a new SELECT statement.
    Thanks in advance,
    Regards.

    Sorry... copy+paste error :)
    INSERT INTO table_view t (a,
                              b,
                              c,
                              d,
                              e)
        SELECT   *
          FROM   (  SELECT   a,
                             b,
                             c,
                             d,
                             e
                      FROM   table_name
                  ORDER BY   d)I need to insert him by a D column order, because my trigger needs to validate each record and insert him. I have some restrictions. For example, my records are:
    2     1     2006     M
    1     2     2007 M
    1     3     2007     S 2007
    1     2     2007     S 2007
    2     1     2009     S
    2     1     2009     S
    I want to insert the 'M' records first and then the 'S' records because the 'S' records only makes sense in target table is exists 'M' records
    Regards,
    Filipe Almeida

  • What's the best way to insert/update thousands records in multiple tables

    Can anyone give an example of how to insert/update thousands records in multiple tables on performance wise? or what should I do to improve the performance?
    Thanks
    jim

    You can see a set of sample applications in various scenarious available at
    http://otn.oracle.com/sample_code/tech/java/sqlj_jdbc/content.html

  • How do I insert/update certain records that I've identified in cursors..?

    Morning gurus..
    As the title asks, I have this script that loads records into a temp table then compares these with whats in the ORACLE table. When each temp table record has been identified as being either needing to be inserted or not, how do I then insert these identified records? As in, how can I do..
    INSERT INTO xxxxxxxxxxx_SUPPLIERS (vendor_id, vendor_name,segment1, end_date_active) VALUES (2, 'SUPPLIER NAME 2', 100002, sysdate); ..but I'll need to put in some variable names where the values have been written in above - is this allowed..?
    thanks,
    E

    hi,
    here is a small sample for your query.... given Procedure InsertExcep is reading data from table code_master and inserting all fetched records into another table test_code_master..... before insert you can do any comparison within loop..... or even can give any Update statement....
    CREATE TABLE code_master
    CODE VARCHAR2(10),
    CODE_DESC VARCHAR2(70)
    INSERT INTO CODE_MASTER ( CODE, CODE_DESC ) VALUES (
    'ORG0007', 'PARTNERSHIP FIRM');
    INSERT INTO CODE_MASTER ( CODE, CODE_DESC ) VALUES (
    'ORG0008', 'CONSULTANCY FIRM OR PROFESSIONAL BODY');
    INSERT INTO CODE_MASTER ( CODE, CODE_DESC ) VALUES (
    'ORG0009', 'SOCIAL ORGANIZATION');
    INSERT INTO CODE_MASTER ( CODE, CODE_DESC ) VALUES (
    'ORG0010', 'EMBASSY');
    CREATE TABLE test_code_master
    CODE VARCHAR2(10),
    CODE_DESC VARCHAR2(70)
    CREATE OR REPLACE PROCEDURE InsertExcep
    AS
    CURSOR insertdata
    IS
    SELECT code,code_desc
    FROM code_master ;
    BEGIN
         FOR i IN insertdata
         LOOP
                   BEGIN
                   INSERT INTO test_code_master (code,code_desc)
                   VALUES(i.code,i.code_desc);
                   EXCEPTION WHEN OTHERS THEN
                   DBMS_OUTPUT.PUT_LINE ( 'Error during Insert code - '||i.code );
                   END;
         END LOOP;
    EXCEPTION WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE ( 'Error in InsertExcep' );
    END;
    hope this will work...
    Thanx
    MB

  • Error: Unable to insert new audit record for auditee 21 in repository UPA..

    Hi,
    I've got the error message below. Have you ever got this?
    DEBUG [ACTIVE] ExecuteThread: '18' for queue: 'weblogic.kernel.Default (self-tuning)' XELLERATE.DATABASE - insert into UPA (UPA_KEY,usr_key,EFF_FROM_DATE,SRC,SNAPSHOT,DELTAS) values (?,?,?,?,?,?)
    DEBUG [ACTIVE] ExecuteThread: '18' for queue: 'weblogic.kernel.Default (self-tuning)' XELLERATE.DATABASE - select UPA_seq.nextval from dual
    ERROR [ACTIVE] ExecuteThread: '18' for queue: 'weblogic.kernel.Default (self-tuning)' XELLERATE.DATABASE - Class/Method: tcDataBase/writeStatement encounter some problems: ORA-01461: can bind a LONG value only for insert into a LONG column
    java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column
         at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
         at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1030)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
         at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:947)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3381)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3462)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1349)
         at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:159)
         at com.thortech.xl.dataaccess.tcDataBase.writePreparedStatement(Unknown Source)
         at com.thortech.xl.dataobj.PreparedStatementUtil.executeUpdate(Unknown Source)
         at com.thortech.xl.audit.genericauditor.utils.AuditDataHandler.write(Unknown Source)
         at com.thortech.xl.audit.genericauditor.AuditMessageProcessor.updateAuditRecords(Unknown Source)
         at com.thortech.xl.audit.genericauditor.AuditMessageProcessor.processAuditMessage(Unknown Source)
         at com.thortech.xl.audit.genericauditor.GenericAuditor.processAuditMessage(Unknown Source)
         at com.thortech.xl.audit.engine.AuditEngine.processSingleAudJmsEntry(Unknown Source)
         at com.thortech.xl.audit.engine.AuditEngine.processOfflineNew(Unknown Source)
         at com.thortech.xl.audit.engine.jms.XLAuditMessageHandler.execute(Unknown Source)
         at com.thortech.xl.schedule.jms.messagehandler.MessageProcessUtil.processMessage(Unknown Source)
         at com.thortech.xl.schedule.jms.messagehandler.AuditMessageHandlerMDB.onMessage(Unknown Source)
         at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
         at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
         at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4547)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:4233)
         at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3709)
         at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
         at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5058)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    ERROR [ACTIVE] ExecuteThread: '18' for queue: 'weblogic.kernel.Default (self-tuning)' XELLERATE.AUDITOR - Failed to process audit message
    com.thortech.xl.audit.exceptions.AuditMsgProcessingFailedException: Unable to insert new audit record for auditee 21 in repository UPA
    sert statement failed is: insert into UPA (UPA_KEY,usr_key,EFF_FROM_DATE,SRC,SNAPSHOT,DELTAS) values (?,?,?,?,?,?)
    auditRepository=UPA_KEY; auditeeID=21
    auditEpoch=2009-09-05 15:58:37.284; source=User: USER.TEST, API: com.thortech.xl.ejb.beansimpl.tcProvisioningOperationsBean, Method: updateTask
         at com.thortech.xl.audit.genericauditor.utils.AuditDataHandler.write(Unknown Source)
         at com.thortech.xl.audit.genericauditor.AuditMessageProcessor.updateAuditRecords(Unknown Source)
         at com.thortech.xl.audit.genericauditor.AuditMessageProcessor.processAuditMessage(Unknown Source)
         at com.thortech.xl.audit.genericauditor.GenericAuditor.processAuditMessage(Unknown Source)
         at com.thortech.xl.audit.engine.AuditEngine.processSingleAudJmsEntry(Unknown Source)
         at com.thortech.xl.audit.engine.AuditEngine.processOfflineNew(Unknown Source)
         at com.thortech.xl.audit.engine.jms.XLAuditMessageHandler.execute(Unknown Source)
         at com.thortech.xl.schedule.jms.messagehandler.MessageProcessUtil.processMessage(Unknown Source)
         at com.thortech.xl.schedule.jms.messagehandler.AuditMessageHandlerMDB.onMessage(Unknown Source)
         at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
         at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
         at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4547)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:4233)
         at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3709)
         at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
         at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5058)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by [Nested Exception]:
    com.thortech.xl.orb.dataaccess.tcDataAccessException
         at com.thortech.xl.dataaccess.tcDataAccessExceptionUtil.createException(Unknown Source)
         at com.thortech.xl.dataaccess.tcDataBase.createException(Unknown Source)
         at com.thortech.xl.dataaccess.tcDataBase.writePreparedStatement(Unknown Source)
         at com.thortech.xl.dataobj.PreparedStatementUtil.executeUpdate(Unknown Source)
         at com.thortech.xl.audit.genericauditor.utils.AuditDataHandler.write(Unknown Source)
         at com.thortech.xl.audit.genericauditor.AuditMessageProcessor.updateAuditRecords(Unknown Source)
         at com.thortech.xl.audit.genericauditor.AuditMessageProcessor.processAuditMessage(Unknown Source)
         at com.thortech.xl.audit.genericauditor.GenericAuditor.processAuditMessage(Unknown Source)
         at com.thortech.xl.audit.engine.AuditEngine.processSingleAudJmsEntry(Unknown Source)
         at com.thortech.xl.audit.engine.AuditEngine.processOfflineNew(Unknown Source)
         at com.thortech.xl.audit.engine.jms.XLAuditMessageHandler.execute(Unknown Source)
         at com.thortech.xl.schedule.jms.messagehandler.MessageProcessUtil.processMessage(Unknown Source)
         at com.thortech.xl.schedule.jms.messagehandler.AuditMessageHandlerMDB.onMessage(Unknown Source)
         at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
         at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
         at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4547)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:4233)
         at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3709)
         at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
         at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5058)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by [Nested Exception]:
    java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column
         at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
         at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1030)
         at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
         at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:947)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3381)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3462)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1349)
         at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:159)
         at com.thortech.xl.dataaccess.tcDataBase.writePreparedStatement(Unknown Source)
         at com.thortech.xl.dataobj.PreparedStatementUtil.executeUpdate(Unknown Source)
         at com.thortech.xl.audit.genericauditor.utils.AuditDataHandler.write(Unknown Source)
         at com.thortech.xl.audit.genericauditor.AuditMessageProcessor.updateAuditRecords(Unknown Source)
         at com.thortech.xl.audit.genericauditor.AuditMessageProcessor.processAuditMessage(Unknown Source)
         at com.thortech.xl.audit.genericauditor.GenericAuditor.processAuditMessage(Unknown Source)
         at com.thortech.xl.audit.engine.AuditEngine.processSingleAudJmsEntry(Unknown Source)
         at com.thortech.xl.audit.engine.AuditEngine.processOfflineNew(Unknown Source)
         at com.thortech.xl.audit.engine.jms.XLAuditMessageHandler.execute(Unknown Source)
         at com.thortech.xl.schedule.jms.messagehandler.MessageProcessUtil.processMessage(Unknown Source)
         at com.thortech.xl.schedule.jms.messagehandler.AuditMessageHandlerMDB.onMessage(Unknown Source)
         at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
         at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
         at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4547)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:4233)
         at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3709)
         at weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
         at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5058)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

    Hello Peter:
    Thanks! I tried to input two detail records and still get only one error.
    I don't have pre/post trigger in my form. I use WHEN_BUTTON_PRESSED trigger with the following code:
    if get_block_property('PARENT_DATA',status) = 'CHANGED' or
    get_block_property('DETAIL_DATA',status) in ('CHANGED') then
    COMMIT;
    I also try File -> Save. It does not work either.
    Do I need to pre/and post trigger to check for it? If so, please show me how.
    Thanks again,
    TD

  • ADF: any good examples on inserting a new record

    Hi, I'm currently developing a
    web based application (using jsp + struts on top of ADF)
    and I've seen many many demos and viewlets on
    how to create a page that reads a list of employees
    or master-detail relationship of records.
    However, when I try to make a page which can insert
    a new record (ex. new employee, new department, etc),
    I am baffled, because I couldn't find a good example
    that showed me how to do it.
    Has anyone have a good example?
    thank you.

    Did you check the tutorials page?
    For example:
    http://otn.oracle.com/products/jdev/collateral/tutorials/9050/bizcomp_jsp_tut.html

  • Try to insert 10.000 records, but stop at 500 records

    I try to insert 10.000 records to 4 coloumn table at sun solaris oracle, from visual basic application, but it stop at 500 records, and when I try to insert record 501, it never succeded.
    Is there limitation in oracle database in insertion procedure ?

    Hi,
    There is no such limitations in Oracle Database. The insertion process is going on, but it looks like hanging. You can do one thing to trace the happenings.
    1. Paste progress bar item in your screen
    2. Set Min = 1
    3. Set Max = Total no of records from source table(where 10,000 records are there)
    4. You might have one Do while..loop structure to insert a record to a target table. Within that loop, increase the value of process bar. So,while inserting a record, the progress bar value will change.
    So, you can trace whether the process is running or not.
    I think, this will help u to trace the process.
    N.Swaminathan

  • Insert Speed

    Hello.
    I have a db which has 5M records and has 2 secondary associated dbs.
    ENV uses 800M cache.
    I have checked speed of insertion, and how long took to populate every 100,000 records.
    before 3M records, it took about 10 sec. to insert every 100,000 records.
    I think that's very nice.
    But after 3M inserted, it took about 100 sec. to insert every 100,000 records.
    overall, it took 20 minutes to insert 5M records.
    Is there any solution improving performance without having more cache?
    Thanks.
    ps.
    * Primary DB's file size is 4.9GB
    * 2 Secondary DB's file size is 700MB
    * I'm not using transactions.
    Result of Insert Test
    inserted rows seconds to insert 100,000 records
    100,000      5.5
    200,000      4.5
    300,000      5.6
    400,000      5.8
    500,000      5.4
    600,000      6.7
    700,000      5.2
    800,000      9.5
    900,000      8.1
    1,000,000      10
    1,100,000      10.8
    1,200,000      9.9
    1,300,000      10.7
    1,400,000      11
    1,500,000      11.8
    1,600,000      9.6
    1,700,000      10.6
    1,800,000      10.9
    1,900,000      12.2
    2,000,000      11
    2,100,000      10.8
    2,200,000      10.9
    2,300,000      11.7
    2,400,000      11.1
    2,500,000      13.9
    2,600,000      10.7
    2,700,000      10.6
    2,800,000      11.4
    2,900,000      11.3
    3,000,000      24.2
    3,100,000      45.4
    3,200,000      53
    3,300,000      38
    3,400,000      59.4
    3,500,000      81.8
    3,600,000      83.8
    3,700,000      95.6
    3,800,000      79
    3,900,000      75.8
    4,000,000      80.9
    4,100,000      98
    4,200,000      117.8
    4,300,000      110
    4,400,000      96
    4,500,000      82
    4,600,000      101
    4,700,000      104
    4,800,000      109
    4,900,000      110
    4,931,099      20
    Message was edited by:
    wertyu
    Message was edited by:
    wertyu
    Message was edited by:
    wertyu

    Hello.
    I have a db which has 5M records and has 2 secondary
    associated dbs.
    ENV uses 800M cache.
    I have checked speed of insertion, and how long took
    to populate every 100,000 records.
    before 3M records, it took about 10 sec. to insert
    every 100,000 records.
    I think that's very nice.
    But after 3M inserted, it took about 100 sec. to
    insert every 100,000 records.You did not mention what hardware you run on. I can give you some numbers that I'm seeing on my MacBook Pro (2.4 Ghz, slow laptop disk)
    My records are 40 bytes and my keys are 20 bytes. With two secondary indexes I'm inserting those with about 20.000 records per second. The insert speed is pretty constant, whether I'm testing with 200.000 or 10.000.000 million records.
    The one thing that is completely killing performance is doing an import from some dump file on the same filesystem that ie being read record by record. If I do that then I see your speed pattern, first few go fast, then it drops.
    What worked very well for me was to read all or large chunks of import files into memory. Then there is mostly write access to the database files and nothing else. Speeds up many times.
    S.

  • How to insert a specific record into alv

    Hi everyone,
      here is my problem:
        I put an ALV GRID control in my screen , it display some records.
        and I create a new button on the toolbar, and in the "handle user command class" , I need to
    select a record from DB table into a work area.
        after I select the record I need, here is the key question:
          *I want to insert the record into the ALV at a specific row position which the user decided,
    what should I do?*
      METHOD HANDLE_ON_USER_COMMAND.
        CASE E_UCOMM.
          WHEN CL_GUI_ALV_GRID=>MC_FC_LOC_INSERT_ROW.
          WHEN 'FC_ASSIGN'.
    ***I do some selection here  
            select %%%$$%%%^&&** into GS_HOLIDAYS.
    *** after the selection, what should I do then????
    *** I want to insert the work area GS_HOLIDAYS into ALV at a specific position
    *** e.g.  into the 3rd row.
    *** how can I achieve that????
    ***call a method or something??????I don't know    
          WHEN 'FC_DELETE'.
          WHEN OTHERS.
        ENDCASE.
      ENDMETHOD.
    pls don't let me go through the programs in package "SLIS",because I have already done that and
    I haven't solved my problems yet.
    Thanks for your help.

    All u need to do is on user command for inserting new records u just insert a blank record in your internal table that u are displaying with required style informaion for making it editable and then refresh alv display by method REFRESH_TABLE_DISPLAY.
    Thanks & Regards,
    Vivek Gaur

  • Insert OR Update records

    Hi All,
    I want to write a stored procedure to insert or update the value into the customer table. If the record exist, I need to insert. If it does not exist, I need to update. Could you tell me how do we do it.
    My Current stored procedure is :
    CREATE OR REPLACE PROCEDURE customer_update
    (p_cust_id IN VARCHAR2,
    p_cust_name IN VARCHAR2)
    AS
    BEGIN
    INSERT INTO CUSTOMER (cust_id, cust_NAME, update_dm)
    VALUES (p_cust_id, p_cust_name, sysdate);
    COMMIT;
    END customer_update;

    I think we need to be careful about using EXCEPTION to handle normal (expected) processing. Also, if the row is more likely to exist than not exist, it might be better to try the UPDATE first, and only go for INSERT if SQL%ROWCOUNT = 0;
    There's been a few of these sort of questions posted recently, and I find them worrying, becuase it suggests poorly designed systems. The user ought to know whether they are inserting a new record or amending an existing one. The MERGE functionality is useful for data migration/upload scenarios, but I think using it in a business situation is, in the words of Kent Beck, a "code smell".
    Cheers, APC

  • How to insert a sound recording and save it to iTunes?

    How to insert a sound recording and save it to iTunes?
    I have 5 voice recording on my iPhone, but the fifth was not detected on iTunes.So i can't sync

     
    Hi,
    According to my analysis, for Digital Signatures: Adobe has changed the behavior around digital signatures and SharePoint-hosted PDF files. Now, when digitally signing a SharePoint-hosted PDF file, it will be saved directly to SharePoint if that PDF file
    is already checked out. If not, the user will be prompted to check it out. When digitally signing a SharePoint-hosted PDF file in Acrobat X, Version 10.0, the user would be prompted to save that file locally and would then need to upload it separately to SharePoint
    as a new version.
    I suggest that you use Acrobat X, then check the result. For more information about Acrobat X, please refer to
    http://blogs.adobe.com/pdfitmatters/2011/06/whats-new-in-acrobat-x-version-10-1.html
    In addition, you can also consider the following third-party tool:
    http://www.arx.com/digital-signature/sharepoint
    Thanks,
    Rock Wang

Maybe you are looking for

  • GPS info in MobileMe Gallery pictures.  Google Map?

    I took pictures on my iPhone, downloaded them into iPhoto, and made sure the GPS info was in the files. I created a MobileMe gallery, uploaded it, and checked to discover that when you click on the "i" icon in the MobileMe gallery from a web browser

  • Downloading and opening a PDF form

    I have been trying to download a form through safari which should arrive as a pdf. However instead of this a 'servlet' arrives on my desktop (which apparently contains all the info I need but is just a text edit list of commands for me) - I have trie

  • What is the Java equivalent of Visual BAsic ASC() and MID() functions

    Hello all! I just would like to ask if you have any idea on how to convert the VB ASC() and MID() functions into java. Where: 1. ASC( ) Function - Returns the ANSI value for the leftmost character in a character expression. 2. MID() Function - The Mi

  • Could not read reports properties

    I am compiling reports with 11.1.1.3.0 on Solaris and keep getting the message: "Could not read reports properties". The RDFs do get to converted to REP files, so it appears to be just a warning message. The error appears to be a file privilege issue

  • Ckeking the SQL performance

    Hello: For checking the performance of my sql's I use the next SELECT: SELECT AU.username, SA.sql_text, SA.executions, SA.LAST_LOAD_TIME, SA.LAST_ACTIVE_TIME, SA.CPU_TIME, SA.ELAPSED_TIME, SA.OPTIMIZER_COST, SA.PLSQL_EXEC_TIME FROM v$sql SA, all_user