Concurrent transactions on a table

We have a setup where business users can run SQR jobs against a table. Some times I end up seeing two similar transactions being run on the server.When I analysed these transactions I could see that one transaction (A) is active in the Rollback and the wait message indicates this event "SQL net message from client" . The other transaction (B) is basically complete. When I asked the user why he had to run the same report twice, he said the first report was kind of hung up which actually gets reflected in the wait event for that session.
so here is my question..
1. How long the data pertaining to the Transaction A will be in the Rollback segment? I have seen that this Rollback segment holds this information for hours.
I am not sure if this is because of the transaction volume in the DB.
2. What will happen if I kill the Transaction A ? Ideally it should do a roll back right.
Regards,
BMP

Hello BMP,
i don't know what SQR jobs are, but....
1. How long the data pertaining to the Transaction A will be in the Rollback segment? I have seen that this Rollback segment holds this information for hours.The data will be in the rollback segment until you commit / rollback the transaction.
The "SQL*Net message from client" is an idle event of the database, and the process waits for input/data from the client. So i would guess that the problem is at your client processing.
http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/waitevents003.htm#sthref4553
If you commit/rollback the transaction the data will be available until the undo retention, but this is another story...
2. What will happen if I kill the Transaction A ? Ideally it should do a roll back right.Yeah, thats right... if the transaction changes some data until the wait event "SQL*Net message from client" and you kill the transaction... it will be rolled back.
Or are you hitting such a scenario like that?
http://oracletoday.blogspot.com/2005/09/sqlnet-message-from-client.html
Regards
Stefan

Similar Messages

  • [Oracle 10g] How to show concurrent transactions during a period?

    Hello all,
    I used Oracle 10g database
    I try to select the number of concurrent transactions during a period.
    I know how to select the number of transactions executed in one day, but i want to know the concurrent transactions.
    Can you help me ?
    Thanks in advance
    Regards
    Mathieu

    Which transactions do you wish to track?
    Are you referring to transactions that occur against a specific set of tables or all transactions against a schema and/or database instance?

  • Add new mandatory column without killing concurrent transactions

    I know of several approaches to this problem, but as the table in question is key to my organisation, I'd quite like to get this right first time!
    I need to add a 1 character column to a large (approx 1 million rows, approx 100 cols) table which also happens to be central to our database (contains client details). The table is involved in the majority of transactions on our database, 24/7 so I need to find the method with the least impact on concurrent transactions.
    We use mod_plsql for our applications, and a previous attempt (by another developer) caused all web pages to become unresponsive, followed by a database shutdown.
    Any advice?

    Just a note that I ended up writing a pl/sql script which used a select for update cursor to update the non-locked rows, and stored any locked rowids in an associative array. It then looped round the array trying to update these rows until they were all done. Did the trick. DBA wasn't keen or the redefinition package when he saw what it did!
    thanks,
    M

  • Concurrent transactions

    Hi, please consider a plain old Java (not EJBs) application for a book store.
    The application offer 3 operations:
    1. Add new book (Store the book info in the DB).
    2. Remove book (remove the book info from the DB).
    3. Modify book (update the book info in the DB).
    The system must support multiple users doing requests at the same time, thus the application must support concurrent transactions.
    The ANSI/ISO SQL standard defines the four isolation levels: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READS, SERIALIZABLE. Each level provides certain degree of isolation, the greatest isolation level is SERIALIZABLE but I've readed from several sources that it's not convenient to use this level because it causes a heavy impact in the performance and thus suggests to use READ COMMITTED.
    As far I know, the first three isolation levels don't provide perfect isolation: they allow ugly problems to appear like dirty reads, unrepeatable reads and phantom reads.
    What should I do to provide isolation to my system while using READ COMMITTED?
    I think that lots of people have faced this problem over years, and the question is: Are there some "common" or "standard" techniques to solve this?
    In other words, what is the correct approach to solve this?
    Thank you very much for the help.

    I have written two programs to test the situation.
    The first program uses JDBC.
    The second program uses hibernate.
    Both programs show the same result: The final copies count is wrong. The "lost updates" problem is occurring in both.
    Preconditions:
    Create a database.
    Create the table BOOK: create table BOOK (BOOK_ID INTEGER, TITLE VARCHAR(30), COPIES INTEGER, PRIMARY KEY(BOOK_ID))
    Insert in the table the row with BOOK_ID = 1, Title = "The Java Patterns", COPIES = 7:
    Below is the code for the JDBC test.
    public class LostUpdatesTest3 {
         private static CyclicBarrier barrier = null;
         public static void main(String[] args) throws Exception {
              Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
              int numOfThreads = 5;
              Thread[] threads = new Thread[numOfThreads];          
              barrier = new CyclicBarrier(numOfThreads);
              for (int i = 0; i < numOfThreads; i++) {
                   threads[i] = new MyTransaction();
                   threads.setName("thread " + i);
                   threads[i].start();
              for (Thread thread : threads) {
                   thread.join();
         private static class MyTransaction extends Thread {
              public void run() {
                   Connection con = null;
                   try {
                        con = DriverManager.getConnection(
                                  "jdbc:derby:d:/pruebas/jdbc1db;create=true", "root", "root");
                        con.setAutoCommit(false);
                        Statement statement = con.createStatement();
                        ResultSet resultSet = statement.executeQuery("SELECT * FROM BOOK");
                        resultSet.next();
              int id = resultSet.getInt("BOOK_ID");
              int copies = resultSet.getInt("COPIES");
                        barrier.await();
                        PreparedStatement preparedStatement = con.prepareStatement(
                        "UPDATE BOOK SET COPIES = ? WHERE BOOK_ID = ?");
                        preparedStatement.setInt(1, copies - 1);
                        preparedStatement.setInt(2, id);
                        preparedStatement.executeUpdate();
                        con.commit();
                        statement.close();
                        preparedStatement.close();
                        con.close();
                   } catch (Exception e) {
                        e.printStackTrace();
    This test creates 5 threads and starts them. Each thread runs a transaction to reduce 1 to the copies count.
    At the end of the test, the book have COPIES = 6                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Concurrent transactions problem- Can anybody help?- very urgent

    I have tested our application for multiple transactions i.e. concurrent transactions between two servers with IIS and Tomcat environment. We found some unexpected result and which is irrespective of the data (size ranging from 10 bytes to 10 kb, 50kb 70kb etc) sending across the servers on
    I was testing with 5 transactions (with data size of 13 bytes) from one machine (server1) i.e 5 windows of internet explorer. When I clicked on all the five, one after another quickly, I found that 4 transactions got success and one browser went to hang mode.
    Second time when I clicked on it, I found that 3 transactions got success, 1 in hang mode and 1 failed.
    We traced the exception at the point where it fails. Everytime it fails while reading the response back from the other end through InputStreamBuffer. The block in which it fails is
    Please follow the piece of code which i have written
    //reading response from the destination decrypt url,
    //which is also encrypted and signed
    //sending the same to caller of encrypt
    String data="";
    int end=0;
    char c[]=new char[4*1024];
    BufferedReader buf=null;
    //reading data in a chunks of data
    try
    inr=new InputStreamReader(connection.getInputStream());
    buf=new BufferedReader(inr,12*1024);
    while ((end=buf.read(c))!=-1)
    data=new StringBuffer(data).append(c,0,end).toString();
    catch(OutOfMemoryError e)
    System.out.println("Out of memory errror"+e.getMessage());
    try
    response.sendError(HttpServletResponse.SC_NOT_FOUND);
    return;
    catch(Exception e1)
    return;
    catch(Exception e1)
    System.out.println("Failure in reading response"+e1.getMessage());
    try
    response.sendError(HttpServletResponse.SC_NOT_FOUND);
    return;
    catch(Exception e2)
    return;
    finally
    try
    if(inr!=null)
    inr.close();
    if(buf!=null)
    buf.close();
    if (connection != null)
    connection.disconnect();
    catch(Exception e)
    System.out.println("Error in closing connection"+e.getMessage());
    Here the connection get disconnected and throws the following exceptions at difterent time of testing in failure case.
    1. Failure in reading response JVM_recv in socket input stream read (code=10004)
    Error in closing connection Socket closed
    2. Null pointer exception.
    Could you please tell us what would be the reasons for the above exceptions or failure and how to rectify or handle it.
    Thanks & Regards
    Gabriel

    - First, do not use BufferedReader.
    Use InputStream.read(byte[]) and make them to an String.
    If does not help use another stable version of TOMCAT
    on the same way.
    Also it is better to read the data over the Servlet API
    methods not over the IO streams.
    e.g. request.getParameter("XXX")
    - Do not close the socket connection in TOMCAT.
    TOMCAT themselves close the connection for you.
    Use the flush() method for getting the data faster.

  • Transaction code for Table Maitainence for table

    Hi all,
    i have created Table Maintainece for Table and also i need to create transaction code
    for table maintainence.
    there when i create transaction code with TRANSACTION with PARAMETERS and SKIP FIRST  SCREEN.
    I can see all the records in the table into table Maintainence.
    Is ther is any possibility like i can restrict records on the key fields (like selection screen).
    Will anybody let me know how to goahead with this requirement.
    Regards,
    Madhavi

    You can build a small report that call the maintenance view. In the report, convert the SELECT-OPTIONS input to the [DBA_SELLIST|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=dba_sellist&adv=false&sortby=cm_rnd_rankvalue] parameter of function module [VIEW_MAINTENANCE_CALL|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=view_maintenance_call&adv=false&sortby=cm_rnd_rankvalue].
    If you have "pertinent" key to filter the data, you may define these as sub-key in a mainetance view, those fields will be asked for when entering the maintanance dialog. Or you can build a [view cluster|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=se55&adv=false&sortby=cm_rnd_rankvalue] using these sub-set keys.
    Regards

  • Application crashes nearing 28 concurrent transactions

    Its been a while folks.... I used to post and answer allot
    here back in the day when i was coding in CF daily.
    Here is the problem... more details will follow when I get
    them. I was tasked by my director to look into a problem for an
    application on the network. NOTE: I know longer work in CF I
    haven't used it since I got certified on version 5.0 ( I knew I
    should have pulled my CF experience off my resume
    Anyway this is what I have so far, its not much but I was
    hoping someone out there has seen this and it a known
    infrastructure problem.
    This is what I got:
    "the issue is when they get up to 28 concurrent transactions,
    the application crashes"
    They are using ColdFusion Ver 7 Enterprise Edition
    (7.0.2.142559).
    Webservers ( 3 of them )
    HP Proliant BL25 G1
    4GB Ram 67GB Disk (via 2 disks mirrored) 2 dual-core 2.20GHz
    AMD processors
    Windows 2000 SP4
    IIS 5
    ColdFusion Ver 7 Enterprise Edition ( 7.0.2.142559 )
    Sun Java 1.4.2_13
    Course Content Server
    2GB Ram 4 x 3.2GHz Intel CPU
    Windows 2000 SP4
    IIS 5
    Apache Tomcat 4.1
    DB Server ( active/passive cluster)
    HP Proliant BL45P G1
    8GB Ram 67GB Disk (via 2 disks mirrored) 4 dual-core 2.2GHz
    AMD processors
    Windows 2003 SP1 Enterprise Edition
    Microsoft SQL 2000 Server Enterprise Edition SP4

    Thanks for your reply I am working on getting the log once I
    get access to the server Admin. They set the system to monitor
    everything and they are trying to replicate the problem to generate
    some type of useful log.
    I did have a call with the Client and they indicated that
    under large volumes.. 1/3 web servers hangs and does not take
    requests. The other 2 work fine and and CF runs as designed. All
    run IIS 5

  • Is it possible to find the transaction code via table name ??

    Hi
    Can any body please let me know is it possible to find the transaction code via table name ??
    Thanks in advance
    Sesh
    Edited by: seshu_sapfico on Dec 8, 2009 12:21 PM

    Please, specify your requirement... A table could be modified by various programs which are called by numerous transactions.

  • Concurrent transactions in servlets using HttpConnectionURL class

    I have tested our application for multiple transactions i.e. concurrent transactions between two servers with IIS and Tomcat environment. We found some unexpected result and which is irrespective of the data (size ranging from 10 bytes to 10 kb, 50kb 70kb etc) sending across the servers on
    I was testing with 5 transactions (with data size of 13 bytes) from one machine (server1) i.e 5 windows of internet explorer. When I clicked on all the five, one after another quickly, I found that 4 transactions got success and one browser went to hang mode.
    Second time when I clicked on it, I found that 3 transactions got success, 1 in hang mode and 1 failed.
    We traced the exception at the point where it fails. Everytime it fails while reading the response back from the other end through InputStreamBuffer. The block in which it fails is
    Please follow the piece of code which i have written
    //reading response from the destination decrypt url,
    //which is also encrypted and signed
    //sending the same to caller of encrypt
    String data="";
    int end=0;
    char c[]=new char[4*1024];
    BufferedReader buf=null;
    //reading data in a chunks of data     
    try
         inr=new InputStreamReader(connection.getInputStream());
         buf=new BufferedReader(inr,12*1024);          
         while ((end=buf.read(c))!=-1)
              data=new StringBuffer(data).append(c,0,end).toString();
    catch(OutOfMemoryError e)
         System.out.println("Out of memory errror"+e.getMessage());
         try
              response.sendError(HttpServletResponse.SC_NOT_FOUND);
              return;
         catch(Exception e1)
              return;
    catch(Exception e1)
         System.out.println("Failure in reading response"+e1.getMessage());
         try
              response.sendError(HttpServletResponse.SC_NOT_FOUND);
              return;
         catch(Exception e2)
              return;
    finally
         try
              if(inr!=null)
                   inr.close();
              if(buf!=null)
                   buf.close();
              if (connection != null)
                   connection.disconnect();     
         catch(Exception e)
              System.out.println("Error in closing connection"+e.getMessage());
    Here the connection get disconnected and throws the following exceptions at difterent time of testing in failure case.
    1. Failure in reading response JVM_recv in socket input stream read (code=10004)
    Error in closing connection Socket closed
    2. Null pointer exception.
    Could you please tell us what would be the reasons for the above exceptions or failure and how to rectify or handle it.
    Thanks & Regards
    Gabriel

    Can anybody look into it , this very urgent
    thanks
    Gabriel

  • Concurrent Transactions,Disaster Recovery

    Hello friends,
    I have an application on sql server which is used for online reservation.Could you tell me roadmap in order to handle  concurrent transaction and disaster recovery plan? I am using sql server 2008 R2.
    Thanks in advance.

    Hi,
    I suggest you read this article:
    High Availability and Disaster Recovery (OLTP)---a Technical Reference Guide for Designing Mission-Critical OLTP Solutions
    http://msdn.microsoft.com/en-us/library/ms190202.aspx
    If one high-availability option cannot meet the requirement, you
    may consider combining some of the high-availability options.
    The white paper Proven SQL Server Architectures for High Availability and Disaster Recovery2 shows the details of five commonly used architectures:
    ◦ Failover clustering for HA and database mirroring for DR.
    ◦ Synchronous database mirroring for HA/DR and log shipping for additional DR.
    ◦ Geo-cluster for HA/DR and log shipping for additional DR.
    ◦ Failover clustering for HA and storage area network (SAN)-based replication for DR.
    ◦ Peer-to-peer replication for HA and DR (and reporting).
    The whitepaper also describes the architectures and also presents case studies that illustrate how real-life customers have deployed these architectures to meet their business requirements. You can download it here:
    Proven SQL Server Architectures for High Availability and Disaster Recovery
    Thanks.
    Tracy Cai
    TechNet Community Support

  • Same update in concurrent transactions

    same update statement in concurrent transactions, update 10 records
    update test set id=id where rownum<10
    first transaction update 1,2,3,4,5,6,7,8,9,10
    second transaction update 10,9,8,7,6,5,4,3,2,1
    This may lead to deadlock?
    That will not happen under normal circumstances
    but row migration

    872390 wrote:
    same update statement in concurrent transactions, update 10 records
    update test set id=id where rownum<10
    first transaction update 1,2,3,4,5,6,7,8,9,10
    second transaction update 10,9,8,7,6,5,4,3,2,1
    This may lead to deadlock?
    That will not happen under normal circumstances
    but row migrationrefer the link:-http://www.orafaq.com/node/854

  • Duplicate transaction in interface table

    Hi Consultants,
    We need to delete the duplicate transactions from pa_transaction_interface_all table as we are getting duplicate transaction from OTL and some of them are processed into PA and some of them are rejected and stay in interface table. now we want to indentity those duplicate transaction in interface and need to delete them from interface table.
    anyone have look on my below query for one project#'MA0304007' and correct me. thanks in advance.
    SELECT *
    FROM pa_transaction_interface_all int
    WHERE 1=1
    AND EXISTS
    (SELECT 1
    FROM apps.PA_PROJECTS_ALL PA,
    apps.PA_PROJECT_STATUSES PST
    WHERE PA.PROJECT_STATUS_CODE =PST.PROJECT_STATUS_CODE
    AND PST.PROJECT_STATUS_NAME NOT IN ('Abandoned','Closed','Rejected')
    AND project_number = 'MA0304007'
    AND transaction_status_code = 'R'
    AND EXISTS
    (SELECT 1
    FROM apps.PA_EXPENDITURE_ITEMS_ALL XA,
    apps.PA_EXPENDITURES_ALL XE
    WHERE XA.EXPENDITURE_ID =XE.EXPENDITURE_ID
    AND XA. TRANSACTION_SOURCE ='GOLD'
    AND XA.PROJECT_ID = ( select project_id
    from pa_projects_all
    where segment1 = int.project_number)
    AND XA.TASK_ID = ( select task_id
    from pa_tasks
    where task_number =int.task_number
    and project_id = ( select project_id
    from pa_projects_all
    where segment1 = int.project_number) )
    AND TRUNC(XA.EXPENDITURE_ITEM_DATE) = TRUNC(INT.EXPENDITURE_ITEM_DATE)
    AND XA.EXPENDITURE_TYPE = INT.EXPENDITURE_TYPE
    AND XA.QUANTITY = int.quantity
    AND XA.ORIG_TRANSACTION_REFERENCE =int.ORIG_TRANSACTION_REFERENCE
    Thanks,
    Ashok.

    Hi
    PA_TRANSCTION_INTERFACE table will have all unique records, I would recommed you to extract all transactions for that particular project in xls sheet, identify the duplicate ones and take the transaction reference and now put a joining condition on the transaction-reference field and get rid of the same
    Thanks
    Krishna

  • Doing transactions with MyISAM tables

    On Feb. 24, a question was asked about using cftransaction
    with MySQL. That person's answer was to convert the tables to
    InnoDB.
    I have three tables that must stay "in lockstep". When I add
    a row to one table, I have to add rows to the other two. If they
    get out of sync, one of the queries runs excruciatingly slow.
    I tried wrapping them in a cftransaction, but now find out
    that it didn't really do any good because the table format is still
    MyISAM. Is there anything I can do (short of altering the tables)
    to do transactions?
    Is there a way to get MySQL to process the transactions
    "manually". Do I have to do a series of "trys" and "catches" with a
    commit or rollback for each one? Do you know of a place where I can
    see code like that?
    It would be nice if I were just missing something and someone
    could tell me how to do transactions with MyISAM tables. But, I'll
    do whatever is necessary to avoid having the tables get out of
    sync.
    Thanks.

    After making a copy of the tables:
    I used MySQLAdmin to convert each of the tables to InnoDB. It
    displayed the correct "alter table table_name type=innobd;" box
    before each change.
    Before the changes, the three tables showed the same record
    count. After the changes, they were wildly different. But, (with no
    changes to the web pages) the application opens OK and I can call
    up records. Did the conversion get rid of some records or what?
    Also, one of the pages (that uses a lot of convoluted logic
    for the display) takes a lot longer to appear than it used to. All
    the other pages are open fine and display their forms, etc..
    Updates seem a little slower, but not too bad.
    Why is the record count different in the three tables? Why
    might the one page be running slower? (Do I need to make any
    changes in the original web page code?)
    Prior to the conversion, the three MyISAM tables (*.MYD,
    *.MYI, & *.frm) were all stored in the C:\\Program
    Files\MySQL\MySQL Server 5.0\data\my_data directory. Now that
    directory only holds ".frm" files. Where did the conversion put the
    new tables?
    I haven't yet tested the cftransactions to verify they work.
    That's next.
    Thanks.

  • Concurrent transaction isolation

    Hello,
    I am building a multithreaded application that uses the Semantic Jena APIs that relies on the transactions of the different threads to be isolated before a commit but I'm not quite getting this behavior. Here's a simple example (the full example source is available upon request).
    <h1>Thread 1</h1>
    Open a connection
    Get a GraphOracleSem from the connection
    call GraphOracleSem.getTransactionHandler.begin()
    Add Triple A
    Add Triple B
    Add Triple C
    call GraphOracleSem.getTransactionHandler.commit()
    Close the GraphOracleSem
    Dispose the connection
    Open a connection
    Get a GraphOracleSem from the connection
    call GraphOracleSem.getTransactionHandler.begin()
    Add Triple A
    Add Triple B
    Add Triple C
    call GraphOracleSem.getTransactionHandler.commit()
    Close the GraphOracleSem
    Dispose the connection
    <h1>Thread 2</h1>
    Open a connection
    Get a GraphOracleSem from the connection
    call GraphOracleSem.getTransactionHandler.begin()
    CheckA = true if Triple A Exists
    CheckB = true if Triple B Exists
    CheckC = true if Triple C Exists
    Throw Exception unless CheckA == CheckB == CheckC
    call GraphOracleSem.getTransactionHandler.abort() //no write is necessary here
    Close the GraphOracleSem
    Dispose the connection
    Now if the effects of the two threads were isolated from each other, CheckA and CheckB and CheckC would always be equivalent (sometimes, true, sometimes false) but this does not seem to be the case (when my code at least...). I'm not sure if this requires a Serializeable transaction isolation level to be specified but quoting the GraphOracleSem performAdd method:
    <h4>"Adds a triple into the graph. This change to this graph object will not be persisted until the transaction is committed. However, subsequent queries (using the same Oracle connection) can see this change."</h4>
    Doesn't this mean that two connections making changes to GraphOracleSem should not see each-other's changes until a commit? Or is there something I'm missing here?
    Also if this isn't the way to get something like this to work, how can it be done?
    Edited by: alexi on Nov 11, 2010 12:22 PM - Whoops, cant attach anything to this forum

    Hi,
    I am afraid you cannot use it this way.
    See this example using SQL inserts directly. Assume there are two concurrent sessions.
    Session 1:
    SQL> set transaction isolation level serializable;
    Transaction set.
    SQL> insert into basic_tpl values(sdo_rdf_triple_s('basic','<urn:a>','<urn:b>','<urn:c_123>'));
    1 row created.
    Session 2:
    SQL> set transaction isolation level serializable;
    Transaction set.
    SQL> insert into basic_tpl values(sdo_rdf_triple_s('basic','<urn:a>','<urn:b>','<urn:c_567>'));
    insert into basic_tpl values(sdo_rdf_triple_s('basic','<urn:a>','<urn:b>','<urn:c_567>'))
    ERROR at line 1:
    ORA-08177: can't serialize access for this transaction
    ORA-06512: at "MDSYS.SDO_RDF_INTERNAL", line 7538
    ORA-06512: at "MDSYS.BASIC_INS", line 37
    ORA-04088: error during execution of trigger 'MDSYS.BASIC_INS'
    SQL> rollback;
    Rollback complete.
    SQL> insert into basic_tpl values(sdo_rdf_triple_s('basic','<urn:a>','<urn:b>','<urn:c_567>'));
    insert into basic_tpl values(sdo_rdf_triple_s('basic','<urn:a>','<urn:b>','<urn:c_567>'))
    ERROR at line 1:
    ORA-55303: SDO_RDF_TRIPLE_S constructor failed: BNode-non-reuse case:
    SQLERRM=ORA-06519: active autonomous transaction detected and rolled back
    ORA-06512: at "MDSYS.MD", line 1723
    ORA-06512: at "MDSYS.MDERR", line 17
    ORA-06512: at "MDSYS.SDO_RDF_TRIPLE_S", line 64
    If you want application level serialization, you can use dbms_lock package to acquire a lock before
    performing updates. Another simple way is to create a simple table with one row and do a "select * from tabName for update." You can add a "nowait" if you don't want your session to be blocked.
    Hope it helps,
    Zhe Wu

  • SAP J2EE Engine JTA Transaction Xml for table TABLE could not be ana

    I'm having a weird case. I created 3 entity bean. In my R/3 will call this JCO.Function to do the insert to database. But out of 3 entity bean, only 1 entity bean got error where it unable to insert to database and have this error in the log.
    The case is quite weird where i created the same entity but only 1 entity is not working as expected. Wondering what cause this problem.
    Thanks.
    org.xml.sax.SAXException: Fatal Error: URI=:main: Line=1: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: Name expected: 0x20(:main:, row:1, col:218)#
    at com.sap.dictionary.database.dbs.XmlExtractor$XMLErrorHandler.fatalError(XmlExtractor.java:279)#
    at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:144)#
    at com.sap.dictionary.database.dbs.XmlExtractor.map(XmlExtractor.java:130)#
    at com.sap.dictionary.database.catalog.DbGeneralStructure.<init>(DbGeneralStructure.java:86)#
    at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:90)#
    at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)#
    at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)#
    at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)#
    at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)#
    at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)#
    at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)#
    at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)#
    at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)#
    at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)#
    at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)#
    at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)#
    at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)#
    at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)#
    at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)#
    at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)#
    at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)#
    at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)#
    at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)#
    at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)#
    at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)#
    at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)#
    at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)#
    at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)#
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)#
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)#
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)#
    at java.lang.reflect.Method.invoke(Method.java:324)#
    at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)#
    at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)#
    at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)#
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)#
    at java.security.AccessController.doPrivileged(Native Method)#
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)#
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)#
    ##0#0#Error##Java###{0}.commit(), Cannot commit due to unexpected exception in beforeCompletion(): 
    [EXCEPTION]
    {1}#2#SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b]#java.lang.IllegalStateException: Xml for table <TABLE> could not be analysed
         at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
         at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
         at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
         at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
         at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
         at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
         at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
         at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
         at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
         at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
         at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
         at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
         at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
         at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    #1.5 #001A6467CDF400590000004E000018D8000459BB785F496C#1224561620123#com.sap.engine.services.ts#sap.com/ESolutionsEGatewayEAR#com.sap.engine.services.ts#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error#1#/System/Server#Java#ts_0004##Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).#1#SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b]#
    #1.5 #001A6467CDF400590000004F000018D8000459BB785F4BC5#1224561620123#com.sap.engine.services.ts#sap.com/ESolutionsEGatewayEAR#com.sap.engine.services.ts#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error#1#/System/Audit#Java###Exception {0}#1#com.sap.engine.services.ts.exceptions.BaseRollbackException: Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:236)
         at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
         at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
         at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
         at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
         at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
         at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: java.lang.IllegalStateException: Xml for table ZREASON_CODE could not be analysed
         at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
         at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
         at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
         at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
         at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
         at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
         at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
         at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
         ... 16 more
    #1.5 #001A6467CDF4005900000050000018D8000459BB785F4E8F#1224561620123#com.sap.engine.services.ejb.entity.Container#sap.com/ESolutionsEGatewayEAR#com.sap.engine.services.ejb.entity.Container#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error##Java###null
    [EXCEPTION]
    {0}#1#com.sap.engine.services.ejb.exceptions.BaseRemoteException: Transaction system failure in method net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(net.tnb.model.ReasonCodeBean).
         at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:573)
         at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
         at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
         at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
         at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
         at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: com.sap.engine.services.ts.exceptions.BaseRollbackException: Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:236)
         at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
         ... 15 more
    Caused by: java.lang.IllegalStateException: Xml for table ZREASON_CODE could not be analysed
         at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
         at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
         at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
         at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
         at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
         at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
         at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
         at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
         ... 16 more
    #1.5 #001A6467CDF4005900000051000018D8000459BB785F5FA9#1224561620123#System.err#sap.com/ESolutionsEGatewayEAR#System.err#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error##Plain###RemoteException insertOk=false#
    #1.5 #001A6467CDF4005900000052000018D8000459BB785F6094#1224561620123#System.err#sap.com/ESolutionsEGatewayEAR#System.err#J2EE_GUEST#0####95b74d409f2411dd86c4001a6467cdf4#SAPEngine_Application_Thread[impl:3]_20##0#0#Error##Plain###Tue Oct 21 12:00:20 SGT 2008 java.rmi.RemoteException: com.sap.engine.services.ejb.exceptions.BaseRemoteException: Transaction system failure in method net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(net.tnb.model.ReasonCodeBean).
         at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:573)
         at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
         at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
         at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
         at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
         at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: com.sap.engine.services.ts.exceptions.BaseRollbackException: Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:236)
         at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
         ... 15 more
    Caused by: java.lang.IllegalStateException: Xml for table <TABLE> could not be analysed
         at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
         at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
         at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
         at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
         at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
         at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
         at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
         at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
         ... 16 more
    ; nested exception is:
         javax.transaction.RollbackException: com.sap.engine.services.ts.exceptions.BaseRollbackException: Exception in beforeCompletition of ( SAP J2EE Engine JTA Transaction : [031fffffff3ffffffb2005b] ).
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:236)
         at net.tnb.model.ReasonCodeEntityHomeImpl3_0.create(ReasonCodeEntityHomeImpl3_0.java:546)
         at net.tnb.model.ReasonCodeEntityHome_Stub.create(ReasonCodeEntityHome_Stub.java:57)
         at net.tnb.model.EToGatewayBean.insertIntoTable(EToGatewayBean.java:223)
         at net.tnb.model.EToGatewayBean.processFunction(EToGatewayBean.java:166)
         at net.tnb.model.EToGatewayLocalLocalObjectImpl3_0.processFunction(EToGatewayLocalLocalObjectImpl3_0.java:175)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277)
         at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219)
         at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: java.lang.IllegalStateException: Xml for table ZREASON_CODE could not be analysed
         at com.sap.dictionary.database.catalog.XmlCatalogReader.getTable(XmlCatalogReader.java:100)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:124)
         at com.sap.sql.catalog.impl.BufferedCatalogReader.getTable(BufferedCatalogReader.java:87)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.checkTables(CheckColAndTabVisitor.java:299)
         at com.sap.sql.sqlparser.CheckColAndTabVisitor.performCatalogChecks(CheckColAndTabVisitor.java:176)
         at com.sap.sql.sqlparser.CommonSQLStatement.checkSemantics(CommonSQLStatement.java:169)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.check(StatementAnalyzerImpl.java:35)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:101)
         at com.sap.sql.jdbc.common.StatementAnalyzerImpl.preprepareStatement(StatementAnalyzerImpl.java:87)
         at com.sap.sql.jdbc.common.AbstractCommonStatement.parseStatement(AbstractCommonStatement.java:472)
         at com.sap.sql.jdbc.common.CommonConnectionImpl.prepareStatement(CommonConnectionImpl.java:375)
         at com.sap.engine.services.dbpool.cci.ConnectionHandle.prepareStatement(ConnectionHandle.java:81)
         at net.tnb.model.ReasonCodeEntityBean3_0Persistent.ejb_iInsert(ReasonCodeEntityBean3_0Persistent.java:306)
         at com.sap.engine.services.ejb.entity.pm.UpdatablePersistent.ejbFlush(UpdatablePersistent.java:92)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flushAll(TransactionContext.java:429)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.flush(TransactionContext.java:378)
         at com.sap.engine.services.ejb.entity.pm.TransactionContext.beforeCompletion(TransactionContext.java:506)
         at com.sap.engine.services.ejb.entity.SynchronizationList.beforeCompletion(SynchronizationList.java:136)
         at com.sap.engine.services.ts.jta.impl.TransactionImpl.commit(TransactionImpl.java:226)
         ... 16 more

    Hi Stefan and Everyone,
    I have solved my problem. Just want to let everyone know if u have to install the SP's for WEB AS 6.30/6.40.
    You start from the installation from CD 6.30/6.40. Everything will be working at this point. You can login to Visual Admin, Config tool and SDM.
    Before you apply any SP's, do the following:
    a) Create an emergency user with the Administrator rights: Ref OSS Note:669848
    Try to follow this route for SP's:
    From CD 6.30/6.40 -> SP04 -> SP07
    Apply SP04 first before applying SP07 (Recommended Approach).
    Refer the installation guide: SAP Web AS Support Package Guide 630SP2 to 640SP4.
    Use JDK1.4.2_05 to install SP04. You must reference the following OSS Notes and apply to your system accordingly, this is the key to an error free installation:
    a) OSS Note: 697535
    b) OSS Note: 709140
    c) OSS Note: 716604
    d) OSS Note: 706378
    You have to be really careful with SP04 installation, because it changes the version from 6.30 -> 6.40.
    Once you are able to install SP04 without any problems, you can directly apply SP07 or the highest 6.40 SP.
    Kind Regards,
    Buddha.

Maybe you are looking for