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
export JAVA15_HOME=$JAVA_HOMe
(please read README before you start!)
Step 3: Installed GlassFish
Execute the install script provided. In my example,
$glassfish-3.1.2-unix.sh
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 http://192.168.0.17:8080
From a browser, visit <app server>:<port>/mobile/console. For me, this URL looks like http://192.168.0.17:8080/mobile/console
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.
If you want to uninstall DMS and start over, here are the steps:
Log in to Oracle using SYSDBA and execute:
SQL> DROP TABLESPACE SYNCSERVER INCLUDING CONTENTS;
SQL> DROP USER MOBILEADMIN CASCADE
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
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
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
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
export JAVA15_HOME=$JAVA_HOMe
(please read README before you start!)
Step 3: Installed GlassFish
Execute the install script provided. In my example,
$glassfish-3.1.2-unix.sh
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 http://192.168.0.17:8080
From a browser, visit <app server>:<port>/mobile/console. For me, this URL looks like http://192.168.0.17:8080/mobile/console
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:
SQL> DROP TABLESPACE SYNCSERVER INCLUDING CONTENTS;
SQL> DROP USER MOBILEADMIN CASCADE
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
i'm installed :
ReplyDeleteoracle 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 ?
Are you sure your mobileserver domain has started?
ReplyDelete- 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)
Try
asadmin stop-domain domain1 followed by
asadmin start-domain domain1
domain1 is default admin domain of GF
I solved the problem
ReplyDeleteI 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
by
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.
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
ReplyDeleteI 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
This comment has been removed by the author.
ReplyDeleteI found where is the problem, and I resolved now my android application syncronise with the server Thanks.
Deletebut the synchronization is done in a way:
the serverur ----> to mobile client
?????
how can I make a bidirectional syncronisation??
from server to ------ ----> mobile client
and
from mobile client ----- to ------> Server
Thanks for your helps
This comment has been removed by the author.
DeleteHi,
DeleteI 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.
This comment has been removed by the author.
ReplyDeleteHave you tried synchronizing both ways? Please describe your steps.
ReplyDeleteSo, 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.
Thank you, I found where the problem is.
ReplyDeleteMy 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 ;)
This comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDeletehi, I'm back with a question :)
ReplyDeleteI 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
only
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?
You can write SQL to subset data. Please read documentation http://docs.oracle.com/cd/E22663_01/doc.11100/e22678/admuser.htm#OLDEP026 pay special attention to Section 4.5
ReplyDeleteI read the section 4.5,
ReplyDelete- 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!"
http://www.packtpub.com/article/creating-new-publication-using-mobile-database-workbench-oracle-mobile-server
give me your opinion if you understand what must to do
result of your answer
ReplyDeletehttp://docs.oracle.com/cd/B14156_01/doc/B12262/html/mmdsubre.gif
any solution ???
please i have a problem when i am trying to connect to the mobile manager http://localhost:8080/mobile/console
ReplyDeleteCan you share some additional information like error message? Please try the following:
Delete1. 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
Did you done any sync app(oracle mobile server with oracle client)?
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteTesting Mobile Server Installation
ReplyDeleteTo test whether your mobile server was installed correctly, test your mobile server through a browser with the following URL:
http://[:port]/mobile
-----
I tried:
Tomee:
http://lohalhost:8080 is Running Properly..
Mobile Server:
http://ALTIRUMA.in.ibm.com:8080/mobile(ALTIRUMA.in.ibm.com is My Machine Name)
Error 404--Not Found
Could you please suggest me how to test the server.
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 altiruma.in.ibm.com:8080?
ReplyDelete