# Oracle® Database Mobile Server

Release Notes

Release 11.2

E29739-01

September 2012

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:

- Section 1, "Advance Notice"

- Section 2, "New Features for Oracle Database Mobile Server 11g Release 2 (11.2.0.0)"

- Section 3, "Known Problems and Limitations"

- Section 4, "Documentation Accessibility"

## 1 Advance Notice

This section lists deprecated, removed, and desupported items.

- The Oracle Lite Mobile Client is desupported in this release. The Sync Control APIs for the Oracle Lite Mobile Client are still provided in this guide, but will be removed when the Oracle Lite Mobile Client is fully deprecated.

  Supported mobile clients include the Berkeley DB and SQLite Mobile Clients.

- Formerly this product was shipped with two built-in servlet containers; OC4J on the server side, and Web-to-Go on the client side. However, Oracle Database Mobile Server 11g does not ship with a built-in Web application server, neither on the server nor the client side. Users will need to install a supported application server before installing the Oracle Database Mobile Server or mobile clients. On the server side, Oracle WebLogic Server (WLS), Glassfish, Apache TomEE, and OracleAS are supported. On the client side, the users can choose any servlet container that suits their needs.

## 2 New Features for Oracle Database Mobile Server 11g Release 2 (11.2.0.0)

- The Mobile Server supports AIX, Solaris, Ubuntu Linux, OpenSUSE and Redhat platforms.

- Mobile Client supports Ubuntu Linux, OpenSUSE and Redhat platforms.

- There is a new OJEC synchronization client.

## 3 Known Problems and Limitations

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

- Section 3.1, "Installing or Upgrading Oracle Database Mobile Server"

- Section 3.2, "Mobile Client"

- Section 3.3, "Mobile Server"

- Section 3.4, "MDW and Packaging Wizard"

- Section 3.5, "Mobile Development Kit"

- Section 3.6, "Mobile Manager"

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

- 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 BDB 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 BDB-5.1 database's log files (*.db-journal) and re-try.

- 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 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 or 11.2 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 uninstall correctly. The problem manifests itself by not showing updates. You can delete the device from the mobile server once it is uninstalled 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 SQLite database files to another place, insert/update/delete some data and put the database files back and then synchronize.

- On Windows 32 and Windows Mobile platforms, if you enable 'File Sync Options' in msync.exe, do not click the 'Apply' button.

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

### 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 Mobile Manager Administrator 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 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.

- BDB encryption on Android client is not supported for this release.

- When using Weblogic 12C, on a 64-bit Linux platform, with Oracle Internet Directory (OID), it is possible to get "Invalid Username/Password" after the client installation. This is because the authentication information is being flushed from the application servers cache. Reinstall the application server.

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

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

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

### 3.4 MDW and Packaging Wizard

- On Linux, when trying to close a project, the `dmagent` does not always exit properly.

- 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 only supported 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 BDB 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.2

E29739-01

Copyright © 2011, 2012, 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 RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

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.