Data not arriving in oracle lite using qbased syncing

Hi,
I am currently having difficulty adding new publication Items to our current queue based syncing in Oracle lite.
I have set up the Queue using : createQueuePublicationItem
I have set up the Index using : createPublicationItemIndex
I have added the publication item using : addPublicationItem(
I have added the user to the new PI using the screen.  This I think should be everything.  Unfortunately what happens is that the data gets as far as the out queue tables ie mobileadmin.ctm$ppec_pi for my new PI of ppec_pi.  But when I go onto the olite database on the client device, the new table is created, but there is no data.
Is there something I am missing,
Thanks,
Justin.

I did redefine the table, so all columns that are part of PK index and used in my SQL statement are data type NUMBER.
My unique index is (dc_nbr, company_nbr, offering_group_id, offering_id), the same columns are used in my WHERE clause.
Still Oracle Lite always builds the large temporary table before it goes to this temp table and sequentially reads and returns first 19 records.
Trace File:
Tid=060c, Statement Text:select dc_nbr, company_nbr, offering_group_id, offering_id
from uoc.ship_dc_offering
where dc_nbr = 6
and company_nbr = 1
and offering_group_id = '00001'
and offering_id > '100129'
and rownum < 20
Table Order: UOCDB.UOC.SHIP_DC_OFFERING
Tid=060c, Compilation Time: 0 (mil. sec.)
     Temporary Table Created: POL_WS_1_1
     Table Name: UOC.SHIP_DC_OFFERING
     Access Method:
     Term[0], Index No: 903266475, IndexName: UOC.POL_SYS_CONS20030
     Table Name: POL_WS_1_1
     Access Method: Sequential
Tid=060c, First Fetch Time: 2323 (mil. sec.)

Similar Messages

  • How to store and retrieve blob data type in/from oracle database using JSP

    how to store and retrieve blob data type in/from oracle database using JSP and not using servlet
    thanks

    JSP? Why?
    start here: [http://java.sun.com/developer/onlineTraining/JSPIntro/contents.html]

  • Is XMLTYPE not supported in Oracle Lite?

    I tried to create a XMLTYPE column in Oracle Lite. I am getting this error.
    [POL-5147] this feature is not supported. Is XMLTYPE not supported in oracle lite ?
    Can anyone help me understand how to create XMLTYPE column in oracle lite?
    Thanks..

    Or you could say that they are supported, but sharpening, moire and de-noise are not available (or just set to default), which is actually more Canon's fault. sRAW is a major mess and we're very lucky it's even supported in AP3, finally.

  • JDev 9.0.3.3 Data not saved to DB when using Non-Transaction DataSource

    Hi,
    Env: JDev 9.0.3.3/WL 6.0 sp1/Oracle 8i
    We have successfully deployed our application in 3-tier(remote mode) in JDev 9.0.3.2. using JClient, EO/VO, EJB Session Facade (BMT).
    Now we are planning to use JDev 9.0.3.3 (build 1205)
    We are using ejb.txn.type=local and Weblogic DataSource(non-txn).
    In JDev 9033, after commit the data is not getting saved to DB. No errors in the log below.
    This works fine in JDev 9032.
    This does not work with simple Master Detail and also with single row simple form.
    ==========================================
    [281] BaseSQLBuilder Executing DML ... (Update)
    [282] Executing DML...
    [283] UPDATE CISDBA.DCX_BASE_COST_V BaseCost SET ITEM_STAT=?,TID=? WHERE PART_NUM=? AND MY=?
    [284] cStmt = conn.prepareCall(" UPDATE CISDBA.DCX_BASE_COST_V BaseCost SET ITEM_STAT=?,TID=? WHERE PART_NUM=? AND MY=?"); // JBO-JDBC-INTERACT
    [285] cStmt.setObject(1, new BigDecimal((double) 2.0)); /*ItemStat*/ // JBO-JDBC-INTERACT
    [286] cStmt.setObject(2, "t2733bx"); /*Tid*/ // JBO-JDBC-INTERACT
    [287] cStmt.setObject(3, "04782612AA"); /*PartNum*/ // JBO-JDBC-INTERACT
    [288] cStmt.setObject(4, "2004"); /*My*/ // JBO-JDBC-INTERACT
    [289] cStmt.execute(); // JBO-JDBC-INTERACT
    [290] cStmt.close(); // JBO-JDBC-INTERACT
    BaseCostImpl: after doDML
    BaseCostImpl: End of doDML()...
    BaseCostInvestCost VO before postChanges...
    this.getWhereClause(): null
    isDirty() before executeQuery...
    this.getWhereClause(): null
    isDirty() after executeQuery...
    BaseCostInvestCost VO before postChanges...
    this.getWhereClause(): null
    isDirty() before executeQuery...
    this.getWhereClause(): null
    isDirty() after executeQuery...
    [291] BaseSQLBuilder: releaseSavepoint 'BO_SP' ignored
    [292] BaseSQLBuilder: setSavepoint 'BO_SP' ignored
    BaseCostInvestCost VO before postChanges...
    this.getWhereClause(): null
    isDirty() before executeQuery...
    this.getWhereClause(): null
    isDirty() after executeQuery...
    BaseCostInvestCost VO before postChanges...
    this.getWhereClause(): null
    isDirty() before executeQuery...
    this.getWhereClause(): null
    isDirty() after executeQuery...
    [293] BaseSQLBuilder: releaseSavepoint 'BO_SP' ignored
    [294] EJBTxnHandler: Commited txn
    [BaseCostInvestCostViewImpl.afterCommit] Enter
    [295] BaseCostInvestCostView2 notify COMMIT ...
    [BaseCostInvestCostViewImpl.afterCommit] Exit
    [BaseCostInvestCostViewImpl.afterCommit] Enter
    [296] BaseCostInvestCostView1 notify COMMIT ...
    [BaseCostInvestCostViewImpl.afterCommit] Exit
    [297] SubDept2SubProgView1 notify COMMIT ...
    [298] InvSubDeptLOV1 notify COMMIT ...
    [299] SubProg2SubDeptView1 notify COMMIT ...
    [300] SubProgramLOV1 notify COMMIT ...
    [301] StdCostView1 notify COMMIT ...
    [302] AltCostView1 notify COMMIT ...
    [303] PlantCodeView1 notify COMMIT ...
    [304] PaperCarView1 notify COMMIT ...
    [305] InvestCostItemView1 notify COMMIT ...
    [306] SavedSearchView1 notify COMMIT ...
    [307] AltCostView1_BaseInvestToAltViewLink_AltCostView notify COMMIT ...
    [308] InvestCostItemView1_BaseInvestToInvestItemViewLink_InvestCostItemView notify COMMIT ...
    [309] PaperCarView_BaseCostTrackedVehicleViewLink_PaperCarView notify COMMIT ...
    [310] VehicleProgramLOV1 notify COMMIT ...
    [311] SubDeptLOV1 notify COMMIT ...
    [312] Transaction timeout set to 28800 secs
    [313] [NavigationEvent: BaseCostInvestCostView1 From 0 to 1]
    [314] Column count: 14
    [315] ViewObject : Reusing defined prepared Statement
    [316] Binding param 1: 769661
    [317] Binding param 2: 2004
    [318] [RangeRefreshEvent: AltCostView1 start=-1 count=0]
    [319] Column count: 13
    [320] ViewObject : Reusing defined prepared Statement
    [321] Binding param 1: 769661
    [322] [RangeRefreshEvent: PaperCarView1 start=0 count=6]
    [323] Column count: 4
    [324] ViewObject : Reusing defined prepared Statement
    [325] Binding param 1: INV37
    [326] [RangeRefreshEvent: InvestCostItemView1 start=0 count=1]
    [327] [NavigationEvent: AltCostView1 From -1 to -1]
    [328] [NavigationEvent: PaperCarView1 From -1 to 0]
    [329] [NavigationEvent: InvestCostItemView1 From -1 to 0]
    ========================================================

    Hi Carsten,
    I tried to reproduce your problem, but couldn't. Let me explain what steps I executed and perhaps you can advise where I've not matched your steps.
    --Using build jdeveloper 9.0.3.3.1203, I built a new bc4j project containing a dept-emp default bc4j project (deptEntity, empEntity, deptView, empView, deptempFKAssoc, deptempFKViewLink, ApplicationModule).
    --In dos shell, I went to the directory \jdevdir\jdev\bin and ran setvars -go to set the correct jdk version
    --In the dos shell, in the directory \jdevdir\j2ee\home I executed the following command to install oc4j:
    java -jar oc4j.jar (defaults pswd to welcome for admin)
    --I remoted the appmodule to EJB Session Bean (BMT) and created a new deployment profile using the 9ias configuration for the application module.
    --I deployed the bc4j objects to oc4j
    --I created a new project
    --In this project I created a new jclient master-detail form using the above project's application module for the data model
    --I saved all and compiled the jclient project
    --I ran the jclient form and inserted a master record
    --I committed the transaction successfully
    --I browsed records, then edited a record
    --I committed the transaction successfully, then browsed.
    Is there something I've missed? Did you migrate your project and not start by creating a new project? Is there something special about the database schema you are using?
    Thanks,
    Amy

  • ORA-93114 Not connected to Oracle when using hsodbc

    Hi,
    I am trying to transfer data from SQLServer 2000 to Oracle 8.1.6 on Sun.
    I have configured my ODBC on Sun and it works fine.
    Now I am trying to get the data in Oracle.
    These are my settings in hsodbc.ora,tnsnames.ora and listener.ora.
    HS_FDS_CONNECT_INFO = nj050149
    HS_FDS_TRACE_LEVEL = 2
    HS_FDS_TRACE_FILE_NAME = $ORACLE_HOME/hssql.trc
    HS_FDS_SHAREABLE_NAME = /opt/odbc/lib/ivmsss18.so
    # ODBC specific environment variables
    set ODBCINI=/opt/odbc/odbc.ini
    ===============================
    tnsnames.ora
    hsodbc =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oradev.css.mot.com)(PORT = 1521))
    (CONNECT_DATA =
    (SID = hsodbc)
    ===============
    listener.ora
    # Generated by Oracle configuration tools.
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oradev.css.mot.com)(PORT = 1521))
    (DESCRIPTION =
    (PROTOCOL_STACK =
    (PRESENTATION = GIOP)
    (SESSION = RAW)
    (ADDRESS = (PROTOCOL = TCP)(HOST = oradev.css.mot.com)(PORT = 2481))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = /home/oracle/product/8.1.6)
    (PROGRAM = extproc)
    (SID_DESC =
    (GLOBAL_DBNAME = oradev.css.mot.com)
    (ORACLE_HOME = /home/oracle/product/8.1.6)
    (SID_NAME = NJ05DEV)
    (SID_DESC =
    (SID_NAME = hsodbc)
    (ORACLE_HOME = /home/oracle/product/8.1.6)
    (PROGRAM = hsodbc)
    ==========
    I have set up a dblink pointing to hsodbc.
    But when I try to select from a table in SQLServer
    I get the error message
    ERROR at line 1:
    ORA-02068: following severe error from HSODBC
    ORA-03114: not connected to ORACLE
    Can you please help. I could not identify the problem.
    Thanks
    Ana

    Hi,
    I am trying to transfer data from SQLServer 2000 to Oracle 8.1.6 on Sun.
    I have configured my ODBC on Sun and it works fine.
    Now I am trying to get the data in Oracle.
    These are my settings in hsodbc.ora,tnsnames.ora and listener.ora.
    HS_FDS_CONNECT_INFO = nj050149
    HS_FDS_TRACE_LEVEL = 2
    HS_FDS_TRACE_FILE_NAME = $ORACLE_HOME/hssql.trc
    HS_FDS_SHAREABLE_NAME = /opt/odbc/lib/ivmsss18.so
    # ODBC specific environment variables
    set ODBCINI=/opt/odbc/odbc.ini
    ===============================
    tnsnames.ora
    hsodbc =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oradev.css.mot.com)(PORT = 1521))
    (CONNECT_DATA =
    (SID = hsodbc)
    ===============
    listener.ora
    # Generated by Oracle configuration tools.
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oradev.css.mot.com)(PORT = 1521))
    (DESCRIPTION =
    (PROTOCOL_STACK =
    (PRESENTATION = GIOP)
    (SESSION = RAW)
    (ADDRESS = (PROTOCOL = TCP)(HOST = oradev.css.mot.com)(PORT = 2481))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = /home/oracle/product/8.1.6)
    (PROGRAM = extproc)
    (SID_DESC =
    (GLOBAL_DBNAME = oradev.css.mot.com)
    (ORACLE_HOME = /home/oracle/product/8.1.6)
    (SID_NAME = NJ05DEV)
    (SID_DESC =
    (SID_NAME = hsodbc)
    (ORACLE_HOME = /home/oracle/product/8.1.6)
    (PROGRAM = hsodbc)
    ==========
    I have set up a dblink pointing to hsodbc.
    But when I try to select from a table in SQLServer
    I get the error message
    ERROR at line 1:
    ORA-02068: following severe error from HSODBC
    ORA-03114: not connected to ORACLE
    Can you please help. I could not identify the problem.
    Thanks
    Ana ==============================================
    I modified the tnsnames.ora to say
    hsodbc.css.mot.com =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = nj050149)(PORT = 1521))
    (CONNECT_DATA =
    (SID = hsodbc)
    and now I get an error message saying
    ORA-12545: Connect failed because target host or object does not exist
    Please help.
    Ana

  • ORACLE LITE Using for mobile CRM

    We are developing a CRM application and intend to use Oracle lite in order to enable working offline.
    Has anybody done such a project or similar one?
    Can you please share your experience with me?
    Thanks,

    http://download.oracle.com/docs/cd/E12095_01/doc.10302/e12080/preinstall.htm#CBHIIFJA
    <quote>
    3.8.1.2 Software Requirements For Windows Mobile Clients
    * Windows Mobile 5
    * Windows Mobile 5 for Pocket PC
    * Windows Mobile 5 for Pocket PC Phone Edition
    * Windows Mobile 5 AKU2
    <quote>
    You can download the latest version of Database Lite 10.3.0.2

  • IPhone not recognized in iTunes when using WiFi sync

    I have found that my iPhone is frequently not recognized when using WiFi sync.  The only way to sync my phone when that happens is to use the old fashioned way--connect it to my computer via USB.  Then the phone is recognized and syncs fine.  The device shows even when I take my iPhone off power.  But when I close iPhone and later reopen it and plug in my iPhone to power, often it is not recognized.  I've tried everything I can think of but nothing works.
    Any ideas?
    talbryn

    I am having the same problem.  It was working just fine and then just mysteriously stopped showing up in iTunes (my iPad still shows up & syncs via wifi just fine--it is just my iPhone).  Someone please reply soon, this is driving me nuts! Thanks in advance!!

  • Could not connect to Oracle 8i using jdbc

    I am running Oracle8i Enterprise Edition Release 8.1.5 on Windows 2000 Server. I try to compile a sample program using JDK 1.3 and getting the following error message.
    Program:
    import java.sql.*;
    class Hotels
    public static void main (String args [])
    throws SQLException
    DriverManager.registerDriver (new oracle.jdbc.Driver.OracleDriver ());
    Connection conn =
    DriverManager.getConnection ("jdbc:oracle:oci8:@chandran", "TRAVEL", "TRAVEL");
    Statement stmt = conn.createStatement ();
    ResultSet rset = stmt.executeQuery ("select NAME from HOTELS");
    while (rset.next ())
    System.out.println (rset.getString (1));
    rset.close();
    stmt.close();
    conn.close();
    Error Message:
    D:\>javac E:\Javaex\Hotels.java
    E:\Javaex\Hotels.java:10: cannot resolve symbol
    symbol : class OracleDriver
    location: package Driver
    DriverManager.registerDriver (new oracle.jdbc.Driver.OracleDriver ());
    I am New to the JDBC 2.0 and JDK1.3. Could you please anyone guide me how can I overcome this problem. Should you require any additional information please reply me.
    Best regards

    rdbms 8.1.5 never was certified to run on win 2000.
    by the way rdbms 8.1.5 goes out of support on dec 31, 2000.
    in addition, oracle products like - the jdbc drivers, rdbms, oas, ias -- are NOT certified to work with jdk 1.3.
    if you run into problems, you'll need to reproduce it with jdk 1.2.x and rdbms 8.1.6 or 8.1.7 to have a bug filed.
    to be in a supported configuration, you'll need to move to rdbms 8.1.6 or 8.1.7 (preferred) and stick with jdk 1.2.x.

  • Voice Memos older than last Sync date not copying from iPhone to PC after sync, even though "Include voice memos" is checked

    I am trying to copy over my voice memos from my iPhone to my PC. I have "Include voice memos" checked under the Music tab.
    I had an issue with voice memos being duplicated on my iPhone after a sync (I got two versions of each memo on my phone for some reason), so after deleting the extra copies on my phone I deleted all voice memos from within iTunes and chose the option to move the files to the Recycle Bin. So the Music\iTunes\Itunes Music\Voice Memos folder is empty, and there are no voice memos showing up in iTunes.
    But now when I sync, it isn't copying over the older memos that are on my iPhone to my computer. If I record a new voice memo then that memo transfers successfully, but any voice memos with a recording date older than my last sync date do not transfer.
    How can I get these older voice memos (with dates older than my last sync date) transferred over from my phone onto my PC?

    Does anyone know of a way that I can access the voice memos with dates older than my last sync date...?

  • Application Development using Jdeveloper using Oracle Lite

    Hi all,
    I need to develop an application that works with the oracle database lite technology.
    Ritght now I am working on some 10 tables .The Scenario is like the application developed is deployed on the middle tier and the user downloads it and goes offline. And he uses the application offline with the same tables present (that are used in developing the application) in another database present on the user machine . I have gone through the ADF BC tutorials but I couldn’t figure out whether the business components (view objects, entity objects) that are created by using tables (connecting to a particular schema in the database) can work if the schema changes(coz I tried doing that and faced errors that connection to database couldn’t be established ). I think this might be because the schema has changed.
    Does this Business components created work if the database schema changes?
    Is it possible to develop an application using java swing that works on the oracle database lite? I need a standalone Windows 32 application to be developed.
    Thanks in advance

    Let's assume you have two database schema USER1 and USER2
    And let's assume that USER2 grants the appropriate privileges so that USER1 can see his tables.
    If you connect as USER1 in JDeveloper and create an entity object based on a table USER2.SOMETABLE, then the SomeTable entity object will remember the USER2 schema name as part of the table name.
    If instead if USER1 creates an entity object against a table in his own USER1 schema, then the entity object will only record the "TABLENAME" in the entity metadata, without a schema qualifier. In this case, if you connect to a different schema at runtime which still has the expected TABLENAME table in it, then it will work fine.
    Generally you would want to use an entity based on a synonym instead of an entity based directly on a SCHEMANAME.TABLENAME so that it wouldn't matter if the schema changed.
    Yes, you can build Swing, JSF, or JSP applications against Oracle Lite using ADF BC.

  • UTF8 support in Oracle Lite

    I looks to me like Oracle Lite doesn't support the UTF8 character set for storing data. Is this correct?
    I have an Oracle 8.1.7 database using UTF8 to store English, Thai, Chinese and Philippino data, and I want to synchronise that with Oracle Lite on Windows 2000 clients. The sync seems to work ok, but any non-english characters are lost in a characterset conversion (display as "?").
    Regards
    Steve

    I'm a bit confused by your reply. Can Oracle Lite store data in a unicode characterset such as UTF8? It looks to me like the "UTF-8 support" is limited to the drivers, so that it can load and extract utf-8 data, but not store it. From section 2.2.1 of the release notes:
    "Oracle Lite Database is NOT a NLS component. In order to reduce the kernel size, it is built for each language which supports native character sets for Windows. Which means, each language has each kernel. Here are the character sets supported by this release:
    - Chinese: MS936 CodePage (Simplified Chinese GBK, ZHS)
    - Taiwanese: MS950 CodePage (Traditional Chinese BIG5, ZHT)
    - Japanese: MS932 CodePage (Japanese Shift-JIS, JA)
    - Korean: MS949 CodePage (Korean, Ko)
    The database kernel for each language in this list only supports its corresponding character set. Other multibyte character sets are not supported."
    Also the documentation on the DBCharEncoding parameter you mention suggests that it only affects the UTF translation for java programs. Section A.2.3:
    "... Specifies the UTF translation performed by Oracle Lite. If set to NATIVE, no UTF translation is performed. If set to UTF8, UTF translation is performed. If this parameter is not specified, the default is UTF8. This applies to Java programs only."
    I've tried playing with these parameters, as well as changing the NLS_LANG parameter on the client, and for the mobile server, for the Oracle Lite home, all to no avail. I'm still losing the non-english data during synchronisation and it does look like it's being lost in a character set conversion rather than just being garbled, as each Thai characters is being replaced by the correct number of "?"s. As an example the Thai string "&#3610;&#3619;&#3636;&#3625;&#3633;&#3607; &#3610;&#3619;&#3634;&#3648;&#3604;&#3629;&#3619;&#3660; &#3588;&#3629;&#3617;&#3648;&#3617;&#3629;&#3619;&#3660;&#3648;&#3594;&#3637;&#3656;&#3618;&#3621; (&#3611;&#3619;&#3632;&#3648;&#3607;&#3624;&#3652;&#3607;&#3618;) &#3592;&#3635;&#3585;&#3633;&#3604;" on the 8.1.7 database sever appears as "?????? ???????? ?????????????? (?????????) ?????" on the oracle lite database.
    Am I missing something here? If I can get this data syncronising correctly then Oracle Lite looks like it will support all our requirments so any assistance would be greatly appreciated. (Should I post this to the globilization forum or does that focus only on Oracle's enterprise editions?)
    BTW, thanks for the info on the sorting. Obviously the characterset issue is more a fundamental problem at this stage, but if we can fix this then it's good to know about the sorting abilities.

  • Talend oracle lite problem

    we want to use talend in order to migrate data from an sql server to a oracle 11g. the database in oracle 11g is the repository for our oracle lite server.
    When we migrate the data we select action on table none and action on data insert or update for the oracle 11g components. We encounter a problem in which oracle lite thinks that the entire table has been changed after talend has finished its update and foreces a full refresh of the table to the users. As you understand this is a great problem because even when only one record has changed (or even none) the entire table is redownloaded on the users.
    From what i know oracle lite uses a complicated system in order to understand which records have been changed and therefore require to be updated on the clients. It appears as if talend changes something in the table after it has finished its data migration (perhaps some kind of a timestamp?) and therefore makes oracle lite believe that the entire table with all its rows were changed. i do not know which of the two components cause the error, talend changing something or olite thinking wrong about tables updated
    1)why does this happen and how exactly does oracle lite understand which data have been updated?
    im using this forum in order to ask if someone has encountered this problem again and how did he solve it
    thank you for your time

    not used talend, but if i understand correctly, you are using this to transfer data from a sql server database to oracle. I assume the data being put into the oracle database is into tables in the main schema, rather than the mobileadmin schema itself.
    For the tables that are being written to in the oracle database, how are they defined in the oracle lite publication (fast refresh, complete etc.) and what happens in the MGP process after the data import has run.
    The default process is that for fast refresh objects the following happens.
    1) when data is inserted/updated/deleted from the base table, triggers (TABLENAMi/u/d) fire in the main schema, and this causes data to be inserted into mobileadmin.C$all_sid_logged_tables to show the table as changed, and updates made to the CVR$ table in the main schema
    2) based on the 'dirty' tables in c$all_sid_logged_tables then the MGP process logs phase will copy data from CVR$ tables to CLG$ tables, and then run the compose to populate the out queue CMP$ tables
    it may be that part of the settings are stopping the updates to the CVR$ tables and this is causing a versioning mismatch (normal trigger for complete refresh), so check to see what updates are done to this table as well as the manin data table

  • Conflicts resolution methods in Oracle Lite

    Can anyone please provide the answers of the following questions?
    1_What Methods are used for Conflict detection and resolution for concurrent updates by multiple clients in Oracle lite databases?
    2_ Is there any method that extract semantic relation from the concurrent update transactions and create a global update schedule?
    3_ Does oracle lite use conflict avoidance mechanism?
    4_ What replication method is used by Oracle Lite Database?

    In terms of conflict resolution with oracle lite, which end do you mean? conflict resolution in the client database (ie: oracle lite) or on the server side when processing client uploads (this is just a standard oracle database), also not sure what you are trying to achieve
    *1_What Methods are used for Conflict detection and resolution for concurrent updates by multiple clients in Oracle lite databases?*
    I assume in the following that you are talking about dealing with uploads
    Depending on how the publication items are defined, the process is quite different.
    a) fast refresh publication items
    When the client synchronises, the upload data is uploaded as a packed binary file which is then unpacked and inserted into in queue tables in the mobileadmin repsitory (table names begin CFM$ followed by the publication item name). This is the only action that happens during the actual sync process.
    A second and independent process, not linked to the actual synchronisation - the MGP process, runs on the mobile server, and this has three phases - apply, process logs and compose that run one after the other. You can set the MGP to only do the apply phase, or all three.
    during the apply phase the data in the in queue tables for a particular user/transaction will be applied to the server database. Normally the MGP process is set to have three threads (this can be changed, but three is the default), and therefore three client uploads will be processed in parallel, but each of these threads is independant of the others and therefore should be seen as seperate transactions.
    It should be noted that even if you have 50 or 100 users synchronising concurrently, only three upload sets will be processed at any one time, and almost certainly a period of time after the synchronisation has completed (may be many hours depending on the MGP cycle time)
    As each of the apply threads is a seperate transaction, there is no concept of concurrency built in, and the only conflict resolution by default is based on the server wins/client wins setting of the publication item. where multiple users are updating the the same server record with 'client wins', the first user will update the data, and then the next user will update the data (just a repeat of the previous one). NOTE also that in the case of an update, ALL columns in the record are updated, there is no column level update.
    There are customisation options available to provide finer grained control over the apply process, look at the PLSQL callback packages registered against each publication item for beforeapply, afterapply, beforetranapply and aftertranapply, Apply DML procedures against the publication items and also the CUSTOMIZE package at the MGP level
    b) complete refresh publication items
    where the publication as a whole has a mixture of fast and complete refresh publication items, these normally work in the same way as the fast refresh described above. Where however you just have complete refresh items the data MAY be written directly to the server table on upload
    c) queue based publication items
    These work in realtime, rather than with a delay for the MGP process to pick up the data.
    When the user synchronises, the uploaded data is is written to the in queue tables in the same way, but when this is completed, a package (defined as part of the publication definition) is called, and the procedure upload_complete is run passing in the user and transaction identifiers. This package needs to be hand crafted, but you have full control over what and how all of the uploaded data is processed, but again this is a single transaction for that user. If you want to look at other sessions running, you need to find a way to implement this.
    *2_ Is there any method that extract semantic relation from the concurrent update transactions and create a global update schedule?*
    As noted above, the uploads may be processed in parallel, but they are seperate transactions, so no built ins
    *3_ Does oracle lite use conflict avoidance mechanism?*
    Only the basic oracle stuff, unless you use the customisation options to write your own
    *4_ What replication method is used by Oracle Lite Database?*
    The different types of publication items select data from the server database for download in different ways
    a) fast refresh
    change logging tables and triggers are created in the server database. These are scanned during the MGP process logs phase to determine what changes have happened since the last MGP compose, and what publication items they affect. The MGP compose then runs and this uses the same three threads to process the users in alphabetical order using the change keys to populate data in out queue tables (prefixed CMP$) in the repository. These have the PK values for the data, plus a transaction types (insert/update/delete). All the MGP process does is populate these out queue tables.
    When the user synchronises, the data in the out queue tables is used as a key list to extract the data from the actual server tables into a packed binary file, and this is sent to the client.
    b) complete refresh
    there is no pre-preparation in this case, the data is streamed directly from the server database into the packed binary download file
    c) queue based items
    in real time when the user is synchronising after the apply has been done by the uploade_complete procedure, a second procedure download_init is called. Within this you have to code the data extract, and MUST populate tables (you also need to create them) CTM$<publication item name> these are effectively out queue tables, but contain all of the data, not just the PK values. At the end of the procedure, the data is streamed from these into the binary file for download.
    Depending on the definition of your apublication, you could have one or more of the above types (VERY bad idea to mix queue based and fast refresh unless you are very sure about what you are doing) and therefore there may be a mix of different actions happening at different times
    In conclusion i would say that try and send seperate data to clients so that they do not interfere with each other, and for inserts use uniqueue keys or sequences. If you MUST send the same data to different clients for update, then the queue based approach provides the best control, but as it is real time is not as scalable for large data sets.

  • Oracle lite benchmark

    hi all,
    I'm been asked to produce some data about
    efficiency of Oracle lite replication.
    Does anyone have some resource on the matter,
    or suggestion on how to build a
    workbench?
    Thanks for your help,
    d.rizzi ([email protected])
    null

    Hi Kamleshwar,
    I don't think that Oracle has documented it anywhere (even other products also do not have such document). Please estimate your requirements (from performance perspective) and contact Oracle Support to get formal confirmation about whether Oracle B2B is capable of giving that much throughput. You may contact Oracle B2B IDC team as well.
    We had performed a performance test (automated with mixed load) on Oracle B2B around 8 months before and we could easily get 5-6 MPS however Oracle B2B can be tuned to produce more throughput but that is for certain cases only.
    Ramesh has given very useful tips to tune Oracle B2B -
    http://www.b2bgurus.com/2007/10/oracle-as-b2b-performance-best.html
    Regards,
    Anuj

  • Oracle Lite Capabilities

    I have a few small questions around the capabilities of Oracle Lite within certain environments:
    1) If i have multiple connection mediums ie . GPRS / Wireless LAN / Cradle etc - is there a way to dynamically choose which one to use - Can i set up a order of preference. If i'm in the office and the device is in the cradle it would be silly to use GRPS to sync for example. How can i setup Oracle Lite to use the cradle as default , fall back on the Wireless LAN and then GRPS if neither of the above are available.
    2) Can i set a pocket PC device to automatically poll for a connection - check whether it can sync with the server. Not have the user initiate the sync. On Win32 you have the mobile client which you can configure - does that run on PocketPC ?
    3) Memory cards - I would like to use the memory card as the default data store for my Oracle Lite install and database files. If the device loses it's primary configuration the database and binaries should be intact ? - how do i manage this ? Is there a way to address the memory card in the install parameter file to tell it to drop the binaries / data files there.
    4) Once i sync recover the device - with the data / binaries intact - what would the result be on re-installing Oracle Lite from the Mobile Server? Would it overwrite my existing configuration ? or just update / sync ?
    Your answers would be greatly appreciated.

    from the below, i assume you are using a pocket PC client (PDA?) if so
    1) nothing directly to do with Oracle lite. You need to look at the connections/internet connection default settings on the device itself. This should allow you to set the switch over as you require. lite only uses the active connection for synchronisation, it relies on the device to establish the connection itself
    2) you would normally want the user to initiate, as you may have some problems with uncommitted data if the device is in use, and these would not be transferred. If you hit a complete refresh required situation it could cause data to be lost. We have an unattended facility in our application that uses a timer to count down to a timeslot defined in the database, it then uses the API to attempt a sync, and if this fails goes into a retry mode. You could try something similar, but make sure all data ia committed
    3) you do not say what version you are on, but in 10g on a PDA, if there is a memory card present when it starts the sync, then it should use this by default (in fact you have to take it out for it to put the files in main memory). You can change this by looking at the settings in the odbc file in the orace directory - this has the database file locations. simplest solution is to remove all odb files and odbc and polite, put in the memory card and sync to re-create the databases
    4) to re-install oracle lite keep a copy of the cab file on the memory card. run this to re-build oracle lite. I am not 100% sure, but it would be worth keeping a copy of the odbc file on the card, and copying this back to orace when recovering as well

Maybe you are looking for

  • Cinema Display as a TV monitor

    Is it possible to hook up a Cinema display to a satellite receiver and watch TV? If so do you need any type of adaptor?

  • How to rewrite data in SAP from a Widget

    Hi Experts, I would like to create a widget that able to send data in SAP : for exemple you call purchase requisition for release and when you have the list you can approve the purchase. So there is a specific template in the SAP development tool or

  • Script to Submit XFDF in the background?

    I was wondering if anyone has any hints or techniques on how to submit a pdf as XFDF in the background using javascript on a web instance of Adobe Reader. Right now, I have a button that when the user hits save, submits the XFDF to another web page t

  • Entity Reference embedded within colspec attribute name-table col. heading

    My team is working on a project that involves converting MS Word documents to XML. The XML is applied to a stylesheet (*.xsl) which generates a *.pdf document. Is it valid to include an xml entity reference within a colspec attribute name? For exampl

  • How to cancel a download

    I purchased a film recently, but for personal reasons had to delete it but I can't, what do I do to cancel the download and will I still be charged?