IN ORACLE MILIEU …

Oracle Database Lite 10g (OLite 10g)

Introduction

Oracle Database Lite 10g extends the power of grid computing to a mobile workforce with a complete, integrated, secure database for building, deploying, and managing mobile applications for a broad range of mobile devices. Oracle Database Lite 10g enables persistent access to critical information and applications without requiring continuous connectivity to back-end enterprise systems. As a result, users increase the efficiency, productivity, and responsiveness of mobile workforces while reducing costs and improving customer satisfaction.

Oracle Database Lite is a complete, integrated, and secure infrastructure to build, manage, and provision mobile database application to a broad range of wireless devices. It is the leading platform to develop, deploy and manage mobile applications that store data locally on mobile devices (Smartphones, PDAs, Handheld Computers, and traditional Laptops) and synchronize data with central servers. Oracle Database Lite includes: scalable data synchronization architecture to thousands of mobile users; centralized management through easy-to-use graphical user interface; utilizes Oracle Real Application Clusters for maximum high-availability and failover; and revolutionary new mobile database development tools increases developer productivity. With Oracle Lite, your business cost-effectively extends enterprise data to occasionally connected mobile users. Oracle Lite is a complementary product optimized to work with Oracle Database Standard or Enterprise Edition.

Usability

Employees are working away from their desks and require access to corporate data normally found only on desktop devices connected to enterprise networks. Wireless connections for mobile users offer the promise of remote access of enterprise data but persistent wireless connections are not always possible, practical or desirable.

Wireless connections are not always possible because mobile workers may be in an environment that does not have wireless coverage. Often it is not practical to use a persistent wireless connection because applications do not have a real time data access requirement to justify the costs of communications. There are situations where a wireless connection is not desirable because the very presence of a wireless connection could compromise an application or a user’s security.

Developers require an infrastructure with application services that enable the development, delivery and operation of secure, personalized applications to mobile or embedded devices.

Database Lite Components

Oracle Database Lite 10g is a part of Oracle’s Database that extends the grid environment
and it makes your applications mobile. Oracle Database Lite describes a group of components that includes the Lite Database, the Mobile Server for Data Synchronization, Life Cycle Management and a Rapid Application Development environment.

Oracle Database Lite is a complete solution and includes more than a small database. The Oracle Lite database included in this solution is not an abbreviated version of the Oracle database but was designed from the ground up to be used with mobile applications in small and embedded devices.

untitled.jpg

Prerequisite Software for Lite  

Since Oracle Database Lite stores and retrieves your information from an Oracle database, you must have a back-end Oracle database to run Lite. The Oracle database can be either Standard or Enterprise Edition, running a minimum version of 8.1.7 or higher.

Middle-Tier Option for Mobile Server

Oracle Database Lite uses a middle-tier to communicate between the clients and the back-end database. You must use one of the following as the middle-tier:

  • Stand alone OC4J – for development environments
  • Oracle Application Server – for production environments

Stand Alone OC4J

Stand Alone OC4J is automatically installed with Oracle Database Lite and this provides a standalone Mode for development environments.

Mobile Server in standalone mode uses the standalone version of Oracle Containers for J2EE (OC4J). This is the preferred configuration for development and testing but it will
support only a limited number of concurrent users.

Oracle Application Server

Production environments require either Oracle Application Server 10g. The application server is not installed with Oracle Database Lite and must be installed before installing Oracle Database Lite Mobile Server.

The Oracle Application Server production environment will support large numbers of  users, provides caching, load balancing, centralized management, security, and Single Sign On support.

Oracle Lite Database

The Oracle Lite Database is a small footprint, Java enabled, secure, relational database
management system created specifically for laptop computers, handheld computers, PDAs, and information appliances. Oracle Lite Database runs on Windows 2000/XP, Windows CE/Pocket PC, Symbian OS, and Embedded Linux.

Oracle Lite Database provides JDBC, ODBC, ADO.NET and Simple Object Data Access (SODA) APIs, for an easy-to-use C++ interface that is optimized for the object-oriented and SQL functionality of Oracle Database Lite.

Installation of the Mobile Development Kit (MDK) installs the Oracle Lite Database and all its utilities on your development machine.

Data Synchronization

A user’s data is synchronized between Oracle Lite Database and an Oracle database server.

Synchronization is accomplished by invoking the Mobile sync client, mSync, which interacts with the Mobile Server. The Mobile Server uses synchronization objects such as users, publications, publication items, and subscriptions to process client and server data changes. This technique is referred to as a publish/subscribe model.

Synchronization Process

Oracle Database Lite contains a subset of data stored in the Oracle database. This subset is stored in snapshots in the Oracle Lite database. Unlike a base table, a snapshot keeps track of changes made to it in a change log. Users can make changes in the Oracle Lite database while the device is disconnected, and can synchronize with the Oracle database
server. 

There are basically three types of publication items that can be used to define synchronization; fast refresh, complete refresh, and queue based. The most common method of synchronization is a fast refresh publication item where changes are uploaded by the client, and changes for the client are downloaded.

Meanwhile, a background process called the Message Generator and Processor (MGP) periodically collects the changes uploaded by all clients and applies them to database tables. It then composes new data, ready to be downloaded to each client during the next
synchronization, based on predefined subscriptions.

Oracle Lite Sync is a two step asynchronous process:

untitled1.jpg

  1. Sync moves updated rows from the client database to the In Queue and from the Out Queue to the client database.
  2. MGP (Message Generator Processor) applies In Queue changes to base tables and Composes the changes to the base tables to client Out Queues.

Until recently, most business applications have only been accessible from network tethered PCs in offices, away from where a business’ productive assets and employees are at work, its customers are serviced, and its operations performed. A new generation of lightweight and powerful mobile devices combined with inexpensive, widely available wireless data connections promise to redefine the reach of Enterprise applications. Oracle is committed to servicing the mobile computing needs of businesses worldwide with solutions and software platforms that offer the depth of feature, scalability, reliability and performance.

Please note that above discussion is taken from Oracle white paper.

Below I have given the steps for installing Olite 10g in E- Business suite environment.

Installing OLite 10g

For installing Oracle database lite 10g for demo and checking out product features, you need to get the required software download from this link.

Once downloaded, it need to be installed, very similar to our regular database installation. I have given the brief installation step for the same. As far as DBA is concern, the main resonsibility lies in installation and management. Please follow the below steps to install this software successfully. Also, please note that the steps below are the installtion steps for Linux OS. But though the basic steps are going to be almost same in any platform.
Note that the below discussion is for the installation on R12 instance.

Once the dump is extracted from zip file, before starting the OUI, you need to set the following environment variable.

ORACLE_HOME
JAVA13_HOME
TNS_ADMIN

For this software you need to set the path for ORACLE_HOME. You can create a directory called olite10g and set the path for this directoy as ORACLE_HOME.

JAVA13_HOME will be the location for your JAVA home. You can check the path for your java installtion, either 1.3 or 1.4 and set the path accordingly. Usually in Linux the path will be some thing like /local/java/jdk1.4.2.

TNS_ADMIN should point to $ORACLE_HOME/network/admin

Make sure you drop ‘mobileadmin’ schema with cascade option.

Connect to applications as system user and

SQL> Drop user mobileadmin cascade;

User Dropped.

SQL>

Once the above parameters are set and exported, check the DISPLAY environment variable(if installing on any of UNIX platform) and use the below command (from the software dump directory) to start the installation.

==========================================================
./runInstaller -invPtrLoc $ORACLE_HOME/oraInst.loc

Starting Oracle Universal Installer …

Checking requirements…

Checking operating system version: must be redhat-2.1, UnitedLinux-1.0 or redhat-3
Passed
All requirements met.

Checking if CPU speed is above 450 MHz.
Actual 3056 MHz Passed
Checking for Kernel version 2.4.21-4.EL Passed
Checking swap space: must be greater than 1536 MB.
Actual 23744MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2007-05-28_03-38-56AM. Please wait ..
sal Installer, Version 2.3.0.10.0
Copyright (C) 1999, 2003, Oracle. All rights reserved.

1.jpg

The above screen is just a welcome screen. Click next.

Next screen is a Inventory screen. Please note that we are here using the local inventory as specified by invPtrLoc attribute supplied, when we started the installation above. We also specified the location of oraInst.loc file. If the file doesnt exist, installer will create the file and the location of inventory will the one that we will provide in this Specify Inventory Directory screen. So basically oraInst.Loc file will be created with the inventory location as given in this screen. Give the location of your ORACLE_HOME, followed by a directory oraInventory. Even if the directory does not exist, installer will create the same.

1-1.jpg

2.jpg

In the above screen, we just specify the group of the user who is doing installation.

3.jpg

Specify File location page needs the product.jar file, which comes with software dump and name & location of ORACLE_HOME. Keep the default value and click next.

4.jpg

Press ‘Yes’ when you get such warning. The reason for this warning is that, the ORACLE_HOME directory that we are using is not empty, because we are creating the oraInventory directory in the same location. So by the time we come to this sceen, some components of inventory already got created in ORACLE_HOME directoy.

5.jpg

Select Installation Type as Mobile Server. This also includes Mobile Development Kit. Press Next.

6.jpg

On Mobile Server Repository Database Information page, you need to provide the information about, the hostname on which database resides, the tnsport of database and database sid. Once provided the info, click Next.

7.jpg

Mobile Server Repository screen will confirm your acceptance in installing the mobile server repository. This will create a schema, which will contain some schema and code objects specific to mobile administration. If you remember, before starting the installation, we have dropped mobileadmin schema for the same purpose. In case there is already existing repository, then the repository creation wizard will fail. So in usual practice, we drop the repository and create a fresh one when we install Olite 10g. ALso please note that upgrade repository option doesnt work with 10g Olite installation. Select Yes option if you want to create repository, else you can even select No.

If you select No at this point and later at some point of time, if you need to create a repository, you can do same by running just the respsitory wizard (repwizard) present in ORACLE_HOME/mobile/server/admin. But also note that, database information for creating repository cannot be given later, while creating the repository. But anyway you can change the information for the same by editing configuration file.

After the installtion, I will be mentioning the configuration file for OLite 10g installation in Oracle Apps R12.

At this point we will be going with repository creation option.

8.jpg

Port Number for OC4J HTTP Listener is the port we specify for webtogo URL for administration. We are use any of the unused port numbers, which are greater then 1024.

9.jpg

Demo Applications comes with product which can be used for testing and demo. Its totally upto the user to either install the same or skip. In this installation, we will be skipping the demo applicaitons.

10.jpg

Once all the parameters are provided, click on Install. The product installation will begin.

11.jpg

You can also see the progress, when the installation proceeds.

12.jpg

Once the product installation completes, Mobile Server Repository creation will start automatically. In this case the wizard will just have to create a schema(mobileadmin) and objects. For that it has to connect as system.

Since we have already specified the database details, where the wizard will connect, during installation part, it will just ask for system password. Please provide correct system password for your main database and click next.

13.jpg

When you click next, it will connect to database and check for mobileadmin schema, If the mobileadmin schema is found it will give upgrade option, else it will give the message as given in above screen and proceed further to create a new repository. Click next to continue.

14.jpg

When you click on next, it will ask for schema password, which you have to set in this screen. The schema name will be MOBILEADMIN, and password will be what ever you set here.

15.jpg

Administrator password if for administering the webtogo URL. Note that MOBILEADMIN is a database user, where are ADMINISTRATOR is a user for webtogo application. You can set the password for Administrator user on this screen.

16.jpg

As I said before, its going to install a new repository. Click next to continue.

17.jpg

You can see the Repository Creation progress.

18.jpg

Once the repository creation task is done. It will show the message as seen in the screen. Click on finish button to finish the wizard.

19.jpg

At the end you can just exit. Our Oracle Database Lite installation with repository creation was successful.

Next task that comes after installation is bringing up the services and sanity checking the  URL.

Configuration

At the starting of installation, we set 3 environment variables related to OLite 10g

ORACLE_HOME

JAVA13_HOME

TNS_ADMIN

Basically, when ever we have to manager Olite, we need to have these varaiables configuraed with correct values. Since we are talking about Olite installing in E-Buiness suite, we will talk about the configuration w.r.t R12.

The above three paramters can be set correct in a configuartion file called asgovars_ux.env present in $ASG_TOP/admin/template directory. Just edit the file and set these environment variables. Once that is done source the file. After sourcing when you see ORACLE_HOME, it will be pointing to Olite ORACLE_HOME (and not tools ORACLE_HOME).

You can go to $ORACLE_HOME/mobile/server/bin

and run the following command

(appmgr03) bin – -bash $ ./runmobileserver &
[1] 766
(appmgr03) bin – -bash $ 07/05/29 12:48:28 Warning: Error reading transaction-log file (/slot03/appmgr/olite10g/mobile_oc4j/j2ee/mobileserver/
persistence/transaction.state) for recovery: premature end of file
07/05/29 12:48:28 Forced or abrupt (crash etc) server shutdown detected, starting recovery process…
07/05/29 12:48:28 Recovery completed, 0 connections committed and 0 rolled back…
07/05/29 12:48:31 Tutalii: /SLOTS/slot03/appmgr/olite10g/mobile/server/bin/jzlib.jar archive

(appmgr03) bin – -bash $

This will start the webtogo service. You can verify the same using following command

(appmgr03) bin – -bash $ ps -eaf | grep oc4j.jar
appmgr03   767   766  8 12:48 pts/3    00:00:04 /local/java/jdk1.4.2/bin/java -Xms256m -Xmx512m -jar oc4j.jar

appmgr03   971 32439  0 12:49 pts/3    00:00:00 grep oc4j.jar
(appmgr03) bin – -bash $

You can see, there is 1 oc4j.jar process that is running.

The configuration file for web-to-go is present in $ORACLE_HOME/mobile/server/bin directory, and the name is webtogo.ora.

This file basically contains the database details like, Olite ORACLE_HOME, JDBC connection string, encrypted password, maximum number of connection allowed and log & trace file details.

The port number, that we select for Olite (8080), wont be present in webtogo.ora. The port information will be present in http-web-site.xml file present in $ORACLE_HOME/mobile_oc4j/j2ee/mobileserver/config directory. You can change the port any time in http-web-site.xml file and bounce the services, the new port will take effect.

For shutting down the service, there is no special command and we need to kill the oc4j.jar process, that is running. Thats the only way that is currently available for shutting down the Olite service.

The URL for accessing webtogo can be constructed as followes:

http://(hostname):(port)/webtogo.

The port here is webtogo port(8080), configured during installation.

Once the above installation is done, you can follow metalink note ID  386682.1 for post installation task. Note that these post installation task is required only if the installation is done for E-Business suite.

24 Comments »

  1. hey advait,

    can u pls expain that, should we need to drop the user “mobileadmin” before installation ? if we continue with the existing schema, then what will be the difference(w.r.t. administrator view) ?

    Comment by Nitesh — December 31, 2007 @ 5:10 am | Reply

  2. Hi advait,

    i think, to start the webtogo service, we can also use the webtogo command directly present in $ORACLE_HOME/mobile/server/bin. for example:

    $ . webtogo &

    Comment by Nitesh — December 31, 2007 @ 5:19 am | Reply

  3. Hi Nitesh,

    If you dont drop the mobileadmin schema, then the existing schema will be upgraded. Whereas if you drop the schema, then a new schema all together will be created. As far as administrator view is concerned, there is not much difference. It totally depends on your requirement.

    webtogo executable can be used directly to start webtogo. The command you mentioned is correct.

    Regards,

    Advait Deo

    Comment by advait — December 31, 2007 @ 12:33 pm | Reply

  4. hey Advait,

    thanx for ur reply and wish u happy new year.

    Comment by Nitesh — January 2, 2008 @ 8:51 am | Reply

  5. hey Advait,

    I am trying to install 9i olite in 11.5.10.2 on RHEL 3.0. I have set ORACLE_HOME, JAVA13_HOME and also TNS_ADMIN. and all the things whatever required to do before running runInstaller. But when i am running runInstaller , it doesnt give any output, again $ promt comes. i dont know where i am missing anything.

    Any Idea ? pls guide me.

    Comment by Nitesh — January 4, 2008 @ 7:45 am | Reply

  6. Hi Nitesh,

    Please check your DISPLAY variable. Set the DISPLAY variable to correct value. Its should be set to (IP address):0.0

    Check if this works.

    Regards,

    Advait

    Comment by advait — January 4, 2008 @ 1:36 pm | Reply

  7. hey Advait,

    thanx for ur reply. Now when i am finally installing 9i o lite, at 80% i got an error “Error in invoking target install of makefile /dev1/9iolite/sqlplus/lib/ins_sqlplus.mk” .

    what to do, can you suggest ?

    Comment by Nitesh — January 7, 2008 @ 3:34 pm | Reply

  8. Hi Nitesh,

    This error could be because if swap space being less while installation. Try running the same make command in another session and if it goes fine, add more space (probably 100M) to swap area and continue the installation.

    Workaround for the same is manual relink.

    cd /dev1/9iolite/sqlplus/lib/
    make -f ins_sqlplus.mk install

    I hope this helps.

    Regards,

    Advait Deo

    Comment by advait — January 7, 2008 @ 6:41 pm | Reply

  9. I am trying to install olite 5.0.2.0.0 in 11.5.10.2 on RHEL4. I have set ORACLE_HOME, JAVA13_HOME and also TNS_ADMIN. But when i am finally installing Oralce lite, at 80% i got an error “Error in invoking target install of makefile /ebs/oracle/oraclelite/sqlplus/lib/ins_sqlplus.mk” .

    Pls. help me to resolve the same issue

    Thanks & Regards
    Naveen Kumar Chauhan

    Comment by Naveen Kumar chauhan — May 19, 2008 @ 5:04 am | Reply

  10. Hi Naveen,

    If you get the error, then keep that window as it is. Do not click on Cancel or any other button.

    Open a new session and connect to your environment where you are installing OLite. Do the following steps in that new session.

    a) set the ORACLE_HOME environment variable to Olite Home.

    b) set PATH to include $ORACLE_HOME/bin

    c) mkdir $ORACLE_HOME/lib/stubs

    d) Apply the patch 3159913 and then come to installation window and click on retry on the error popup window.

    But please note that this solution is for RHL 3.0. I am not sure about the fix for RHL 4.0. But you can try this. This might help.

    Comment by advait — May 19, 2008 @ 5:38 am | Reply

  11. Hi,

    I have installed oracle 10g lite at linux
    box. but when i run the ./runmobileserver
    it’s display following line and and stuck at the same line:-

    [applmgr@appsmbi bin]$ ./runmobileserver
    08/05/29 18:33:48 Tutalii: /ebs/applmgr/oralite10g/mobile/server/bin/jzlib.jar archive

    pls. help me to up the mobile server

    Thanks $ Regards
    Naveen Kumar

    Comment by naveen Kumar — May 29, 2008 @ 1:37 pm | Reply

  12. Hi Naveen,

    Just run the command in backend using & at the end of the command and that should be fine.

    Example:

    [applmgr@appsmbi bin]$ ./runmobileserver &

    Comment by advait — May 29, 2008 @ 8:07 pm | Reply

  13. Hi,
    I installed olite,while accessing mobile server from start->all programs->olite->mobile server.

    It is giving Tutalii.What is the reason behind.Please help me.

    Comment by jeevan — June 5, 2008 @ 1:22 pm | Reply

  14. Excellent one.

    Comment by Murali — July 8, 2008 @ 4:45 am | Reply

  15. Thanks for the sharing : )

    Sync Data Over the Internet & ODBC Connection :: An Easy Backup & Copy Tool in Your USB Flash Thumb Drive

    Comment by SyncEXPERT — September 8, 2008 @ 4:41 am | Reply

  16. Hi,
    Is oracle mobile server available for Linux?
    Everywhere in the release documentation it is written that client is supported in various platforms.

    Regards

    Comment by Oracle hunt — September 10, 2008 @ 4:59 pm | Reply

  17. Yes, it is available for linux.

    Comment by advait — September 10, 2008 @ 6:05 pm | Reply

  18. Thank you so much!

    Comment by Oracle hunt — September 10, 2008 @ 9:41 pm | Reply

  19. Hi,
    Can anybody tell me that can i configure an existing database as mobile repository? Incase yes, then is the database modified when it is configured with mobile server? Also, how can we pass parameters to publication item, say i want to fetch data specific to a user to the snapshot tables?

    Comment by Oracle hunt — September 11, 2008 @ 9:04 pm | Reply

  20. Hi,

    Regarding the repository creation, we can use existing database. It will create a schema called “mobileadmin” inside database and all tables related to mobile server will be created in that schema.

    You can use $ORACLE_HOME/mobile/server/admin/repwizard to create a repository and give the connection details of existing database.

    Regards,

    Advait Deo

    Comment by advait — September 12, 2008 @ 4:58 am | Reply

  21. This sounds great. Bt now 2 questions arise:
    1) In case the mobile schema holds virtual references to the actual database tables then there would be no issue regarding updating mobile server schema tables with latest information from the actual repository.
    2) In case mobile schema tables are created physically again, then in this case there would be an additional overhead of updating the mobile server tables with the latest information and then synchronizing mobile clients with mobile server.

    Comment by Oracle hunt — September 12, 2008 @ 2:58 pm | Reply

  22. Hi

    I need to upgrade 9i lite to 10g lite could you please let me know any note or steps to be followed so that it would be veryhelpfule fo rmy upgradation
    Thanks

    Venkat

    Comment by venkat — September 14, 2008 @ 9:49 am | Reply

  23. Hi Venkat,

    I have never done upgrading Olite. But here is what you can do.

    1) Install Olite 10g in a new Oracle Home
    2) Run the repository wizard from new 10g Olite home
    3) While it runs give the same database connection details where your 9i repository is created. It will detect the 9i repository and give you an option either to install a new repository or upgrade the existing repository. At this point you can give an upgrade option.

    Regards,

    Advait Deo

    Comment by advait — September 16, 2008 @ 7:06 am | Reply

  24. Hi,

    Has anybody configured OID with Oracle Lite?
    It will be great if you can share the procedure for doing the same!

    Regards,
    oracle Hunt

    Comment by Oracle hunt — September 16, 2008 @ 1:51 pm | Reply


RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.