Friday, 17 August 2012

Installation of Oracle Database Mobile Server 11g

Prerequisites: Install Oracle Database 11g

Note: Screenshots from my installation are available for your reference at the bottom of this note.

Step 1: Download Application Server.
I chose Oracle GlassFish Server 3.1.2.

Step 2: Set up environment for GlassFish
Since I already had Oracle Database installed, I set the environment for a different Oracle Home.

export ORACLE_HOME=/home/oracle/glassfish/glassfish3

(please read README before you start!)

Step 3: Installed GlassFish
Execute the install script provided. In my example,

I took the default install options and installed the GlassFish server on Port 4848

Step 4: Download and install DMS

I downloaded DMS for Linux. There are separate 32-bit and 64-bit installations. So make sure you choose the right one.

I used the same environment as GlassFish. Fired up the Oracle Installer (runInstaller) and installed the Oracle Database Mobile Server. I chose the option to not create repository and to not install the demo applications.

Step 5: Create Mobile Repository

Run $ORACLE_HOME/mobile/server/repwizard to bring up Repository Wizard. Follow instructions to create repository. You will need the GlassFish Port Number, Admin credentials and credentials for the Oracle SYSTEM user.

I chose the default installation schema MOBILEADMIN and created a new domain for the DMS.

Step 6: Start Domain

My main GlassFish domain is called domain1. There is no need to start the mobile server domain separately

$ORACLE_HOME/bin/asadmin start-domain domain1

Step 7: Log in to Mobile Manager

Verify that GlassFish Server is running. Visit <app server>:<port>. My URL is

From a browser, visit <app server>:<port>/mobile/console. For me, this URL looks like

Use the credentials for the Administrator to log in. If you cannot log in or get any error, you will need to figure out what went wrong by looking at installation logs.

How to Uninstall?

If you want to uninstall DMS and start over, here are the steps:

Log in to Oracle using SYSDBA and execute:


From OS prompt, delete the directory structure $ORACLE_HOME/mobile

$rm -rf mobile

Delete the Mobile Server domain from $ORACLE_HOME/domains (delete the mobile server domain and not the GlassFish main domain)

$rm -rf mobileserver

My Experience

All of the above went very smooth once I had Sun JDK installed and JAVA15_HOME and ORACLE_HOME set properly.

Since my DMS is running on a Linux Desktop, I did observe one strange behavior. When my Desktop went down abnormally due to a power failure, I could no longer log in to Mobile Manager using the Administrator credentials. I kept getting an error Invalid Username/Password or something to that effect. I could not figure out why. My database was running fine and I could log in to MOBILEADMIN from SQL client and even reach my GlassFish console. So there is some issue here that I have not figure out as yet. I have reported it to the Oracle team.

I finally reinstalled DMS and recreated the repository to get around this problem. Hopefully, we will get a solution for this issue

Screen Shots

I have made available four sets of screeshots for reference.

1) Oracle GlassFish Server Installation

2) Oracle Database Mobile Server Installation

3) Oracle DMS Repository Creation

4) Managing Domain and Mobile Manager 


  1. i'm installed :

    oracle database11g succefully

    glassfish succefully

    DMS11 succefully

    i'm starting domain1 succefully

    but when i need to go in : http://localhost:8080/mobile/console

    server don't found a page !!

    what i can do ?

  2. Are you sure your mobileserver domain has started?

    - What happens when you visit http://localhost:8080/ Is GF domain started?

    - If GF is started, I suspect that the Mobile domain has not started (by default it is called mobileserver)

    asadmin stop-domain domain1 followed by
    asadmin start-domain domain1

    domain1 is default admin domain of GF

  3. I solved the problem

    I copy the file "WebToGo" "mobile" folder in the autodeploy domain domain1

    it works very well now.


    but my current problem I followed all the steps of your project:

    1) I created a user "AA" on oracle databases I create the tables that I need in my project.

    2) I then create "Publication items" I give the name of each "Publication Item" as the names of the tables relate to the database, after I create "Publication" I named
    and I add the "Publications items" inside, in the name of the database I give "Pingouin_Projet_Bdd.db" as the name, then I dployer the Glassfish server successfully.

    3) I download the application "update.apk" "dmagent.apk" and I install "Mobile Sync" in my android tablet

    4) I created a user "AA" in the glassfish server and I give him the role of the application that I named "TesApp" which contenner "Publication items"

    5) on my shelf mobile sync I set "OSE.INI"
    SQLITE.DATA_DIRECTORY = / sdcard / external_sd / com.pph.pingouin_projet / AA

    (Com.pph.pingouin_projet: the package of my project)

    * The first day gave me the synchronization errors

    * The 2nd day with a miracle given my "Syncronisation succefful"

    and when I look in the path of my project I find database with 2 other file, but the database does not open???

    after I try to change:
    SQLITE.DATA_DIRECTORY = / sdcard / external_sd / com.pph.pingouin_projet / AA
    SQLITE.DATA_DIRECTORY = / sdcard / external_sd / com.pph.pingouin_projet

    ca give my errors
    and when I undo changes
    SQLITE.DATA_DIRECTORY = / sdcard / external_sd / com.pph.pingouin_projet / AA

    ca give my errors of syncronisation problem!!

    : $

    Is that I have a problem at "Publishing" and "Publishing items"??
    Is that I have a problem or I missed something in creating tables??
    What is the configuration file must be in the "OSE.INI", "global.xml"??

    excuse me this is a long can, apologize and I do not speak English that I translate my message

    I'm waiting for your help and thanks to all.

  4. Your OSE.INi entry should point to a directory one level higher than the username. So, assuming your user is AA above, your entry should be: /sdcard/external_sd/com.pph.pingouin_projet

    I am assuming that you have created a directory named external_sd under /sdcard

    If you are having Sync issues, you can view Error log. In the Mobile Sync app, click Settings, View Error Log and see if that helps you

  5. This comment has been removed by the author.

    1. I found where is the problem, and I resolved now my android application syncronise with the server Thanks.

      but the synchronization is done in a way:
      the serverur ----> to mobile client


      how can I make a bidirectional syncronisation??
      from server to ------ ----> mobile client
      from mobile client ----- to ------> Server

      Thanks for your helps

    2. This comment has been removed by the author.

    3. Hi,
      I am developing android app with oracle database. please guide me how to configure android application with oracle database.
      I am using Linux Fedora operating system.

      Thank you.

  6. This comment has been removed by the author.

  7. Have you tried synchronizing both ways? Please describe your steps.

    So, for example, on your device, what happens if you do the following:

    1. Connect device to your computer
    2. adb shell
    3. sqlite3
    4. UPDATE some record(s) in a table
    5. Quit

    Start Mobile Sync and then Sync. You should see changes on the server after a few minutes.

  8. Thank you, I found where the problem is.
    My problem was that: ID tables are not automatically incremented, then add for each record in the mobile IDs was 'null' then the server IDs are not accepted and he deleted.

    I then correct the code incrementing ID tables and it works :)

    thank you very much for your support, you are a genius ;)

  9. This comment has been removed by the author.

  10. This comment has been removed by the author.

  11. hi, I'm back with a question :)

    I sync, the two devices with the same database successfully.

    all data will syncronisés on both devices.

    but my goal, and each Currency load data concerned and not all data.

    for example:
    Device 1 ----> city (NEWYORK) syncronise data object belongs to Newyork

    Device 2 ---> city (PARIS) syncronise data object belongs only to Paris.

    knowing that the two cities in the same table

    the question is ... what to do?

  12. You can write SQL to subset data. Please read documentation pay special attention to Section 4.5

  13. I read the section 4.5,

    - I go to the Users page

    - I chose the user "AA"

    - Then the "Data Subsetting", I found the name of associated application as a user.

    the problem is that I have no right to the selected application or add value! :-(

    NB: they me SUGGESTED also to see "publication item query!"

    give me your opinion if you understand what must to do

  14. result of your answer

    any solution ???

  15. please i have a problem when i am trying to connect to the mobile manager http://localhost:8080/mobile/console

    1. Can you share some additional information like error message? Please try the following:
      1. Point your browser to the URL http://localhost:8080. Do you see your App Server screeen?
      2. If #1 above is fine, then please describe what happens when you try the Mobile Manager

  16. Did you done any sync app(oracle mobile server with oracle client)?

  17. This comment has been removed by the author.

  18. This comment has been removed by the author.

  19. Testing Mobile Server Installation
    To test whether your mobile server was installed correctly, test your mobile server through a browser with the following URL:

    I tried:
    http://lohalhost:8080 is Running Properly..
    Mobile Server: is My Machine Name)
    Error 404--Not Found

    Could you please suggest me how to test the server.

  20. Sorry for delayed response. I was away from network for 2 weeks in Ladakh. This seems like a DNS issue. Are you able to reach your Web Server by using URL


Note: only a member of this blog may post a comment.