High Availbility

OS & Virtualization

Tuesday, January 15, 2008

How to move an Oracle Forms application from Windows to Linux

Log-in access as the "oracle" user

  1. Create a staging directory where the application source files (FMB, MMB, PLL, OLB) can be stored permanently or temporarily. This directory will also be where the compiled executables (FMX, MMX, PLX) will be created. For example:
    mkdir /u02/oracle/ias904_mid/forms90/myApplication
  2. Copy/transfer all of the Forms components which make up the application to the directory created in step 2. These will include FMB, MMB, PLL and OLB files.
    IMPORTANT: Unix is a case sensitive operating system. Be sure that any references to files within your application have been corrected to match files on the new file system. This will usually impact references to image (icon) files, other forms, menus, and libraries.
    Copy/transfer all other application files as needed. These files may include custom resource (.res), image or custom JARs files. These files will need to be placed in specific locations based on how you developed the application. IMPORTANT: If transferring using FTP, all files must be transferred in binary mode.
  3. Open a shell session.
  4. Set the ORACLE_HOME variable and point it to the Application Server installation. Be sure to use the appropriate syntax for the particular shell you are using. For example in csh the command would look something like this:
    export ORACLE_HOME=/u02/oracle/ias904_mid
  5. Set the FORMS90_PATH variable to the directory which was created in step 2. For example:
    export FORMS90_PATH=/u02/oracle/ias904_mid/forms90/myApplication
    Additional variables may be necessary or desired based on your needs and system configuration. Here are a few examples:
    TNS_ADMIN
    NLS_LANG
    CLASSPATH
    TERM
    DISPLAY
    In most cases, setting these will not be necessary if you use the provided script (.sh file) noted in the next step.
    When compiling a Forms application it is important to understand the application. Most important is to understand the dependencies which may exist between components. In other words, for example you will not be able to compile an FMB if it has a dependant PLL which has not yet been compiled. In most cases the order in which compiling should occur is as follows:
    PLL
    MMB
    FMB
    There are exceptions, but this will work in most cases.
  6. Using the compiler, generate "X" files for all of the application's binaries (PLL, MMB, FMB). The command will be something like the following:

    f90genm.sh module=myForm module_type=form compile_all=yes userid=scott/tiger@orcl

    Other possible module_type values:
    library
    menu
    form

No comments: