Oracle® Database Mobile Server

Release Notes

Release 11.3.0.1

E39323-02

April 2014

The information in this release note pertains to items that did not make it into each book. The information is organized by the book to which it pertains, as follows:

1 Advance Notice

This section lists deprecated, removed, and desupported items.

OCAPI C# Synchronization APIs and OCAPI C# APIs for managing automatic synchronization (Sync Control APIs) are no longer supported. Use OSE .Net Synchronization APIs and OSE .NET APIs for Automatic Synchronization. For more information, see Section 3.1.1.3, "OSE .NET Synchronization API" and Section 3.2.1.3, "The .Net APIs for the Sync Agent and Automatic Synchronization" in the Oracle Database Mobile Server Developer's Guide.

2 New Features for Oracle Database Mobile Server 11g Release 3 (11.3.0.0)

  • Mobile client supports iOS and Windows 8.

  • Synchronization APIs can be integrated with Phonegap for developing mobile applications on Android platform.

  • The Mobile server supports Windows 8.

3 Known Problems and Limitations

This section contains known problems and limitations in the following Oracle Database Mobile Server components:

3.1 Installing or Upgrading Oracle Database Mobile Server

  • You must check the log file %ORACLE_HOME%\mobile\server\repository.log after the Oracle Database Mobile Server install to verify if the install succeeded or failed. The details about any failures are documented in the log file.

  • You get the following error message if you use 64-bit Sun JDK 1.7 to install Database Mobile Server on 64-bit Windows platform:

    "WLSTException: Error occured while performing startServer : Error starting the server. WLST could not start a new JVM for the server process, this might happen if you have provided illegal jvmArgs or the JVM picked up any illegal JVM_OPTIONS from your path".

    In that case, use 64-bit Sun JDK 1.7 update 9 and retry.

  • During upgrade, all existing schemas and repositories, such as mobileadmin, are automatically upgraded. You should first back up any schema or repository before performing the upgrade to save copies of the original files.

  • Prior to running upgrade.exe to upgrade from Oracle Database Lite 10.3.0.3.0 to Oracle Database Mobile Server 11g, ensure that OSE.FILES=YES is set in the ose.ini file. You can do this manually.

  • After upgrading Oracle Database Lite Mobile Server 10.3.0.3.0 to Oracle Database Mobile Server 11g, the msync process may hang indefinitely when synchronizing data with the 11g Mobile Server. If this happens, set OSE.FILES=YES in ose.ini and retry.

  • After upgrading 10.3.0.3.0 Linux Berkeley DB Mobile Client and Mobile Server to 11g, synchronize data with Mobile Server. If you get the error "BDB0126 mmap: Invalid argument", then backup your client data, remove Berkeley DB-5.1 database's log files (*.db-journal) and retry.

  • On Windows Mobile, if the reserve proxy is set up with authentication, the initial synchronization may fail. If it fails with an HTTP 401 error, run synchronization a second time and it will succeed. After the initial failure, Oracle Database Mobile Server sets HTTP_AUTH=TRUE in the devmgr.ini file.

  • When using an Oracle RAC database as your repository, do not store the synchronization tablespace SYNCSERVER on local storage. See Section 3.10, "Defining Synchronization Tablespace" in the Oracle Database Mobile Server Installation Guide for the technique on how to move the tablespace to a different location.

3.2 Mobile Client

  • On Linux platforms, if a synchronization is initiated from the Device Manager window, a new synchronization window is created. This window does not close properly after synchronization has finished. Locate the process id of the automatic synchronization process and manually kill it with the kill -9 command.

  • On Linux, the mobile client uses in-memory mapped files in the $MOBILE_HOME/olIPC directory. When there is an abnormal behavior with the syncagent, msync or dmagent utilities, these files get corrupted. If these utilities start with the corrupted files, the programs will not work correctly. For example, this can be seen after an upgrade to Database Mobile Server 11.1, 11.2, or 11.3 and remote device management commands are not working for a Linux client. The workaround is to remove $MOBILE_HOME\olIPC directory before restarting any of these utilities.

  • Do not install MDW and the mobile client on the same platform.

  • If you reuse a SQlite Android client in the mobile server, the original client may not un-install correctly. The problem manifests itself by not showing updates. You can delete the device from the mobile server once it is un-installed through Mobile Devices tab -> Select the check box for the device -> Delete -> Confirm deletion. Ensure that the original client is removed from the mobile server.

  • On Blackberry devices, SQLite allows only one connection to a given database at any given time. Opening another connection to the database throws the DatabaseIOException ("File system error (12)") error. Automatic synchronization is not supported on Blackberry devices because of this limitation. If shared connections are not used, the OSESession object lifetime is limited to 1 synchronization event only. Thus, after the synchronization call, close the session whether the synchronization was successful or not.

  • Reverse proxy authentication is not supported for Android clients.

  • "Resume" feature is not supported for OJEC clients.

  • Automatic sync cannot handle schema evolution (creating, dropping or altering snapshot definitions). If the schema has changed on the server and syncagent is running, the next automatic sync session will return "CONS-10077 Complete Refresh triggered during background sync" error and automatic synchronization will not proceed. Only manual (foreground) sync can handle schema evolution and propagate the schema changes to the client. If the schema has changed on the server, then all clients subscribed to it need to perform foreground sync (this will pause and then resume syncagent once the schema is updated on the client).

  • When you install mobile client on Linux platform for the first time, you may get an error "Could not connect to server: HTTP/1.1 200 OK". You can create a symbolic link libz.so to libz.so.X using command "ln -s libz.so.X libz.so" from where the libz.so.X located. X is the specific version number of libz library.

  • You cannot move client database files to another place, insert/update/delete some data and put the database files back and then synchronize.

  • On the Android platform, the Device Management agent URL format is either:

    • "<http://>+ <IP> + <:> + <port number>"

    • "<https://> + <IP> + <:> + <port number>"

    Other URL formats, like "<http://> <IP> + <:> + <port number> + </mobile>" or "<https://> + <IP> + <:> + <port number> + </mobile>" and "<http://> + <IP> + <:> + <port number> + </>" + </>" or <https://>+ <IP> + <:> + <port number> + </>" are unsupported.

  • For Android devices, if the 'De-install' command is sent from the Mobile Manager then the user should always select 'OK' to remove the mobile client software in the dialog box. If the user selects 'Cancel', the mobile client software is not removed from the device, however the metadata for the device is deleted from the Mobile Server leaving the device invalid.

  • On Windows 7, Windows 2008 and Windows 8, if you get a "stack overflow" error while doing a mobile client install for all users on one of these platforms, then there are 2 ways to resolve this problem.

    You can run the setup.exe program as a privilege user (Administrator privileges) or prior to running setup.exe create a directory named "Oracle Database Mobile Client" under the "<Windows Start Menu>\Programs". The exact location of <Windows Start Menu> is dependent on what Windows version you are using.

  • For iOS client, syncagent can only measure battery level with the precision of 5% rounded down, for example, battery levels of 85%, 86%, 87%, 88%, 89% are evaluated as 85%.

    Note this when you create battery-based event and condition rules.

  • If DMAgent is running on GNOME desktop environment, clicking 'Hide' button or 'Close' button in DMAgent window may not minimize the window.

  • On iOS platform, ensure to stop sync agent before you exit from your application. Sync agent will be running within your application after successful sync was performed and your sync user is subscribed to background-enabled publications, or if it was started explicitly via background sync control API. Stopping sync agent will avoid any undefined behavior on exit when sync agent's threads would otherwise have to be forcibly terminated. Use bgControlAgent() and bgWaitForStatus() APIs to stop sync agent (see section 3.2.1.2.4 of the Mobile Server Developer's Guide).

    If your application only uses foreground synchronization and does not need automatic (background) synchronization, you can disable sync agent via bgSetNumParam() API (see section 3.2.1.2.5 of the Mobile Server Developer's Guide). In this case no stop action is needed.

3.3 Mobile Server

  • Ensure that the Glassfish domain you specified does not contain any corrupted applications that may cause failures in starting the domain. The deployment process needs to start the domain before deploying the mobile server on your Web application server. Any failures in starting the domain will cause a subsequent application deployment to fail.

  • When deploying on Oracle Application Server 10.1.3.5.0, the repository (MOBILEADMIN) password must match the password used for Oracle Application Server OC4J Administrator account "oc4jadmin".

    If they do not match, you will get the error "Unable to make a connection to OC4J instance mobileserver ....", when you click the "mobileserver" OC4J instance on the application server's administration console.

  • Installing Oracle Application Server 10.1.3.5.0 on Windows 2003 64 bit requires the primary installation package (B27621) and a patch set (V17522).

    When installing the Oracle Database Mobile Server, use the 32-bit OUI installer by running Disk1\install\win32\setup.exe so they both will match. If they do not match, the Oracle Database Mobile Server install will get a "No application server" error because the application server's inventory.xml file cannot be located.

  • If you hit deployment failure during install of Oracle Database Mobile Server on top of Oracle Application Server 10.1.3.5.0, follow the steps below to deploy manually:

    • Create mobile.ear file with this command:

      jar -cvf %ORACLE_HOME%\Mobile\Server\admin\repository\mobile.ear -C %ORACLE_HOME%\Mobile\Server\admin\repository\mobile .
      
    • Call script mobileserver_deploy.bat to deploy mobile.ear on top of Oracle Application Server:

      cd %ORACLE_HOME%\Mobile\Server\adminmobileserver_deploy.bat ADMIN_PASS %ORACLE_HOME%\Mobile\Server\admin\repository\mobile.earwhere ORACLE_HOME is where you installed Oracle Database Mobile Server, ADMIN_PASS is the administrator password of Oracle Application Server instance, which you specified during install.

  • If you hit a "SEVERE: HttpServer.destroy Destroying http server, file:/<ORACLE_HOME>/j2ee/home/config/server.xml failed. java.lang.NullPointerException" error during shutting down Database Mobile Server deployed on top of Oracle Application Server 10.1.3.5.0, check the JDK version you are using with Oracle Application Server. Only JDK 6u27 and below version is supported.

  • If the repository and Glassfish are running on the same machine, it is possible to get the error "Please verify your username, password and try again!" when logging in as Administrator using Mobile Manager after the system has automatically restarted from a crash. If this happens, stop the Glassfish domain, stop the Oracle database and shutdown the Oracle listener. Restart them in the following order:

    • Oracle Listener

    • Oracle Database

    • Glassfish Domain

    The restart order is important.

  • When using Weblogic 12C, on a 64-bit Linux platform, with Oracle Internet Directory (OID), it is possible to get "Invalid Username/Password" during the client install. This is because the authentication information is flushed from the application servers cache. As a workaround, log into the File Sync login page (which is located off the Mobile Manager page) and log the client in from there.

  • If the Mobile Server is deployed on top of Oracle Application Server (iAS) and SSL is enabled, then the client application needs to be built against JDK 1.6. The use of other JDK's is not supported.

  • With an Android 4.0 client and a mobile server deployment on Oracle Application Server (iAS), manual or automatic synchronization through HTTPS is not supported. This is an issue with iAS. If HTTPS is needed, then use a different application server such as Glassfish.

  • When a user selects "Un-Install" on the DMAgent and then hits the 'Cancel' button, the devmgr.ini file on the device gets removed by error on an Android device. Ensure that you really want to un-install before selecting this option.

  • When running setup.exe from the mobile server in an environment with SSL, reverse proxy, authentication and OID, you can get an invalid user/password error. Contact support if you need to run in this type of environment.

  • While defining a rule using Mobile Server Consolidator Manager APIs, you can set a high priority flag for the rule, only if the rule type is RULE_NET_PRIORITY.

3.4 MDW and Packaging Wizard

  • Before starting to test a publication, make sure the dmagent and syncagent processes are not up or running. If a previous test of a publication failed, the dmagent and syncagent may not have shut down correctly and will cause a problem when you execute another publication test.

  • On Windows Mobile, using remote synchronization with MDW over RAPI protocol may produce the following error:

    Unable to send command to the device!  RAPI: Command failed (2)
    

    If you get this error, check the devmgr.ini file and verify that the NAME and TYPE parameters in the [DMC] section are set correctly, as demonstrated below:

    [DMC]
    NAME=BDB PPC60 ARMV4I;US
    TYPE=WINCE_ARMV4I_US_BDB_60
     
    [NETWORK]
    ADDRESS=RAPI
    PROVIDER=RAPI
    SERVER_URL=<URL NAME> 
    
  • There is a bug in JDK1.6 that prevents passwords from being entered into MDW on Linux platforms. If you have problems entering the password, kill any Smart Common Input Method (scim) processes that may be running before restarting MDW.

  • On the Linux platform, if users terminate the shell command that launches the oramdw.sh script, they may have a JVM process with oracle/lite/mada/core/MADAMainFrame running in their system. Any further attempts to run MDW with oramdw.sh will fail. Kill the JVM process and re-execute oramdw.sh.

  • If MDW is run with different users on the same mobile server, problems can exist if the users are not switched correctly. On Windows, kill all client side processes including msync.exe, syncagent.exe, autosync.exe, dmagent.exe, update.exe, ocmd.exe, and setup.exe and then remove the %MOBILE_HOME%\Mobile\Sdk\bin\oseconf folder before starting MDW. On Linux, reboot the system before starting MDW.

  • The following exception may appear on the MDW console:

    • When the user clicks the "Finish" button on the Package Wizard, sometimes the error message "WIZARD_FOCUS_SUSTAIN, java.lang.RuntimeException" gets thrown from the AWT-EventQueue-0 thread. This error message can be ignored.

3.5 Mobile Development Kit

  • The MDK uses 32-bit and 64-bit JVM on 32-bit and 64-bit systems respectively. Make sure JAVA_HOME and PATH environment variables are set correctly in oramdw.bat (or oramdw.sh) and runwtgpack.bat (or runwtgpack.sh).

    If you are running MDK on 64-bit system, note that executable files and shared libraries under MOBILE_HOME/mobile/sdk/bin are 64-bit and those under MOBILE_HOME/mobile/sdk/bin/win32(or MOBILE_HOME/mobile/sdk/bin/linux32) are 32-bit.

  • Offline instantiation is supported only on Windows platforms.

3.6 Mobile Manager

  • The Device Type "SQLiteJava" on the Publications page of the Mobile Manager represents all Java device platforms with either Berkeley DB or SQLite storage engine.

4 Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.


Oracle Database Mobile Server Release Notes, Release 11.3.0.1

E39323-02

Copyright © 2013, 2014, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.