Oracle® Database Mobile Server

Release Notes

Release 12.1.0


January 2015

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, "OSE .NET Synchronization API" and Section, "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 12c Release 1 (

This section provides information on the following new features:

2.1 Usability Enhancements

  • Added Mobile Device Management (MDM) for iOS devices.

  • Added deployment into managed Weblogic domains.

  • Added capability to do a client install without a UI.

  • Added OJEC client capability to run on Windows 7.

  • Integrated synchronization APIs with Cordova/Phonegap for developing mobile applications on iOS platforms.

  • Added password invalidation when using external authentication.

  • Improved types of tables quick start wizard can handle.

  • Added transport demo for iOS and improved existing ones.

2.2 Performance Enhancements

  • Cache DMS metadata for clients with equivalent subscriptions.

  • Restructured libraries to reduce pathlength.

  • Added Device Management connection pooling on the server side.

  • Added JavaDB as a new client database type so that a pure Java stack can be used on the client device.

2.3 Synchronize Data to NoSQL Enterprise Edition

  • Added the capability to use Database Mobile Server as the data synchronization engine between the mobile client database and a NoSQL Enterprise Edition database. The createNoSQLQueue() method is added which will create the connection (for more information, see ConsolidatorManager class in the Javadoc). For steps to create the table in the NoSQL database can be found in Chapter 4, "Introducing Oracle NoSQL Database Tables and Indexes" of the Oracle Getting Started with Oracle NoSQL Database Tables.

  • Added a new Fleet Control demonstration kit in the MDK. The kit contains instructions on how to set up and run the demonstration. It shows how data moves from a device into a NoSQL database.

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

  • With the current 12.1.0 release, Oracle Application Server is not supported.

  • You get the following error message if you use 64-bit Oracle 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 Oracle 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.

  • On platforms that support reverse proxy, the initial synchronization may fail if HTTP_AUTH is not set up initially. If it fails with an HTTP 401 error, run synchronization a second time and Oracle Database Mobile Server will set 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.

  • Database Mobile Server 12c is certified with Oracle Database 12c Pluggable Database. You need to create a pdb to use as Mobile Server Repository.

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.

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

  • 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.

  • 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 to using command "ln -s" from where the 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.

  • 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.

  • In 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.

  • In Windows 7 and Windows 8 if the user has run update.exe with administrator privilege before, the dmagent.exe will also run as administrator, then the next update with normal privilege will fail.

    To run update.exe with normal privilege successfully, the user must stop dmagent before running update.exe.

  • 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.

  • Re-encrypting a Berkeley DB database with a new key is not supported. If sync password is used as the key to encrypt a Berkeley DB database, and the password gets changed, you need to use the original sync password as the key to access the encrypted database.

  • Due to limitations of the Ch-Werner full JDBC driver, both Berkeley DB and SQLite sync clients do not support empty blobs on Pure Java client platforms: Android, Java SE and Java ME.

  • Berkeley DB SQL has to run in a single process on WinCE. Accessing the same database from multiple processes simultaneously can lead to data corruption.

  • When you run iOS sync client on iOS 7.1.2, if sync fails with the following error, upgrade the device to 8.1:

    "olException: The following error has occurred:oseException[-12039]: 
    internal error has occurred (see the cause) olSysException[-10010]: 
    SecItemAdd(The operation could not be completed.(OSStatus error
    -25308.)) returned 025308. Domain:"NSOSStatusErrorDomain". Description: 

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.

  • 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.

  • 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 Mobile Development Kit - 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:

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

  • 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.

  • 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.

  • 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 and runwtgpack.bat (or

    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.

4 Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit or visit if you are hearing impaired.

Oracle Database Mobile Server Release Notes, Release 12.1.0


Copyright © 2014, 2015, 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, then 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 about 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 unless otherwise set forth in an applicable agreement between you and Oracle. 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, except as set forth in an applicable agreement between you and Oracle.