Commits in 10g

Hi All,
I'm in oracle 10gR2.
I have a process that has Delete & Update statements....followed by other calculations.
I have explicit commits between most of the DML...but still the results are not consistent..
Is this explicit commit sufficient enough...ot should I go with Commit Write Immediate...
What is the difference between them and when is it mandatory to use commit write immediate Option?
Thanks in advance
NU

I have explicit commits between most of the DMLThat only ensures that other sessions can see your changes. It doesn't influence what you see...
but still the results are not consistent..You're not telling us, by giving some simple example, what you mean by this.
My first thought is, to remind you of the fact that your session (the one doing calculations) will see changes made (i.e. committed) by other sessions, during the calculations.
If your calculation process requires a 'static' snapshot of the database, then you should either start a serializable transaction (which gives you a read consistent snapshot of the database, and allows you to do DML), or explicitely lock all tables used by the calculation process to prevent other sessions changing the data you require to read for doing the calculations.
Edited by: Toon Koppelaars on Nov 1, 2010 3:19 PM

Similar Messages

  • Committed trans in datafiles in oracle 10g

    Hi DBA gurus,
    I have a small doubt : If the datafiles contains both committed and uncommitted data then howcome there is only committed trans and uncommitted transx. will be rollbacked.
    I know that while instance recovery SMON automatically does that but is there any other activity that triggers only committed data in datafiles or what initiates Instance recovery.
    Thanks in advance.
    Regards,
    Shikha Rani

    If the database is running normally, then yes, the blocks of data on disk will contain committed and uncommitted transactions. (I think I confirmed that in my first sentence of my earlier reply).
    DBWR flushes buffers to disk on its own schedule, paying no regard to whether their contents are committed or uncommitted.
    But DBWR cannot write a block to disk until the redo which is associated with dirtying it has been written.
    That redo will be written whether or not there has been a commit.
    Once you have a dirty block on disk, and the redo needed to un-dirty it by transaction recovery, everything is safe and recoverable.
    I thought I should add to my answer:
    Suppose you have a transaction that starts at time A and runs until time K.
    At time D, there is a log switch, which causes a checkpoint, and therefore at time D, blocks dirtied at time A, B, C and D are now all written to disk, including undo generated by dirtying the blocks
    At time E, that transaction continues and dirties more blocks.
    At time F, there is another log switch, so blocks at time D, E and F are now all on disk (plus their corresponding undo)
    At time H, there is yet another log switch, so blocks at time G and H are now written to disk (along with the undo)
    This database is not in archivelog mode, and you've just switched all the way around the redo logs, and the transaction still hasn't finished or committed yet.
    So now you are still dirtying blocks at time I and J, and the redo from that is being written into the current redo log, over the top of the redo that was generated at times A->D. Redo from time A-D is no longer available. But that's OK, because the dirty blocks from that time ARE safe on disk, and the undo needed to clean them up is also safe on disk.
    Now at time K, you have an instance crash.
    SMON won't start the transaction from scratch. It doesn't need to. It simply starts re-dirtying blocks from time I and J.
    When it's reached time J, it now sees there's no commit, and therefore knows to roll back the entire transaction. It can roll back the blocks from time I and J using undo re-created the redo from the current log was being re-played. It can roll back the blocks from time A ->H because the undo for them is already available from the data files themselves, saved at the time of the various checkpoints.

  • How to Get Current running Sqltext in 10g

    I'm using 10g and i'm using following query to get current running sql.
    SELECT A.SID,B.HASH_VALUE, OSUSER, USERNAME, SQL_TEXT
    FROM V$SESSION A, V$SQLTEXT B
    WHERE B.HASH_VALUE = A.SQL_HASH_VALUE
    AND USERNAME LIKE upper('%UOBA%')
    ORDER BY B.HASH_VALUE, B.PIECE;
    This does work for all user-triggered sqls,procedures etc.
    But when i submit a Oracle Job the above qurey doesn't give any output.So,could please anybody help me in this regard.
    Thanks in Advance.

    I have found a way to retrieve some SQL statements for a session started by DBMS_JOB using v$open_cursor: however in my test, you can only retrieve some SQL statements in v$sql_area but not all of them: query takes some time to execute and some committed statements are not (or nor more) in v$open_cursor:
    select s.sid, s.serial#, s.username, sq.sql_text
    from v$open_cursor oc, v$sqlarea sq, v$session s
    where s.username = 'TEST'
    and oc.saddr = s.saddr
    -- only for session started by DBMS_JOB
    and s.sql_hash_value = 0
    and oc.address = sq.address
    and oc.hash_value = sq.hash_value;Message was edited by:
    Pierre Forstmann

  • How to install Oracle 10g on another partition

    Hi,
    On my desktop on Disk C:\ (O.S. Windows) I've got Oracle Client for accessing to Oracle Database 8i that is the version used in the company where I work and that is installed on Unix server. As I'd like to install the Oracle Database 10g Release 2 (for practice) on my PC and the Oracle Database 10g Client Release 2 as well, I've got two questions:
    1 - Will the installation procedure allow me to install Oracle Database 10g Release 2 on another partition of my PC (I've got Disc D:\ on it)?
    2 - Above all will it be possible to install Oracle Database 10g Client Release 2 on Disc D:\ or the installation procedure will make me to install on C:\ where I've already the "orant" directory for accessing to Database Oracle 8i I have to work on?
    Sorry for the questions but I'm afraid of committing errors in installing 10g having already a client for 8i which I must still have for working
    Thanks!

    Mark1970 wrote:
    Thanks!
    I've got two more questions:
    1 - for a PC stand alone where I'd like to install Oracle Database 10g anb Oracle Database 10g Client, which version should I use? Do I have to use the Express Edition or what else? I've looked at http://www.oracle.com/technology/software/products/database/index.html
    You can use express if you want. I've succesfully run Enterprise Edition on an XP-Pro laptop.
    2 - Are you sure I will have no problem about the ORACLE_HOME or about PC's register having on the same PC, even if on different partitions (Disk C:\ and D:\), Not if you install it correctly. Oracle is designed to support multiple version installations on the same box.
    two versions of Oracle 8i (only client) and 10g (db plus client)?You don't need to install the 10g client. All Oracle database installs include the client software.

  • Query works on Oracle 9i, but fails on Oracle 10g - puzzling...

    In porting an application from Oracle 9i to Oracle 10g, I hit a problem that for a while I assumed was some bug of mine. But I eventually isolated the problem and can reproduce this using a single sql script and then a single delete. The amazing thing is that it works fine on Oracle 9i (always) and fails on Oracle 10g (always).
    Have I found a bug? (I would be pretty amazed).
    Here's the situation. I have four tables and a trigger set on one of those tables.
    The tables are configured so that there is the "parent" table (A). Table B has a foreign key dependency on A's primary key, with "on delete cascade". Table B also has a trigger that runs on the delete. Table C (which has no data) has an integrity constraint on A's primary key. Table D holds information used by the trigger to determine if/when table C should be dropped. (I have a script that sets all this up).
    After setting up the tables and the few data records needed, I delete a record from Table A. This causes the records in Table B to be deleted. That fires the trigger, which determines that Table C can be dropped, so the trigger drops Table C. Then, Oracle decides it still needs to check the integrity constraint on Table C (after all, C depended on A and we have deleted a record in A). Oracle then issues a query against table C, but of course table C has already been dropped and an error results.
    The exact same script followed by the delete works fine on Oracle 9i. Is this a bug or is this a documented change in behavior? Any known workarounds? Unfortunately, the application needs all the integrity constraints that are present in the schema and also runs on SQL Server, so modifications in the integrity constraints are probably not what I am seeking).
    Thanks so much!
    RB

    I wasn't sure how to post the script, but it is short enough to include below. Many thanks for the quick response.
    To connect the script below to my original post, the names are:
    Table A = OT_AW_PROCESSDEF
    Table B = OT_AW_PROCESS_APPDATADEF
    Table C = OT_AW_AD_OneLoop_1
    Table D = OT_AW_APPDATA_TABLEINFO
    The trigger is also included in the script. After running this script, the command:
    delete from OT_AW_ProcessDef where processdefId = 101
    will cause the failure on Oracle10g, but succeeds on Oracle 9i.
    Thanks again!
    RB
    /* *********************** CLEAN UP ********************************** */
    /* Order the dropping of objects in reverse of creation */
    DROP TABLE OT_AW_AD_OneLoop_1 CASCADE CONSTRAINTS
    DROP TABLE OT_AW_PROCESS_APPDATADEF CASCADE CONSTRAINTS
    DROP TABLE OT_AW_APPDATA_TABLEINFO CASCADE CONSTRAINTS
    DROP TABLE OT_AW_PROCESSDEF CASCADE CONSTRAINTS
    /* ******************* DATA TABLES *********************************** */
    /* OT_AW_PROCESSDEF(Process Definition) Table */
    /* ********** NOTE: OT_AW_PROCESSDEF and AW_PROCESS TABLES SHOULD ALWAYS HAVE THE SAME SET OF COLUMNS ********* */
    create table OT_AW_PROCESSDEF (
    processDefId NUMBER /* Id for the process definition */
    , processDefName NVARCHAR2(255) /* Name of the process definition */
    , CONSTRAINT OT_AW_PROCESSDEF_PK PRIMARY KEY(processDefId)
    insert into OT_AW_PROCESSDEF (
    processDefId, processDefName
    values (
    1, 'ADHOC'
    /* OT_AW_APPDATA_TABLEINFO(List of all application Data tables in the system) Table */
    create table OT_AW_APPDATA_TABLEINFO (
    namespace VARCHAR2(65) NOT NULL, /* name of the namespace to which it belongs */
    tableName VARCHAR2(128) , /* Name of the appdata table */
    adLevel NUMBER(38) NOT NULL /* Appdata table level: 0=>PROCESS, 1=>CONVERSATION */
    , CONSTRAINT OT_AW_APPDATA_TABLEINFO_PK PRIMARY KEY ( tableName )
    , CONSTRAINT OT_AW_APPDATA_TABLEINFO_UNQ UNIQUE( namespace, tableName, adLevel )
    /* OT_AW_PROCESS_APPDATADEF(Process level application data definition) Table */
    create table OT_AW_PROCESS_APPDATADEF (
    processDefId NUMBER NOT NULL /* Id for the process definition */
    , name VARCHAR2(65) NOT NULL /* Name of the application data field, This name may be pointing to a shared namespace field */
    , tableName VARCHAR2(128) /* Name of the table that holds the value for the field, may be same as local namespace table name */
    , namespace VARCHAR2(65) NOT NULL /* Name of the namespace to which this field belongs */
    , mappedNamespace VARCHAR2(65) null /* Name of the shared namespace to which this field is mapped, if there is any mapping */
    , CONSTRAINT OT_AW_PROCESS_APPDATADEF_PK PRIMARY KEY (namespace, processDefId, name)
    , CONSTRAINT OT_AW_PROCESS_APPDATADEF_FK FOREIGN KEY (processDefId) REFERENCES OT_AW_PROCESSDEF(processDefId) on delete cascade
    CREATE TABLE OT_AW_AD_OneLoop_1(processDefId number , processId number ,FromRole number null, ToRole number null, Anyone number null,
    CONSTRAINT OT_AW_AD_OneLoop_1_FK1 FOREIGN KEY (processDefId) REFERENCES OT_AW_PROCESSDEF(processDefId) )
    /* TRIGGERS */
    CREATE OR REPLACE TRIGGER OT_AW_PROCESS_APPDATADEF_DEL
    AFTER DELETE ON OT_AW_PROCESS_APPDATADEF
    FOR EACH ROW
    DECLARE
    PRAGMA AUTONOMOUS_TRANSACTION;
    tableName_var OT_AW_PROCESS_APPDATADEF.tableName%TYPE;
    tempStr_var varchar2(128) :=null;
    deletedId OT_AW_PROCESS_APPDATADEF.processDefId%TYPE;
    deletedMNsp OT_AW_PROCESS_APPDATADEF.mappedNamespace%TYPE;
    numReferences number :=-1;
    tableExists number :=0;
    CURSOR ADPTable_cursor
    IS
    SELECT apa.tableName, apa.processDefId, apa.mappedNamespace
    FROM OT_AW_PROCESS_APPDATADEF apa
    WHERE apa.tableName = :old.tableName
    AND apa.processDefId = :old.processDefId;
    BEGIN
    dbms_output.put_line('Starting TRIGGER OT_AW_PROCESS_APPDATADEF_DEL');
    OPEN ADPTable_cursor;
    LOOP
    FETCH ADPTable_cursor
    INTO tableName_var, deletedId, deletedMNsp;
    EXIT WHEN ADPTable_cursor%NOTFOUND;
    BEGIN
    IF (deletedMNsp IS NULL) THEN
    BEGIN
    select count(*) into numReferences from OT_AW_PROCESS_APPDATADEF where tableName = tableName_var
    and processDefId <> deletedId;
    IF ( numReferences = 0 ) THEN
    BEGIN
    SELECT count(*) INTO tableExists FROM OT_AW_APPDATA_TABLEINFO where
              tableName=tableName_var;
    IF (tableExists > 0) THEN
    BEGIN
    --dbms_output.put_line('About to alter first table');
    -- EXECUTE IMMEDIATE 'ALTER TABLE ' || tableName_var || ' DROP CONSTRAINT ' || tableName_var ||'_FK1';
    --dbms_output.put_line('About to alter second table');
    -- EXECUTE IMMEDIATE 'ALTER TABLE ' || tableName_var || ' DROP CONSTRAINT ' || tableName_var ||'_FK2';
    dbms_output.put_line('About to drop table named: ' || tableName_var);
    tempStr_var := 'DROP TABLE ' || tableName_var;
    EXECUTE IMMEDIATE tempStr_var;
    dbms_output.put_line(tempStr_var);
    dbms_output.put_line('Table dropped');
    --dbms_output.put_line('Not dropping table now');
    END;
    END IF;
    delete from OT_AW_APPDATA_TABLEINFO where
              tableName=tableName_var;
    dbms_output.put_line('OT_AW_APPDATA_TABLEINFO updated');           
    END;
    END IF;
    END;
    END IF;
    END;
    END LOOP;
    dbms_output.put_line('Loop ended');
    CLOSE ADPTable_cursor;
    dbms_output.put_line('Cursor closed');
    COMMIT WORK;
    dbms_output.put_line('Work committed');
    dbms_output.put_line('Ending TRIGGER OT_AW_PROCESS_APPDATADEF_DEL');
    END;
    show errors;
    /* Set up data to simulate the creation of OT_AW_AD_OneLoop_1 */
    insert into OT_AW_PROCESSDEF (
    processDefId, processDefName
    values (
    101, 'OneLoop'
    insert into OT_AW_PROCESS_APPDATADEF (
    processDefId, name, tableName, namespace
    values (
    101, 'FromRole', 'OT_AW_AD_OneLoop_1', 'OneLoop'
    insert into OT_AW_PROCESS_APPDATADEF (
    processDefId, name, tableName, namespace
    values (
    101, 'ToRole', 'OT_AW_AD_OneLoop_1', 'OneLoop'
    insert into OT_AW_APPDATA_TABLEINFO (
    namespace, tablename, adlevel
    values (
    'OneLoop', 'OT_AW_AD_OneLoop_1', 0
    /

  • Oracle 10g for MacOSX's memory limitation

    Why is there a 1GB of SGA limit for Oracle 10g on MacOSX?
    Does anybody know?

    Its an oracle code limitation. They have it as a bug and commited to us that they'll remove it with 10.1.0.4 release . But haven't given us a date yet.

  • Issue at runtime with 10g when launching a different form within in a form

    I've got an interesting situation that i was wondering if some of you have run into and how you got around it.
    I have many forms that we've migrated from 6i to 10g and on all of these forms, we've customized the toolbar with several different buttons. One of the buttons invokes a "Data Audit", which basically launches a forms that has 2 canvases on it. One canvas has a text that is invoked and the other form that shows the results of a data audit. Basically, when I click a Data Audit in 6i, it invokes a new form that has a canvas that has a text item that basically says "Running a Data Audit", then, it executes a synchronize command, then a procedure on the database actually runs the data audit and commits the results to the appropriate tables. When the data audit database procedure completes, the canvas that displays the text item "Running a data audit" disappears and a new canvas opens up on that same form name that displays the results of the data audit.
    When I converted this to 10g and ran the data audit, the first canvas displayed when I clicked on the "Data Audit" button. However, it would not display anything else. However, I found the "Synchronize" command was killing execution of any code that happened after (including the Data Audit database procedure). So I commented it out. Well, now, it skips displaying "running the data Audit" canvas and runs the rest of the code (including database procedure and opening the other canvas.
    I was wondering if there was a way to keep that "Running a Data Audit" popup to stay up, until the Database procedure Data Audit completed. Apparently in 6i client/server, this functionality worked fine and once the database procedure call completed, it closed the one canvas and opened a new one.
    This one has me a little stumped and I probably could figure it out but I thought I'd ask and save myself some research.
    Thanks in advance.
    Regards,
    Chris

    I didn't experience that synchronize would "kill" any following code in 10G. I also use a similar approach in other situations. What is the trigger where you execute the code in ? I guess its WHEN-NEW-FORM-INSTANCE? If not, try in that trigger. If you don't find another solution, you could "trick" your behaviour by firing a non-repeating timer from the WNFI-trigger and do the things you normally do after your SYNCHRONIZE in the WHEN-TIMER-EXPIRED-trigger instead.

  • Bubble chart in OBIEE 10g

    Is there any way to increase the bubble size of bubble chart in obiee 10g? Like whether we can use javascript or HTML Code to achieve it?

    Hi,
    Thanks for reply.
    But I cannot understand your point. My requirement is something different. In the X axis I have project_number and y axis I have measures like budget,commitment & incurred_cost. Now the vertical chart gives me the summarize view. Now for a particualr project say AA, I can see three vertical bars showing budget,commitment & incurred_cost. Now the requirement is if I click on budget bar it will popup a new window showing related details of budget which is a different report, if click on commitment bar it will open commitment report in another window and so on.
    I am not able to implement this like multiple navigation from a bar chart.
    Can you please help on how to do this in OBIEE 10g.
    Thanks
    Titas

  • Oracle 10g Paremeter to Auto Roll Back uncommited transanctions

    Hi all
    In SME Segment - People donot affort having Oracle Dba and at the same time less experienced persons keep making their own tests
    Situation goes as under :-
    a) Oracle 10g Windows 2003 64 Bit version on Branded HP Server with 8GB Ram having around 100 simultaneous users
    b) User A on Machine A fires command say
    Table Iledg has inventory data say around 2 Million records
    Update iledg set gwt = netwt + corewt where vrdate >= ??? and vrdate <= ??
    Records get updates - But user A does either of the following
    i) Does not give commit
    ii) Preses Ctl + Alt + Del
    iii) Switches off the Computer
    Problem
    All other users get hanged for their Transanctions relating to table Iledg. EDP person is not able identify the culprit i.e User A
    We have already tried - that if we kill the session of User A , position becomes OK
    Solution wanted for
    a) Set some Oracle Parameter which automatically rolls back un committed transnactions for say 5 Minutes
    b) Oracle automatically kills those sessions who have un commited transanctions for more than say 5 minutes.
    Because in SME Segment - It is very difficult to ask the users to fire some very technical commands to find out the culprit and to kill their sessions. At the same time we can not start the server again and again.
    Suresh Bansal

    Thanks for the reply.
    We were also very sure about Oracle 10g beharviour but it actually does not happen in abnormal disconnections.
    We tested this way
    a) Table Iledg has inventory data say around 2 Million records
    Machine A fires command say
    Update iledg set gwt = netwt + corewt where vrdate >= ??? and vrdate <= ??
    Oracle Results -> ?? rows updated ->Did not gave commit command ->Intentionally to test it switched off the machine without Exiting from
    SQL*Plus
    then on Machine B)
    Again tried to
    Update iledg set gwt = netwt + corewt where vrdate >= ??? and vrdate <= ??
    Session of Machine A is not killed by Oracle 10g and is blocking the Transanction of Machine B which is very unfortunate as we thought Oracle 10g must have killed the session of Machine A when he switched off his Machine. When blocking_session of Machine A is killed ->Position becomes absolutely OK and normal.
    This can be tested in just 2 minutes at your end.
    Kindly suggest some workable remedy to overcome such abnormal client disconnections. Setting Profile idle time is not the workable solution as we create Oracle Connection at the start of VB6 application and that connection goes on thru out applications for all reports and transanctions.
    This kind of problem is not faced in last 6 years over the same forms. But now the client network has grown to say 700 Computers and is creating problems intermittently which is diagnosed properly and terminates the Oracle Connections which sometimes creates these kinds of problems.
    Suresh Bansal

  • NIC ROUTER requirement for 10g RAC database

    I need to know what hardware to order in setting up an 10g RAC database without a single-point-of-failure. My question centers on the networks. If each server has one NIC for the public interface and one NIC for the private interconnect, aren't the routers these NICs are attached to a single point of failure? If each server has two NICs bonded together for the public interface and two NICs bonded together for the private interconnect, does each NIC attach to a different router?

    sayantan chakraborty wrote:
    is RDMA and infiband ar same??Infiniband is a switched fabric layer for high speed communication. RDMA is a protocol for "+remote direct memory access+".
    Infiniband supports the Internet Protocol suite over Infiniband, or IPoIB. It also supports RDMA over Infiniband.
    so do we need only infiband SDR / QDR switch to set infiband OR what else??You need an Infiniband switch - Cisco and Voltaire are two companies that supply this type of hardware. The latter is used by Oracle in its Exadata database machines. Unsure about Cisco's commitment to Infiniband switches as they have discontinued their Infiniband switches with integrated fibre channel gateways. A sore point with us after we bought into this technology about 2 years ago, in part on their very own recommendations - and now own very expensive, somewhat buggy and totally unsupported hardware. Seems like the new Cisco California servers are GigE and not Infiniband, which perhaps explain this (flawed) decision of theirs...
    For each cluster node, you need an Infiniband PCI card (typically has 2 ports). If you are going to use bonding, you will need a pair of Infiniband cables per server. Also remember to get spares - both PCI cards and cables.
    If you want redundancy at the switch, you need to get yourself 2 Infiniband switches.
    But if you're planning to invest this into a RAC cluster, then surely you should also invest money in RAC licensing and support - and with that gain access to very useful documentation like the RAC Starter Kit and so on.

  • Oracle 10G AS, Batch Update doesn't commit.

    Hello,
    We are using Batch uptdate to commit a set of records, but to our surprise one of the batches commits in DB and the other doesnt.
    The below pseudo code explains our scenario :
    String str1="INSERT INTO TBL1 (COL1,COL2) VALUES (?,?) ";
    String str2="UPDATE TBL2 SET COL1=? WHERE COL2=?";
    PreparedStatement pstmt1=conn.prepareStatement(str1);
    PreparedStatement pstmt2=conn.prepareStatement(str2);
    for(500 recs)
    pstmt1.addbatch();
    pstmt2.addbatch();
    On 500 Recs
    //This batch updates the DB and commits too
    pstmt1.executeBatch();
    pstmt1.clearBatch();
    con.commit();
    //The Batch executes successfully, but updates are not reflected in DB,
    //which may mean that it must not be committing in DB
    pstmt2.executeBatch();
    pstmt2.clearBatch();
    con.commit();
    - In the above, pstmt1 is an INSERT and pstmt2 is an UPDATE.
    - It so happens that at the end, DB reflects Inserts done by pstmt1, but it doesnt reflect the Updates of pstmt2.
    - We have also fired a SELECT stmt immediately after pstmt2 Execute Batch, but the updated values are not reflected.
    - Also the above scenario works absolutely fine if we use a STATEMENT instead of a PREPAREDSTATEMENT for pstmt2.
    Set up Details:
    App Server :: Oracle 10G AS for Linux 2.1,
    Database Driver :: Oracle 10G Driver which is bundled with Oracle 10G AS
    Database :: Oracle 9i
    Any ideas in this regards would be highly appreciated.
    Thanks !
    - Khyati
    Message was edited by:
    user473157

    I think this is not the right forum for this question; probably a JDBC forum or one of the Oracle AS forums.
    Kuassi

  • Exception after switching to Oracle 10g

    I have a working application running on weblogic server 9.1. The server has
    a DataSource pointing to an Oracle 9i instance (i am using the Oracle Thin
    XA driver).
    Now I tried to connect to an identical database schema running in Oracle 10g
    (with the same driver). Now weblogic throws errors while deploying the
    application:
    The problem seems to be with an cmp entity bean for the table G_ZM_FAB which
    is a synonym to a view in another schema. I have no problem accessing
    G_ZM_FAB with any database tool or with sqlplus. Only weblogic gives
    errors. Another entity bean pointing to a similar table works perfectly
    (the second entity bean has bean managed persistence).
    Do you have any idea where the problem might be? I have tried other drivers
    with no success (they give other errors). When I make G_ZM_FAB a normal
    table with the same structure and content, everyting works fine.
    Here is the server log with the exception that is thrown:
    === SNIP ===
    JAVA Memory arguments: -Xmx1536m -Xgc:parallel -d64
    WLS Start Mode=Production
    CLASSPATH=:/opt/bea/patch_weblogic910/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/bea/jrockit150/lib/tools.jar:/opt/bea/weblogic91/server/lib/weblogic_sp.jar:/opt/bea/weblogic91/server/lib/weblogic.jar:/opt/bea/weblogic91/server/lib/webservices.jar::/opt/bea/weblogic91/common/eval/pointbase/lib/pbclient51.jar:/opt/bea/weblogic91/server/lib/xqrl.jar::/opt/bea/weblogic91/integration/lib/util.jar:
    PATH=/opt/bea/weblogic91/server/bin:/opt/bea/jrockit150/jre/bin:/opt/bea/jrockit150/bin:/opt/bea/user_projects/domains/Systemtest8010/bin:/opt/bea/user_projects/domains/Systemtest8010/runtime/bin:/opt/bea/user_projects/domains/Systemtest8010:/opt/ora10g/bin:/opt/bea/weblogic91/common/bin:/opt/bea/weblogic91/server/bin:/opt/sfw/bin:/usr/local/bin:/usr/bin::/usr/openwin/bin:/usr/local/kde/bin
    * To start WebLogic Server, use a username and *
    * password assigned to an admin-level user. For *
    * server administration, use the WebLogic Server *
    * console at http://hostname:port/console *
    starting weblogic with Java version:
    java version "1.5.0_08"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_08-b03)
    BEA JRockit(R) (build
    R27.1.0-109-73164-1.5.0_08-20061129-1427-solaris-sparcv9, compiled mode)
    Starting WLS with line:
    /opt/bea/jrockit150/bin/java -jrockit -Xmx1536m -Xgc:parallel -d64 -Dpython.cachedir=/opt/bea/user_projects/domains/Systemtest8010/wlstTemp -Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0 -Dpegasus.serverTyp=test -Dpegasus.application.description="Systemtestumgebung
    1" -da -Dplatform.home=/opt/bea/weblogic91 -Dwls.home=/opt/bea/weblogic91/server -Dwli.home=/opt/bea/weblogic91/integration -Dweblogic.management.discover=true -Dweblogic.ProductionModeEnabled=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/opt/bea/patch_weblogic910/profiles/default/sysext_manifest_classpath -Dweblogic.management.username=weblogic -Dweblogic.management.password=xxxxxxxx -Dweblogic.Name=Pegasus -Djava.security.policy=/opt/bea/weblogic91/server/lib/weblogic.policy
    weblogic.Server
    <28.08.2007 8.33 Uhr CEST> <Info> <WebLogicServer> <BEA-000377> <Starting
    WebLogic Server with BEA JRockit(R) Version
    R27.1.0-109-73164-1.5.0_08-20061129-1427-solaris-sparcv9 from BEA Systems,
    Inc.>
    <28.08.2007 8.33 Uhr CEST> <Info> <Management> <BEA-141107> <Version:
    WebLogic Server 9.1 Mon Dec 12 19:26:33 EST 2005 689178 >
    <28.08.2007 8.33 Uhr CEST> <Info> <WebLogicServer> <BEA-000215> <Loaded
    License : /opt/bea/license.bea>
    <28.08.2007 8.33 Uhr CEST> <Notice> <WebLogicServer> <BEA-000365> <Server
    state changed to STARTING>
    <28.08.2007 8.33 Uhr CEST> <Info> <WorkManager> <BEA-002900> <Initializing
    self-tuning thread pool>
    <28.08.2007 8.33 Uhr CEST> <Notice> <Log Management> <BEA-170019> <The
    server log
    file /pegasus_test/Systemtest8010/servers/Pegasus/logs/Pegasus.log is
    opened. All server side log events will be written to this file.>
    <28.08.2007 8.34 Uhr CEST> <Notice> <Security> <BEA-090082> <Security
    initializing using security realm myrealm.>
    <28.08.2007 8.34 Uhr CEST> <Notice> <WebLogicServer> <BEA-000365> <Server
    state changed to STANDBY>
    <28.08.2007 8.34 Uhr CEST> <Notice> <WebLogicServer> <BEA-000365> <Server
    state changed to STARTING>
    <28.08.2007 9.14 Uhr CEST> <Error> <JDBC> <BEA-001112> <Test "SELECT 1 FROM
    DUAL" set up for pool "pegasus" failed with
    exception: "javax.transaction.xa.XAException".>
    <28.08.2007 9.14 Uhr CEST> <Error> <JTA> <BEA-110412>
    <Xid=BEA1-015D84121B5A4CC38D9
    (35424095),Status=Committed,HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
    since begin=41,seconds left=82,activeThread=Thread[[ACTIVE]
    ExecuteThread: '0' for queue: 'weblogic.kernel.Default
    (self-tuning)',5,Pooled
    Threads],XAServerResourceInfo[pegasus]=(ServerResourceInfo[pegasus]=(state=committed,assigned=Pegasus),xar=pegasus,re-Registered
    =
    false),SCInfo[Systemtest8010+Pegasus]=(state=committed),properties=({}),local
    properties=({weblogic.jdbc.jta.pegasus=[ No XAConnection is attached to
    this
    TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=Pegasus+10.32.193.47:8010+Systemtest8010+t3+,
    XAResources={WLStore_Systemtest8010_FileStore-0,
    pegasus2},NonXAResources={})],CoordinatorURL=Pegasus+10.32.193.47:8010+Systemtest8010+t3+)
    completed heuristically: (pegasus, HeuristicHazard, ()) >
    <28.08.2007 9.14 Uhr CEST> <Error> <Deployer> <BEA-149231> <Unable to set
    the activation state to true for the application 'Pegasus-Application'.
    weblogic.application.ModuleException: Exception activating module:
    EJBModule(deploy/DEBTMR-G-EJB.jar)
    Unable to deploy EJB: G_ZM_FAB from deploy/DEBTMR-G-EJB.jar:
    [EJB:011007]Unable to create EJB Persistence Manager.
    javax.transaction.HeuristicMixedException: (pegasus, HeuristicHazard, ())
    at
    weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:297)
    at
    weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:226)
    at
    weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:271)
    at
    weblogic.ejb.container.manager.BaseEntityManager.setupPM(BaseEntityManager.java:298)
    at
    weblogic.ejb.container.manager.BaseEntityManager.setup(BaseEntityManager.java:244)
    at weblogic.ejb.container.manager.DBManager.setup(DBManager.java:170)
    at
    weblogic.ejb.container.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrivenBeanInfoImpl.java:1379)
    at
    weblogic.ejb.container.deployer.EntityBeanInfoImpl.activate(EntityBeanInfoImpl.java:232)
    at
    weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1292)
    at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:405)
    at
    weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:104)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:339)
    at
    weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:68)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:60)
    at
    weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:640)
    at
    weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at
    weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:252)
    at
    weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
    at
    weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
    at
    weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:176)
    at
    weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:347)
    at
    weblogic.management.deploy.internal.DeploymentAdapter$1.activate(DeploymentAdapter.java:50)
    at
    weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
    at
    weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
    at
    weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:168)
    at
    weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:122)
    at
    weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
    at
    weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
    at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
    at
    weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:422)
    at
    weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:104)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:339)
    at
    weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:68)
    Truncated. see log file for complete stacktrace
    [EJB:011007]Unable to create EJB Persistence Manager.
    javax.transaction.HeuristicMixedException: (pegasus, HeuristicHazard, ())
    at
    weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:297)
    at
    weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:226)
    at
    weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:271)
    at
    weblogic.ejb.container.manager.BaseEntityManager.setupPM(BaseEntityManager.java:298)
    at
    weblogic.ejb.container.manager.BaseEntityManager.setup(BaseEntityManager.java:244)
    at weblogic.ejb.container.manager.DBManager.setup(DBManager.java:170)
    at
    weblogic.ejb.container.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrivenBeanInfoImpl.java:1379)
    at
    weblogic.ejb.container.deployer.EntityBeanInfoImpl.activate(EntityBeanInfoImpl.java:232)
    at
    weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1292)
    at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:405)
    at
    weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:104)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:339)
    at
    weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:68)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:60)
    at
    weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:640)
    at
    weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at
    weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:252)
    at
    weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
    at
    weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
    at
    weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:176)
    at
    weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:347)
    at
    weblogic.management.deploy.internal.DeploymentAdapter$1.activate(DeploymentAdapter.java:50)
    at
    weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
    at
    weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
    at
    weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:168)
    at
    weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:122)
    at
    weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
    at
    weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
    at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
    at
    weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    NestedException Message is :(pegasus, HeuristicHazard, ())
    at
    weblogic.ejb.container.manager.BaseEntityManager.setupPM(BaseEntityManager.java:311)
    at
    weblogic.ejb.container.manager.BaseEntityManager.setup(BaseEntityManager.java:244)
    at weblogic.ejb.container.manager.DBManager.setup(DBManager.java:170)
    at
    weblogic.ejb.container.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrivenBeanInfoImpl.java:1379)
    at
    weblogic.ejb.container.deployer.EntityBeanInfoImpl.activate(EntityBeanInfoImpl.java:232)
    Truncated. see log file for complete stacktrace
    === SNIP ===
    Greetings,
    Christian

    Christian Schmolzi wrote:
    I have a working application running on weblogic server 9.1. The server has
    a DataSource pointing to an Oracle 9i instance (i am using the Oracle Thin
    XA driver).
    Now I tried to connect to an identical database schema running in Oracle 10g
    (with the same driver). Now weblogic throws errors while deploying the
    application:
    The problem seems to be with an cmp entity bean for the table G_ZM_FAB which
    is a synonym to a view in another schema. I have no problem accessing
    G_ZM_FAB with any database tool or with sqlplus. Only weblogic gives
    errors. Another entity bean pointing to a similar table works perfectly
    (the second entity bean has bean managed persistence).
    Do you have any idea where the problem might be? I have tried other drivers
    with no success (they give other errors). When I make G_ZM_FAB a normal
    table with the same structure and content, everyting works fine.Odd. Well, we can assume that the issue is a difference in the
    JDBC-access behavior of the two DBMS versions. I would start by
    updating the ojdbc14.jar in your WLS's server\lib directory. Download
    and try Oracle's latest driver, and let me know if that solves it.
    Joe
    >
    Here is the server log with the exception that is thrown:
    === SNIP ===
    JAVA Memory arguments: -Xmx1536m -Xgc:parallel -d64
    WLS Start Mode=Production
    CLASSPATH=:/opt/bea/patch_weblogic910/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/bea/jrockit150/lib/tools.jar:/opt/bea/weblogic91/server/lib/weblogic_sp.jar:/opt/bea/weblogic91/server/lib/weblogic.jar:/opt/bea/weblogic91/server/lib/webservices.jar::/opt/bea/weblogic91/common/eval/pointbase/lib/pbclient51.jar:/opt/bea/weblogic91/server/lib/xqrl.jar::/opt/bea/weblogic91/integration/lib/util.jar:
    PATH=/opt/bea/weblogic91/server/bin:/opt/bea/jrockit150/jre/bin:/opt/bea/jrockit150/bin:/opt/bea/user_projects/domains/Systemtest8010/bin:/opt/bea/user_projects/domains/Systemtest8010/runtime/bin:/opt/bea/user_projects/domains/Systemtest8010:/opt/ora10g/bin:/opt/bea/weblogic91/common/bin:/opt/bea/weblogic91/server/bin:/opt/sfw/bin:/usr/local/bin:/usr/bin::/usr/openwin/bin:/usr/local/kde/bin
    * To start WebLogic Server, use a username and *
    * password assigned to an admin-level user. For *
    * server administration, use the WebLogic Server *
    * console at http://hostname:port/console *
    starting weblogic with Java version:
    java version "1.5.0_08"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_08-b03)
    BEA JRockit(R) (build
    R27.1.0-109-73164-1.5.0_08-20061129-1427-solaris-sparcv9, compiled mode)
    Starting WLS with line:
    /opt/bea/jrockit150/bin/java -jrockit -Xmx1536m -Xgc:parallel -d64 -Dpython.cachedir=/opt/bea/user_projects/domains/Systemtest8010/wlstTemp -Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0 -Dpegasus.serverTyp=test -Dpegasus.application.description="Systemtestumgebung
    1" -da -Dplatform.home=/opt/bea/weblogic91 -Dwls.home=/opt/bea/weblogic91/server -Dwli.home=/opt/bea/weblogic91/integration -Dweblogic.management.discover=true -Dweblogic.ProductionModeEnabled=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/opt/bea/patch_weblogic910/profiles/default/sysext_manifest_classpath -Dweblogic.management.username=weblogic -Dweblogic.management.password=xxxxxxxx -Dweblogic.Name=Pegasus -Djava.security.policy=/opt/bea/weblogic91/server/lib/weblogic.policy
    weblogic.Server
    <28.08.2007 8.33 Uhr CEST> <Info> <WebLogicServer> <BEA-000377> <Starting
    WebLogic Server with BEA JRockit(R) Version
    R27.1.0-109-73164-1.5.0_08-20061129-1427-solaris-sparcv9 from BEA Systems,
    Inc.>
    <28.08.2007 8.33 Uhr CEST> <Info> <Management> <BEA-141107> <Version:
    WebLogic Server 9.1 Mon Dec 12 19:26:33 EST 2005 689178 >
    <28.08.2007 8.33 Uhr CEST> <Info> <WebLogicServer> <BEA-000215> <Loaded
    License : /opt/bea/license.bea>
    <28.08.2007 8.33 Uhr CEST> <Notice> <WebLogicServer> <BEA-000365> <Server
    state changed to STARTING>
    <28.08.2007 8.33 Uhr CEST> <Info> <WorkManager> <BEA-002900> <Initializing
    self-tuning thread pool>
    <28.08.2007 8.33 Uhr CEST> <Notice> <Log Management> <BEA-170019> <The
    server log
    file /pegasus_test/Systemtest8010/servers/Pegasus/logs/Pegasus.log is
    opened. All server side log events will be written to this file.>
    <28.08.2007 8.34 Uhr CEST> <Notice> <Security> <BEA-090082> <Security
    initializing using security realm myrealm.>
    <28.08.2007 8.34 Uhr CEST> <Notice> <WebLogicServer> <BEA-000365> <Server
    state changed to STANDBY>
    <28.08.2007 8.34 Uhr CEST> <Notice> <WebLogicServer> <BEA-000365> <Server
    state changed to STARTING>
    <28.08.2007 9.14 Uhr CEST> <Error> <JDBC> <BEA-001112> <Test "SELECT 1 FROM
    DUAL" set up for pool "pegasus" failed with
    exception: "javax.transaction.xa.XAException".>
    <28.08.2007 9.14 Uhr CEST> <Error> <JTA> <BEA-110412>
    <Xid=BEA1-015D84121B5A4CC38D9
    (35424095),Status=Committed,HeuristicErrorCode=XA_HEURHAZ,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
    since begin=41,seconds left=82,activeThread=Thread[[ACTIVE]
    ExecuteThread: '0' for queue: 'weblogic.kernel.Default
    (self-tuning)',5,Pooled
    Threads],XAServerResourceInfo[pegasus]=(ServerResourceInfo[pegasus]=(state=committed,assigned=Pegasus),xar=pegasus,re-Registered
    =
    false),SCInfo[Systemtest8010+Pegasus]=(state=committed),properties=({}),local
    properties=({weblogic.jdbc.jta.pegasus=[ No XAConnection is attached to
    this
    TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=Pegasus+10.32.193.47:8010+Systemtest8010+t3+,
    XAResources={WLStore_Systemtest8010_FileStore-0,
    pegasus2},NonXAResources={})],CoordinatorURL=Pegasus+10.32.193.47:8010+Systemtest8010+t3+)
    completed heuristically: (pegasus, HeuristicHazard, ()) >
    <28.08.2007 9.14 Uhr CEST> <Error> <Deployer> <BEA-149231> <Unable to set
    the activation state to true for the application 'Pegasus-Application'.
    weblogic.application.ModuleException: Exception activating module:
    EJBModule(deploy/DEBTMR-G-EJB.jar)
    Unable to deploy EJB: G_ZM_FAB from deploy/DEBTMR-G-EJB.jar:
    [EJB:011007]Unable to create EJB Persistence Manager.
    javax.transaction.HeuristicMixedException: (pegasus, HeuristicHazard, ())
    at
    weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:297)
    at
    weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:226)
    at
    weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:271)
    at
    weblogic.ejb.container.manager.BaseEntityManager.setupPM(BaseEntityManager.java:298)
    at
    weblogic.ejb.container.manager.BaseEntityManager.setup(BaseEntityManager.java:244)
    at weblogic.ejb.container.manager.DBManager.setup(DBManager.java:170)
    at
    weblogic.ejb.container.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrivenBeanInfoImpl.java:1379)
    at
    weblogic.ejb.container.deployer.EntityBeanInfoImpl.activate(EntityBeanInfoImpl.java:232)
    at
    weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1292)
    at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:405)
    at
    weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:104)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:339)
    at
    weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:68)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:60)
    at
    weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:640)
    at
    weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at
    weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:252)
    at
    weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
    at
    weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
    at
    weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:176)
    at
    weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:347)
    at
    weblogic.management.deploy.internal.DeploymentAdapter$1.activate(DeploymentAdapter.java:50)
    at
    weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
    at
    weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
    at
    weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:168)
    at
    weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:122)
    at
    weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
    at
    weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
    at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
    at
    weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:422)
    at
    weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:104)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:339)
    at
    weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:68)
    Truncated. see log file for complete stacktrace
    [EJB:011007]Unable to create EJB Persistence Manager.
    javax.transaction.HeuristicMixedException: (pegasus, HeuristicHazard, ())
    at
    weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:297)
    at
    weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:226)
    at
    weblogic.transaction.internal.TransactionManagerImpl.commit(TransactionManagerImpl.java:271)
    at
    weblogic.ejb.container.manager.BaseEntityManager.setupPM(BaseEntityManager.java:298)
    at
    weblogic.ejb.container.manager.BaseEntityManager.setup(BaseEntityManager.java:244)
    at weblogic.ejb.container.manager.DBManager.setup(DBManager.java:170)
    at
    weblogic.ejb.container.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrivenBeanInfoImpl.java:1379)
    at
    weblogic.ejb.container.deployer.EntityBeanInfoImpl.activate(EntityBeanInfoImpl.java:232)
    at
    weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1292)
    at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:405)
    at
    weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:104)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:339)
    at
    weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:68)
    at
    weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:60)
    at
    weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:640)
    at
    weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    at
    weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:252)
    at
    weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
    at
    weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
    at
    weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:176)
    at
    weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:347)
    at
    weblogic.management.deploy.internal.DeploymentAdapter$1.activate(DeploymentAdapter.java:50)
    at
    weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
    at
    weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:232)
    at
    weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:168)
    at
    weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:122)
    at
    weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
    at
    weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
    at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
    at
    weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    NestedException Message is :(pegasus, HeuristicHazard, ())
    at
    weblogic.ejb.container.manager.BaseEntityManager.setupPM(BaseEntityManager.java:311)
    at
    weblogic.ejb.container.manager.BaseEntityManager.setup(BaseEntityManager.java:244)
    at weblogic.ejb.container.manager.DBManager.setup(DBManager.java:170)
    at
    weblogic.ejb.container.deployer.ClientDrivenBeanInfoImpl.activate(ClientDrivenBeanInfoImpl.java:1379)
    at
    weblogic.ejb.container.deployer.EntityBeanInfoImpl.activate(EntityBeanInfoImpl.java:232)
    Truncated. see log file for complete stacktrace
    === SNIP ===
    Greetings,
    Christian

  • Transaction Isolation Level in Oracle 10g XE

    Hi All
    I have two CMP entities (EJB3) defined over two tables in Oracle 10g XE DB, namely User & UserDetails. UserDetails references User entity in One-to-one unidirection fashion.
    When I create a new User I have to insert a record using User entity & a corresponding record using the UserDetail.
    Since the first insert is not committed when the UserDetails entity tries to insert the record in the UserDetails table. The parent child relationship fails.
    Where should I define the DB isolation level?
    Thanks in advance.
    Regards
    Abhinav

    Hi All
    I have two CMP entities (EJB3) defined over two tables in Oracle 10g XE DB, namely User & UserDetails. UserDetails references User entity in One-to-one unidirection fashion.
    When I create a new User I have to insert a record using User entity & a corresponding record using the UserDetail.
    Since the first insert is not committed when the UserDetails entity tries to insert the record in the UserDetails table. The parent child relationship fails.
    Where should I define the DB isolation level?
    Thanks in advance.
    Regards
    Abhinav

  • Oracle 10g database as Resource manager and heuristic transaction decision

    Hi,
    I have read in documents about distributed tarnsaction that resource manager like oracle databasecthat are involved in distributed transaction can take heuristic decision(unilateral decision) and can either rollback or commit the transaction associated with itself without having confirmation from the transaction manager.
    I want to know how a resource manager take this unilateral decision and can we set this as parameter either in resource manager or in application server.
    Thanks in advance

    Hi,
    Following are some links to documents.
    Handling Heuristic Completions
    http://edocs.bea.com/wls/docs81/ConsoleHelp/jta.html
    A heuristic completion (or heuristic decision) occurs when a resource makes a unilateral decision during the completion stage of a distributed transaction to commit or rollback updates. This can leave distributed data in an indeterminate state. Network failures or resource timeouts are possible causes for heuristic completion. In the event of an heuristic completion, one of the following heuristic outcome exceptions may be thrown:
    HeuristicRollback—one resource participating in a transaction decided to autonomously rollback its work, even though it agreed to prepare itself and wait for a commit decision. If the Transaction Manager decided to commit the transaction, the resource's heuristic rollback decision was incorrect, and might lead to an inconsistent outcome since other branches of the transaction were committed.
    HeuristicCommit—one resource participating in a transaction decided to autonomously commit its work, even though it agreed to prepare itself and wait for a commit decision. If the Transaction Manager decided to rollback the transaction, the resource's heuristic commit decision was incorrect, and might lead to an inconsistent outcome since other branches of the transaction were rolled back.
    HeuristicMixed—the Transaction Manager is aware that a transaction resulted in a mixed outcome, where some participating resources committed and some rolled back. The underlying cause was most likely heuristic rollback or heuristic commit decisions made by one or more of the participating resources.
    2. Understanding EJB Transaction
    http://www2.sys-con.com/itsg/virtualcd/Java/archives/0504/tyagi/index.html
    Unilateral Decisions
    The transaction manager allows certain heuristic or speculative decisions to be made based on the state of all participating resources in a transaction and the underlying two-phase commit protocol. A heuristic decision occurs when one of the resources in the transaction unilaterally decides to commit or roll back the transaction without permission from the transaction manager
    3. Oracle® Containers for J2EE
    http://download.oracle.com/docs/cd/B31017_01/web.1013/b28958.pdf
    Heuristics
    To achieve consensus, two-phase commit is a blocking protocol. This means that, if a coordinator fails before delivering the final phase messages, the participants must remain blocked, holding onto resources. Modern transaction systems add heuristics to two-phase commit, which allows such participants to make unilateral decisions about whether they will commit or rollback. If a participant makes a choice that turns out to be different from the one taken by other participants, then non-atomic behavior occurs.
    I got this problem while trying to do a distributed J2EE tarnsaction with two XA (one MQ and other Oracle 10g database XA) and one non-xa (oracle 10g database). According to above docs a resource manager can decide tarnsaction final state unilaterally and that can result in unatomic transaction.
    Do oracle also make such decision and if yes then on what ground it takes decision? Can we change this according to our requirement either always rollback/commit anywhere as parameter setting?
    Thanks

  • Migration from SqlServer 2005 very slow... Number of Commits very big!

    Halllo,
    I migrate from SQL Server 2005 to Oracle 10g using SQL Developer 1.2.1 (latest Build). I have 2 tables, with 27 million rows and 29 million rows.
    1% data move needs 4-5 Hours!...
    - no indexes or constraints
    - Options: 10 000 rows to commit after. Tries: 500 000 does not help also.
    - tables have not LONG, BFILE, REF, ROWID,UROWID, or
    TIMESTAMP columns (I have readed, for tables containing this types columns, rows are inserted individually, with commit for each row).
    In "DETAILED ADDM REPORT FOR TASK XYZ" at Oracle server kann I read:
    (translated from germany, sorry for bad english...):
    Waits on event "log file sync" during the execution from COMMIT-and rolling forecastle processes have booked essential data bank time.
    RECOMMENDATION 1: Application analysis, 97% benefit (467900 seconds)
    ACTION: Check the application logic for a possible reduction of the number of COMMIT processes by enlargement of the transactions.
    RATIONAL ONES: The application has explained 2596 transactions per minute by an average Redo size of 824 bytes per transaction.
    It looks thus each row is committed, why?
    Any insight to tune it to go faster.
    Please help, I have many searched, but no solution found.
    Thanks,
    Julia
    null

    Hello Julia,
    Moving large amounts of data "online" using JDBC is not recommended for the issues you outlined.
    Its better to move large data sets using SQL Servers BCP tool to dump out the data from SQL Server into dat files, and then use Oracles SQL*Loader to load up the dat files into the Oracle database.
    Luckily SQL Developer Migration Workbench can help you setup the scripts.
    The feature is called "Offline Data Move".
    See this viewlet
    http://www.oracle.com/technology/tech/migration/workbench/viewlets/ofdm.html
    Obliviously you will need enough disk space to create a file large enough to hold millions of rows.
    I hope this helps
    Dermot.

Maybe you are looking for

  • New update fixes heat & battery life???

    Seems to for me....the airport/security upgrade that is. My MBP def seems to have better battery life and seems to run a little cooler. Strange, but i'm not complaining.

  • Artwork in Cover flow not matching artwork in tab?

    Ok, example - I've got 5 tunes from the same artist. All have different artwork that is displayed correctly in the artwork tab but in cover flow it just uses the same cover for all 4 tracks. Is there anything I can do about it so that cover flow disp

  • How to change the serial number of logic pro

    hi we have couple of macs in our studio when we first bought logic studio, we installed it on all the computers. then we realised that while useing network we have protection error problems. now we have an upgrade serial number and one more logic ser

  • Sun Cluster Core Conflict - on SUN Java install

    Hi We had a prototype cluster that we were playing with over two nodes. We decided to uninstall the cluster by putting node into single user mode and running scinstall -r. Afterwards we found that the Java Availability Suite was a little messed up -

  • Canon SX1 IS - not supported?

    Helo @all, I decided to buy Aperture 3 - but there is only "unsupported picture" in trial version when I'm trying to import my cr2 raw-data. Is there hope for any help next days or isn't Apple interested in selling this product to me? Thanks for your