Forcing a Commit() to LMS

We're experiencing issues with our captivate coureses in Oracle LMS.  I'm trying to used execute a javascript to force the course to send a commit to the LMS more often.
I've tried doing this through a button that would execute g_objAPI.LMSCommit(''); and also go to the next slide.  It doesn't seem like this worked as we don't see any additional commits on the LMS side.
I've tried executing the script to happen upon entering a slide. Again  there was no increase on the LMS side.
Does anyone know how to force a commit to happen through javascript within the course or by modifying the HTML file?  I'm currently working in captivate 6 thought I have 7 as well.

Normally the bookmarking works fine for us, but about 10% of the students
run into the following problem.
We have the student go through about 12 slides in our course (slides 3
through 12 are slides which contain videos and last about 6 minutes each),
which takes them about an hour to go through.  Then for certain people
they get a communication error and have to close out the course.  Then
when these students try to resume the course, they always have to start
over at slide 3 again and are forced to watch the same hours worth of
video again.
I am using Adobe Captivate to create this course.  The last course we ran
was using Scorm 1.2.  This time we will be using Scorm 2004 version 4.
I just want to make sure that if someone gets a communication error (which
apparently no one has any idea what is causing it) that the student will
be able to actually resume where they left off.
I have heard that when using Scorm 2004, the suspend data and location
only get updated when a commit takes place, and since these students
always get sent back to slide number 3 (the first video slide), then slide
3 must be the only slide doing a commit (behind the scenes).
Therefore, I am trying to figure out what the correct sequence and syntax
for making sure that we are updating our suspend data and location as well
as doing the commit on each of these 6 minute video slides.
Any help would be greatly appreciated.
Randy

Similar Messages

  • Force a commit statement

    Hello,
    Is it possible to automatically force a commit statement in a JSP page after you have inserted or updated a record ?
    Greetz

    Commiting is done by DataHandlerComponent.jsp in your JSP sample project.
    Add following line (it's inside DataHandlerComponent.jsp - but launched only on Commit event) to page which is loaded next to edit page.
    <jbo:Commit appid="<%=amId%>" />

  • Forcing a commit in a JAVA stored procedure

    Hi,
    I am using a java stored procedure which updates few tables ;only after it completes the call the commit is happening;But i wanted it to commit the tables as and when the processing happens not at the end of the call to java stored procedure because the GUI is polling for changes into the database which will be updated by the stored procedure.
    i have already set the connection.setAutoCommit(true) in the code.
    Can somebody suggest a solution ?
    Thanks in advance
    varun

    Jason,
    Works for me on Oracle 10.1.0.3 running on Red Hat Enterprise Linux AS release 3 (Taroon).
    Java code:
    import java.sql.*;
    * Oracle Java Virtual Machine (OJVM) test class.
    public class OjvmTest {
      public static void test() throws SQLException {
        Connection conn = DriverManager.getConnection("jdbc:default:connection:");
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
          ps = conn.prepareStatement("select 'TEST' from SYS.DUAL");
          rs = ps.executeQuery();
          if (rs.next()) {
            System.out.println(rs.getString(1));
        finally {
          if (rs != null) {
            try {
              rs.close();
            catch (SQLException sqlEx) {
              System.err.println("Error ignored. Failed to close result set.");
          if (ps != null) {
            try {
              ps.close();
            catch (SQLException sqlEx) {
              System.err.println("Error ignored. Failed to close statement.");
    }And my PL/SQL wrapper:
    create or replace procedure P_J_TEST as language java
    name 'OjvmTest.test()';And here is how I execute it in a SQL*Plus session:
    set serveroutput on
    exec dbms_java.set_output(2000)
    exec p_j_testGood Luck,
    Avi.

  • IS THERE ANY WAY TO FORCE KEY COMMIT

    Hi:
    Is there any way in forcing when inserting/updating a record in a block to call KEYCOMMIT. For Example, if the user inserted/updated a record and before saving the user may quit the form. I would like to enforce the keycommit trigger to be called when the form is opted to close.

    Hello,
    Try the following in Key-Exit trigger:
    BEGIN
    IF :system.form_status = 'CHANGED' THEN
    DO_KEY('COMMIT_FORM');
    ELSE
    EXIT_FORM(NO_VALIDATE);
    END IF;
    END;
    Regards,
    George
    Hi:
    Is there any way in forcing when inserting/updating a record in a block to call KEYCOMMIT. For Example, if the user inserted/updated a record and before saving the user may quit the form. I would like to enforce the keycommit trigger to be called when the form is opted to close.

  • Forcing HTTP comm between BPEL and ESB

    Hi all,
    for demo purposes, I'd like to disable the internal and non-HTTP communication between BPEL and ESB when both are deployed on same OC4J container.
    I do not want to modify any WSDL but, if possible, disable somehow such internal communication. AFAIK, there was a property named "optSoapShortcut" in 10.1.2 but it no longer exists in 10.1.3.
    Any clues?
    TIA

    Hi.
    Sometime ago I tried to work with a BPEL property named preferredBindings, but it didn't work at all.
    WSM Gateway is bypassed when WSDL has SOAP and JCA binding. How to choose??
    I don't know if I came across a bug, but in theory I believe this is something like this:
    To indicate you want ESB binding:
    <property name="preferredBindings">http://www.oracle.com/esb/</property>
    To indicate you want SOAP binding (I'm not sure):
    <property name="preferredBindings">http://schemas.xmlsoap.org/wsdl/soap/</property>
    Please let me know about your results.
    Regards.
    Denis

  • Force COMMIT in ODI

    Hi,
    I am using an ODI package that has 1 interface + 1 odi invoke web service.
    for the interface the commit is off.
    When the interface populates the data, the bpel WS is called then. BPEL ws is async.
    However since the commit happens at the end of the session bpel cant see the data.
    I need a way to force a COMMIT, so that bpel can see the data.
    Thanks,
    Rosh

    roshParab wrote:
    Should not matter. COMMIT is fired at the end of a sucessful session. Hi Rosh
    1st you should understand where you should aply above criteria.This is generally for interface where you have manually set the commit to false but not for the interface where commit is already set to true.I agree with GURU.It will be commited after the loading.You just test it by setting your commit to true and you will know whether its commiting or not.
    Thanks

  • SQL loader and commit

    Hi,
    I am trying to execute a sql loader script that populates many tables. The order of the tables in the script is very important because the table of the last table has a constraint with the first table of the script. So I need that sqlloader executes a commit after the filling of the first tables because if sql loader executes the script simply as it is written the last tables launches an error because the constraint is violated (the last table sees the first one empty).
    How can I force a commit after a filling in sql loader?
    The sctructure of the tables was not defined by me so I must not modify it (constraint included).
    Thanks, bye bye.

    Hi,
    If you have to enable/disable manually the constraints you can execute:
    DECLARE
      v_ds_action VARCHAR2(7);
    BEGIN
      v_ds_action := 'DISABLE';
        FOR reg IN (SELECT * FROM user_constraints uc WHERE uc.constraint_type = 'R') LOOP
        EXECUTE IMMEDIATE 'ALTER TABLE ' || reg.table_name || ' ' ||
                          v_ds_action || '  CONSTRAINT ' || reg.constraint_name;
      END LOOP;
      FOR reg IN (SELECT * FROM user_constraints uc WHERE uc.constraint_type = 'C') LOOP
        EXECUTE IMMEDIATE 'ALTER TABLE ' || reg.table_name || ' ' ||
                          v_ds_action || '  CONSTRAINT ' || reg.constraint_name;
      END LOOP;
    FOR reg IN (SELECT * FROM user_constraints uc WHERE uc.constraint_type = 'U') LOOP
        EXECUTE IMMEDIATE 'ALTER TABLE ' || reg.table_name || ' ' ||
                          v_ds_action || '  CONSTRAINT ' || reg.constraint_name;
      END LOOP;
      FOR reg IN (SELECT * FROM user_constraints uc WHERE uc.constraint_type = 'P') LOOP
        EXECUTE IMMEDIATE 'ALTER TABLE ' || reg.table_name || ' ' ||
                          v_ds_action || '  CONSTRAINT ' || reg.constraint_name;
      END LOOP;
    END;
    DECLARE
      v_ds_action VARCHAR2(7);
    BEGIN
      v_ds_action := 'ENABLE';
      FOR reg IN (SELECT * FROM user_constraints uc WHERE uc.constraint_type = 'P') LOOP
        EXECUTE IMMEDIATE 'ALTER TABLE ' || reg.table_name || ' ' ||
                          v_ds_action || '  CONSTRAINT ' || reg.constraint_name;
      END LOOP;
      FOR reg IN (SELECT * FROM user_constraints uc WHERE uc.constraint_type = 'U') LOOP
        EXECUTE IMMEDIATE 'ALTER TABLE ' || reg.table_name || ' ' ||
                          v_ds_action || '  CONSTRAINT ' || reg.constraint_name;
      END LOOP;
      FOR reg IN (SELECT * FROM user_constraints uc WHERE uc.constraint_type = 'C') LOOP
        EXECUTE IMMEDIATE 'ALTER TABLE ' || reg.table_name || ' ' ||
                          v_ds_action || '  CONSTRAINT ' || reg.constraint_name;
      END LOOP;
      FOR reg IN (SELECT * FROM user_constraints uc WHERE uc.constraint_type = 'R') LOOP
        EXECUTE IMMEDIATE 'ALTER TABLE ' || reg.table_name || ' ' ||
                          v_ds_action || '  CONSTRAINT ' || reg.constraint_name;
      END LOOP;
    END;
    /Regards,

  • How to COMMIT all open transactions?

    Hi,
    I have 10.2.0.4 on Windows.
    I need to run a critical month-end DataPump export of 1 schema. Easy enough. The system will be in-use by the end users when this runs. Not many maybe 10 users will be connected and it is not a very large db - 10 GB.
    My concern is that there may be a few uncommitted transactions hanging around that may not be written to the dump file. If I run COMMIT; that only commits for my session, right? How can I force all open transactions for all users to be committed just before I run the DP export?
    -OR- is DataPump so sophisticated that it will auto. commit them first?
    Thanks for your ideas. John

    user629010 wrote:
    Thanks, Justin.
    This is a 24 hour system so I don't want to interrupt the users unless there is no other option.
    Yes the RMAN backups are complete but I just need the export for purposes of refreshing my reporting database at each month-end. So I will use impdp to do the import. This is the way we have been doing it for awhile.
    We only recently became aware of some out-of-balance issues (money) and we thought uncommitted transactions may be partly responsible.
    I know the application code controls when the commit takes place but, in general, is this something you would be concerned with?
    Another question if I may: how can I see how many open transactions there are at a given time?
    Thanks, JohnIf you think about what constitutes a "transaction" (and financial balances are the textbook example of such) then you realize that it is absolutely the responsibility of the transaction to decide when to commit. An outside process (like an evil DBA) can safely force a rollback of an incomplete transaction (say, by killing the session), but to force a COMMIT? Suppose the session had only updated 2 of 4 tables that needed to be updated to consitute a complete transaction and guarantee your account balances? How do you suppose your "force" will know what the other two table updates are?
    Maybe you could explain in more detail how you intend to use this export, particularly in relation to where it was you found the out of balance issues..

  • Why we cant use commit in trigger, can any one give proper explanation

    Why we cant use commit in trigger, can any one give proper explanation

    You shouldn't use a commit in a trigger if it's part of the same transaction as the action happening on the table.
    Eg. Suppose you have a table that stores details of orders, and it has a trigger that updates the stock table.
    If a customer comes along and creates an order but decides part way through that actually, they don't want the order after all, the transaction is rolled back.
    If you don't put a commit in the transaction, then the stock table details remain unchanged - no order, so no stock reduction. If, however, you forced the commit to happen in the trigger, you now have no order, but the stock table details have changed.
    That's not what you want to happen!
    Sometimes it does make sense to have a commit in the trigger, but this is very much the exception. If you come across a table mutating error, it usually means that you have a problem with your design and that you need to rethink it, NOT bodge it by using autonomous_transaction and a commit.
    Of course, the times when you'd use triggers should be few and far between - the above example is NOT how I'd code an orders-stock transaction; I'd have some PL/SQL that handled the transaction, rather than direct inserts onto the table.

  • Recursive call with commit not written to redo log

    In my DBA training I was led to the belief that a commit caused the log writer to write the redo log buffer to the redo log file, but I find this is not true if the commit is inside recursive code.
    I believe this is intentional as a way off reducing i/o but it does raise data integrity problems.
    Apparently if you have some PL/SQL (can be sql*plus code or procedure) with a loop containing a commit,
    the commit does not actually ensure that the transaction is written to the Redo log.
    Instead Oracle only ensures all is written to the redo log when control is returned to the application/sqlplus.
    You can see this by checking the redo writes in v$sysstat.
    It will be less than the number of expected commits.
    Thus the old rule of expecting all committed transation to be there after a database recovery is not necessarily true.
    Does anyone know how to force the commit to ensure redo is written
    -inside pl/sql or perhaps a setting in the the calling environment ?
    Thanks

    Thanks for your input
    The trouble is that I believe if you stopped in a debugger the log writer would catch up -
    Or if you killed your instance in the middle of this test you wouldn't be sure how many commits the db thought it did
    ie. the db would recover to the last known commit in the redo logs
    - maybe I should turn on tracing ?
    Since my question I have a found a site that seems to back up the results I am getting
    http://www.ixora.com.au/notes/redo_write_triggers.htm
    see the note under point 3
    Have a look at the stats below and you will see
    redo writes 19026
    user commits 100057
    How I actually tested was to run
    the utlbstat scipt
    then run some pl/sql that
    - mimiced a business transactions (4 select lookup validations, 2 inserts and 1 insert or update and a commit)
    - loop * 100000
    then ran utlestat.sql
    i.e. test script
    @C:\oracle\ora92\rdbms\admin\utlbstat.sql
    connect test/test
    @c:\mig\Load_test.sql
    @C:\oracle\ora92\rdbms\admin\utlestat.sql
    Statistic Total Per Transact Per Logon Per Second
    CPU used by this session 37433 .37 935.83 79.31
    CPU used when call started 37434 .37 935.85 79.31
    CR blocks created 62 0 1.55 .13
    DBWR checkpoint buffers wri 37992 .38 949.8 80.49
    DBWR checkpoints 6 0 .15 .01
    DBWR transaction table writ 470 0 11.75 1
    DBWR undo block writes 22627 .23 565.68 47.94
    SQL*Net roundtrips to/from 4875 .05 121.88 10.33
    background checkpoints comp 5 0 .13 .01
    background checkpoints star 6 0 .15 .01
    background timeouts 547 .01 13.68 1.16
    branch node splits 4 0 .1 .01
    buffer is not pinned count 4217 .04 105.43 8.93
    buffer is pinned count 649 .01 16.23 1.38
    bytes received via SQL*Net 1027466 10.27 25686.65 2176.83
    bytes sent via SQL*Net to c 5237709 52.35 130942.73 11096.84
    calls to get snapshot scn: 1514482 15.14 37862.05 3208.65
    calls to kcmgas 303700 3.04 7592.5 643.43
    calls to kcmgcs 215 0 5.38 .46
    change write time 4419 .04 110.48 9.36
    cleanout - number of ktugct 1875 .02 46.88 3.97
    cluster key scan block gets 101 0 2.53 .21
    cluster key scans 49 0 1.23 .1
    commit cleanout failures: b 27 0 .68 .06
    commit cleanouts 1305175 13.04 32629.38 2765.2
    commit cleanouts successful 1305148 13.04 32628.7 2765.14
    commit txn count during cle 3718 .04 92.95 7.88
    consistent changes 752 .01 18.8 1.59
    consistent gets 1514852 15.14 37871.3 3209.43
    consistent gets - examinati 1005941 10.05 25148.53 2131.23
    data blocks consistent read 752 .01 18.8 1.59
    db block changes 3465329 34.63 86633.23 7341.8
    db block gets 3589136 35.87 89728.4 7604.1
    deferred (CURRENT) block cl 1068723 10.68 26718.08 2264.24
    enqueue releases 805858 8.05 20146.45 1707.33
    enqueue requests 805852 8.05 20146.3 1707.31
    execute count 1004701 10.04 25117.53 2128.6
    free buffer requested 36371 .36 909.28 77.06
    hot buffers moved to head o 3801 .04 95.03 8.05
    immediate (CURRENT) block c 3894 .04 97.35 8.25
    index fast full scans (full 448 0 11.2 .95
    index fetch by key 201128 2.01 5028.2 426.12
    index scans kdiixs1 501268 5.01 12531.7 1062.01
    leaf node splits 1750 .02 43.75 3.71
    logons cumulative 2 0 .05 0
    messages received 19465 .19 486.63 41.24
    messages sent 19465 .19 486.63 41.24
    no work - consistent read g 3420 .03 85.5 7.25
    opened cursors cumulative 201103 2.01 5027.58 426.07
    opened cursors current -3 0 -.08 -.01
    parse count (hard) 4 0 .1 .01
    parse count (total) 201103 2.01 5027.58 426.07
    parse time cpu 2069 .02 51.73 4.38
    parse time elapsed 2260 .02 56.5 4.79
    physical reads 6600 .07 165 13.98
    physical reads direct 75 0 1.88 .16
    physical writes 38067 .38 951.68 80.65
    physical writes direct 75 0 1.88 .16
    physical writes non checkpo 34966 .35 874.15 74.08
    prefetched blocks 2 0 .05 0
    process last non-idle time 1029203858 10286.18 25730096.45 2180516.65
    recursive calls 3703781 37.02 92594.53 7846.99
    recursive cpu usage 35210 .35 880.25 74.6
    redo blocks written 1112273 11.12 27806.83 2356.51
    redo buffer allocation retr 21 0 .53 .04
    redo entries 1843462 18.42 46086.55 3905.64
    redo log space requests 17 0 .43 .04
    redo log space wait time 313 0 7.83 .66
    redo size 546896692 5465.85 13672417.3 1158679.43
    redo synch time 677 .01 16.93 1.43
    redo synch writes 63 0 1.58 .13
    redo wastage 4630680 46.28 115767 9810.76
    redo write time 64354 .64 1608.85 136.34
    redo writer latching time 42 0 1.05 .09
    redo writes 19026 .19 475.65 40.31
    rollback changes - undo rec 10 0 .25 .02
    rollbacks only - consistent 122 0 3.05 .26
    rows fetched via callback 1040 .01 26 2.2
    session connect time 1029203858 10286.18 25730096.45 2180516.65
    session logical reads 5103988 51.01 127599.7 10813.53
    session pga memory -263960 -2.64 -6599 -559.24
    session pga memory max -788248 -7.88 -19706.2 -1670.02
    session uga memory -107904 -1.08 -2697.6 -228.61
    session uga memory max 153920 1.54 3848 326.1
    shared hash latch upgrades 501328 5.01 12533.2 1062.14
    sorts (memory) 1467 .01 36.68 3.11
    sorts (rows) 38796 .39 969.9 82.19
    switch current to new buffe 347 0 8.68 .74
    table fetch by rowid 1738 .02 43.45 3.68
    table scan blocks gotten 424 0 10.6 .9
    table scan rows gotten 4164 .04 104.1 8.82
    table scans (short tables) 451 0 11.28 .96
    transaction rollbacks 5 0 .13 .01
    user calls 5912 .06 147.8 12.53
    user commits 100057 1 2501.43 211.99
    user rollbacks 56 0 1.4 .12
    workarea executions - optim 1676 .02 41.9 3.55
    write clones created in bac 5 0 .13 .01
    write clones created in for 745 .01 18.63 1.58
    99 rows selected.

  • Can't create the mview with refresh on each commit

    I have these underlying tables:
    SQL> desc ta_footn_typ
    Namn Null? Typ
    FOOTN_TYP_ID NOT NULL VARCHAR2(2)
    APPL_COD CHAR(1)
    NATIONAL_DATA NUMBER(1)
    (FOOTN_TYP_ID is a PK)
    SQL> desc TA_S_DESC_FOOTN_TYP
    Namn Null? Typ
    FOOTN_TYP_ID NOT NULL VARCHAR2(2)
    LANG_COD NOT NULL CHAR(2)
    FOOTN_TYP_DESCR VARCHAR2(100)
    (FOOTN_TYP_ID and LANG_COD is a composite PK)
    from these two tables I would like to build a mateerialized view with refresh
    on commit with the following select-statement:
    select type.*, eng.FOOTN_TYP_DESCR as FOOTN_TYP_DESCR_ENG, nat.FOOTN_TYP_DESCR
    as FOOTN_TYP_DESCR_NAT from TA_FOOTN_TYP type
    left join TA_S_DESC_FOOTN_TYP eng on eng.FOOTN_TYP_ID = type.FOOTN_TYP_ID and
    eng.LANG_COD='EN'
    left join TA_S_DESC_FOOTN_TYP nat on nat.FOOTN_TYP_ID = type.FOOTN_TYP_ID and
    nat.LANG_COD='EE'
    I can create the mview with the options:
    on demand, automatically on, never
    but that is not interesting for me,
    I need refresh on commit on the underlying
    tables.
    So I tried -->
    CREATE MATERIALIZED VIEW "EMTS_NF"."MY_MVIEW"
    TABLESPACE "EMTS_EMTS_NF"
    BUILD IMMEDIATE
    USING INDEX
    TABLESPACE "EMTS_EMTS_NF"
    REFRESH FORCE
    ON COMMIT
    AS
    select type.*, eng.FOOTN_TYP_DESCR as FOOTN_TYP_DESCR_ENG, nat.FOOTN_TYP_DESCR
    as FOOTN_TYP_DESCR_NAT from TA_FOOTN_TYP type
    left join TA_S_DESC_FOOTN_TYP eng on eng.FOOTN_TYP_ID = type.FOOTN_TYP_ID and
    eng.LANG_COD='EN'
    left join TA_S_DESC_FOOTN_TYP nat on nat.FOOTN_TYP_ID = type.FOOTN_TYP_ID and
    nat.LANG_COD='EE';
    But it gives mee ORA-12054,
    any advices???

    Try it with REFRESH FAST instead of REFRESH FORCE.
    Cheers, APC

  • Can't view data from BI Anaytics

    Hi,
    I am new to BI suite. currently our repository has two different connection pool associated with two different schema. Since my ex-coworker built the first one and left. I don't want to mess up with his work. I built another connection pool with different schema. There is no problem with deployment and i am able to view data in physical layer. But when i login to BI analytics and i found i am not able to view data. The error is:
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 43119] Query Failed: [nQSError: 17001] Oracle Error code: 1031, message: ORA-01031: insufficient privileges at OCI call OCIStmtExecute. [nQSError: 17010] SQL statement preparation failed. (HY000)
    SQL Issued: SELECT 0 s_0, "Sample Sales"."Products"."Brand" s_1 FROM "Sample Sales" FETCH FIRST 65001 ROWS ONLY
    My DBA told me it might be ODBC driver problem since he told me he didn't even see the query from database monitor. When i check ODBC setup in BI server and found there is default odbc setup under System DSN.
    does anybody know what this problem is?
    Thanks

    Good day !
    I will to public my results with simple solving my problem,
    because it may be useful to somebody else.
    ---------------- Create materialized view ---------
    create materialized view easydw.CUSTOMER_PURCHASES_MV
    TABLESPACE "EASYDW_DEFAULT"
    BUILD IMMEDIATE
    USING INDEX
    REFRESH FORCE ON COMMIT
    AS
    select "CUSTOMER"."OCCUPATION" as "OCCUPATION",
    "PURCHASES"."CUSTOMER_ID" as "CUSTOMER_ID"
    from "PURCHASES" "PURCHASES", "CUSTOMER" "CUSTOMER"
    where "CUSTOMER"."CUSTOMER_ID"="PURCHASES"."CUSTOMER_ID";
    Now if one of tables updated, you must execute SQL-command
    "COMMIT". Before this you must deselect "AutoCommit" at
    SQL-window, if you use Application Express.
    Winni.

  • Delivery based on sales orders

    Hi guys,
    I have faced a problem with this BAPI BAPI_OUTB_DELIVERY_CREATE_SLS. I am passing the values in importing paramenters and the BAPI returns the delivery number although when i go to VL02N to check if the delivery was created, says that delivery doesnt exist in data base. I don't know what happens, after the BAPI im using the bapi commit work.
    Sameone have faced this problem and kown how to solve this?

    Hi
    Probably after calling the BAPI BAPI_OUTB_DELIVERY_CREATE_SLS you need to force the commit, so you can call the BAPI for the commit BAPI_TRANSACTION_COMMIT, or use the statament COMMIT WORK
    Max

  • How to use Multiple JDBC Drivers?

    Hi,
    I'm working with an application that connects to an Oracle 8 database and Oracle 10 databases as a single user/schema and then the application users all share the single Oracle user. When we use an Oracle 8 JDBC driver, then a module that inserts a large number of records (1500+) into an oracle table behaves inconsistently and either times out, pauses inserting records for exactly 1 hour, or throws an error. It also seems somewhat inconsistent from user to user.
    The problem goes away when we use an Oracle 10 or Oracle 11 JDBC driver. However, the Oracle 10 JDBC driver has a problem with truncating the hh:mi:ss from datetime column types to 00:00:00. This is a known Oracle error and I know there is a flag that can fix this with the Oracle 10 driver. However, with the way the JDBC driver gets installed in the application, we are unable to set that flag.
    Oracle 11 JDBC driver also doesn't have the Oracle 8 issue inserting a large number of records. However, we need to connect to an Oracle 8 database and Oracle 11 JDBC does not support that. The database is still active but being retired soon so no chance of upgrading to a newer Oracle version.
    I asked on the application forum (it's SAP Manufacturing Intelligence and Integration - MII) and was told the following. Data Server is a name for the connection to the database.
    "If the class packages are the same (assuming so since all of the oracle drivers I've seen use the same driver) then you can't have 2 at the same time, since they will overlap and you can't prioritize or point one data server to 8 and the other to 11."
    My experiments with trying to use two drivers have also shown this to be the case for what I tried.
    Any ideas or thoughts of how to make this work? We are using a JDK 1.5.
    Thanks for the help.
    Kerby Johnson

    The most reliable way would be to load each driver (and all code using it) using its own classloader.
    But that would likely be overly complicated.
    The most viable solution will likely be (especially as this is a short term project, you say it's going to be retired soon) to ensure a commit after every smaller subset of the total data volume and keep using the Oracle 8 drivers.
    Try forcing a commit after say every 100 records and see if you still have the timeout problems. Most likely this will take care of your problems at the cost of a slight performance decrease (but better somewhat less than optimal performance than risk database corruption or crashing applications, right?).

  • Fast refresh of "materialized view with joins only"

    Hi,
    My Requirement:
    I need to create a materialized view joining two tables.
    Table1 -> Does not have primary key
    Table2 -> Has a primary key
    I need to refesh the mat view only when DML commands are done on Table1 alone.
    And it will be better if i have a Refresh on commit rather on demand.
    The following code is what i used and it dint work for me:
    CREATE MATERIALIZED VIEW LOG ON Table1 WITH ROWID;
    CREATE MATERIALIZED VIEW LOG ON Table2;
    CREATE MATERIALIZED VIEW AAYT_ETF
    REFRESH FORCE ON COMMIT
    ENABLE QUERY REWRITE
    AS
    SELECT A.rowid "table1_rowid", A.ACCTNUM, A.CORR_NUM, A.OFC_NUM, A.RR_NUM, A.BUY_SELL_CDE, A.ACT_AMT, A.CSP_SYM, A.SECR_DESC, A.ACT_QTY
    FROM Table1 A, Table2 G WHERE
    A.CSP_NUM = G.CSP_NUM AND
    G.ASST_SUB_STYP = 'ETF';
    Issue Faced: In this case the refresh happends even while i do DML on Table2.
    But i need the refresh only when i do DML on Table1. I also unable to create Refresh Fast Mat view.
    Can anyone please tell me how to create the Materialized view Log and the Materialized view. Thanks in advance.

    This forum only is for questions relating to the use of OLAP Option. I would post your question on the database forum.
    Keith Laker
    Oracle Data Warehouse Product Management
    OLAP Blog: http://oracleOLAP.blogspot.com/
    OLAP Wiki: http://wiki.oracle.com/page/Oracle+OLAP+Option
    DM Blog: http://oracledmt.blogspot.com/
    OWB Blog : http://blogs.oracle.com/warehousebuilder/
    OWB Wiki : http://wiki.oracle.com/page/Oracle+Warehouse+Builder
    DW on OTN : http://www.oracle.com/technology/products/bi/db/11g/index.html

Maybe you are looking for