Installation Cookbooks: Installing Oracle9i Developer Suite

Thursday Feb 12th 2004 by Steve Callan

Most people can muddle through Oracle product installations on their first one or two attempts. But what happens when you run into the occasional lemon-like installation guide, such as the one for Oracle9i Developer Suite (iDS)? Steve Callan offers a detailed, step-by-step installation cookbook for installing Oracle9i Developer Suite (9.0.2, including a patch) on a Sun Solaris platform.

Previous articles in this series covered installing a database product (Oracle9i) and a development tool (Forms & Reports 6i). For the most part, those installations - just using what Oracle provides in its hundreds of pages long installation guide - are fairly straightforward. With a fair amount of UNIX administration skills (a proficiency roughly based on the level of having taken Sun's Solaris two admin courses and/or Solaris Fundamentals), most people can muddle through Oracle product installations on their first one or two attempts. But what happens when you run into the occasional lemon-like installation guide, such as the one Oracle produced for Oracle9i Developer Suite (iDS)?

As an example of the problems contained in the guide (including the release notes and other notes/FAQs/cookbook documents from Oracle), there is no mention of environment variables needed to be able to actually use iDS. The environment variables required go above and beyond ORACLE_BASE, ORACLE_HOME, and LD_LIBRARY_PATH, to name just a few of the more commonly used variables. iDS requires "new" variables such as FORMS90_CLASSPATH and FORMS90_BUILDER_CLASSPATH. Moreover, even the more commonly used variables require new directories such as ORACLE_HOME/jlib.

UNIX users of this product were left high and dry with respect to "divining" these new variables and changes to some of the old ones. A TAR (technical assistance request) filed with Oracle Support Services (via MetaLink) regarding the dearth of information about environment variables resulted in an answer of "use the online help in Developer Suite to get information about required environment variables." That response, being so useless and incorrect, demonstrated one thing: the support analyst had never tried installing iDS for himself because the variables shown in the online help were only of the TK (toolkit) variety - which have absolutely nothing to do with getting iDS to run in the first place.A scouring of technical notes on MetaLink yielded some information on what variables were required for users installing the Windows version of iDS. Fortunately, those happened to be the same variables needed for Solaris installations (they are included at the end of this article). It was the idea of applying an installation methodology that inspired me to use the list of variables for Windows in my UNIX environment. I knew what had to be done (have a properly configured user environment), but initially, I did not know what the missing pieces were.

Another twist on using iDS includes upgrading the Oracle Universal Installer GUI tool before applying a patch to the core product. OUI is essential for installing Oracle products, but it is fairly worthless when it comes to uninstalling the same. It is useful for seeing what you have installed (click Installed Products on the appropriate window), but it is somewhat less than useful when you have to scroll through a gazillion (new math, a large, undetermined number) obscure products just to find one or two specific items of interest. A little bit of history first, then back to the OUI tool.

As an example, with Developer 6.0, if you were deploying forms along with an application, all you needed to install was the forms runtime engine. The installation process added whatever it needed to that particular option, but overall, the list of installed items was small and easy to browse through. With Forms 6i, say goodbye to simply selecting the runtime engine. Your only option was to install everything related to Forms 6i, including Oracle Wallet Manager. Hello, Oracle. Why do you think I need Wallet Manager for a simple forms installation?

Unfortunately, that line of thinking at Oracle Corp. continued on to Oracle9i. For all intents and purposes, the forms services/web server that came with iDS was entirely sufficient for most people wanting to deploy forms over the web, but no, Oracle required users to install Oracle9i Application Server (for actual licensed use), which is its own little nightmare of a product when it comes to ease of use and installation. I'd like to think that my complaints and TARs (along with those from many other users) to Oracle about the egg it laid on iAS and iDS (with respect to forms and reports) helped to spur them to release the new and improved version of 9i forms, now known as "Oracle Application Server 10g, Forms and Reports Services 10g (9.0.4)," which is (finally) a standalone product that allows you to deploy forms over the web without the beast known as Oracle9i Application Server.

Coming back to the OUI tool - each of the products just mentioned includes OUI, and most of them are not the same version. When installing Oracle products on Solaris, the installer creates a file in the /var/opt/oracle directory which contains information (a file named oraInst.loc) regarding the location of the oraInventory directory. Personally, I prefer to keep Oracle product inventory information separated and let the version of OUI that came with a product stay associated with that product.

You can trick Oracle and the OUI into thinking that your current installation process is the first and only Oracle product on your machine by "dummying up" the oraInst.loc file. The only disadvantage to this process is the need to either fix/edit the file, or rename/copy a backup file to the actual filename (e.g., cp oraInst.loc.9idb oraInst.loc). This procedure would copy the version of oraInst.loc for the Oracle9i database installation to the actual filename and would be necessary before using the OUI against the Oracle9i database program files installation. However, it is nice having clean and (relatively) simple lists of installed products separated by the major/parent product.

The next article in this series will cover the new and improved 10g (9.0.4) identity-crisis-named-version of Forms and Reports. To make this article more of a standalone article, the methodology shown below is repeated again for your convenience.

A general outline of installation steps

Instead of just plowing into the reading of a 300-page installation guide and several release notes, if you look for an outline of steps to follow, your comprehension of what must be done is increased. Listed below is a general outline of steps that corresponds to the chapters in most installation guides.

  • Verify that hardware and software minimums are met or exceeded
  • Prepare or update the operating system
  • Create administrative/owner accounts and file structures
  • Reserve, specify, or designate disk space
  • Start the Oracle Universal Installer (OUI) and provide information as necessary
  • Perform post-installation tasks
  • Test your installation

The first four steps can be considered as pre-installation tasks, step five as THE installation task, and steps six and seven as post-installation tasks. When writing installation cookbooks (primarily for customers, but they work just as well for in-house users), I like to include an introduction along with a list of assumptions or standards, and include a list of references from which the information was drawn. The reference list is useful when you have to come back to the installation procedure and justify why you installed an OS patch cluster or needed to have a bigger disk installed.

Therefore, without further ado, here is a detailed, step-by-step installation cookbook for installing Oracle9i Developer Suite (9.0.2, including a patch) on a Sun Solaris platform.

Installing, Configuring, & Using Oracle9i Developer Suite
Release 2 (9.0.2) for Sun SPARC Solaris


This document provides information on how to install and configure Oracle9i Developer Suite (iDS), including PatchSet 1 (, on a Sun SPARC Solaris platform. It does not cover how to convert or migrate forms.

Who Needs to Install Oracle9i Developer Suite?

iDS needs to be installed in order to convert Oracle forms from Forms 6i to Forms 9i, where 9i forms are deployed over the web. The Forms 6i client/server architecture does not exist when using Forms 9i, and Oracle9i Application Server does not come with a forms development tool. If you are planning to use Oracle9i Application Server (iAS) to display proprietary forms over the web, you need to install iDS to convert or migrate 6i forms to a 9i state. If you are using forms developed by a third party, you do not need to install iDS; however, iDS can be installed and used to test forms on the web in a non-production setting.

Installation Overview

Installing Oracle9i Developer Suite (iDS) and the patch consist of the following steps:

  • Pre-installation tasks (operating system and environment set-up)
  • Installing iDS (interactively, using the Oracle Universal Installer utility)
  • Installing PatchSet 1 (upgrading the OUI utility, then performing the patch installation)
  • Post-installation tasks (Java-enabling a source database, configuring forms services-related files, testing the installation, stopping and starting Forms Services)

Migrating and Running Forms 9i

To convert forms created in Forms 6i, use the iDS Form Builder tool. It is similar to the version found in Forms & Reports 6i. Two of the most notable differences between these versions are related to menu items (some items have changed locations) and how you test running a form after it has been compiled. iDS includes a forms migration utility (a UNIX shell script), but using Form Builder is more thorough with respect to identifying required changes between forms versions. The majority of the conversion process has to do with updating references to obsolete built-ins. Once forms are converted to 9i, seeing and using them is a simple matter of entering the correct URL in Internet Explorer or Netscape Navigator.

As far a user is concerned, the end result of successfully installing iDS and migrating 6i forms to a 9i state is an interface to 9i forms that looks identical to what the user would see if the forms were being presented via iAS. The web server test engine that comes with iDS makes forms appear in exactly the same manner as if they had been called using iAS.

System and Hardware Requirements

Processor: 200MHz (or higher) SPARC processor
RAM: at least 256MB, 512MB recommended
Disk Space: 2.0GB
Swap Space: 500MB
Operating System: Solaris 8 or 9 (SunOS 5.8, 5.9)
Operating System Patches: download and install the latest patch cluster, including the J2SE Solaris patch cluster, from Sun at http://sunsolve.sun.com (Patchfinder link under Patch Portal).

NOTE: Solaris 8 comes with Java 1.1 or 1.2. The version of Java (java -version at a UNIX prompt shows the current version) found in the /usr directory needs to be upgraded to 1.3.1. Instructions for this are covered here (http://java.sun.com/j2se/1.3/install-solaris.html). Solaris 9 comes with 1.4.0, and no upgrade or patch is needed.

ORACLE_HOME and Environment Variable Considerations

Oracle9i Developer Suite must be installed a separate ORACLE_HOME location. Oracle's installation guide for iDS directs you to not use any references to ORACLE_HOME in environment variables for the installation process. That information conflicts with other documents produced by Oracle. There is also no definitive source as to what paths need to be included in the PATH, LD_LIBRARY_PATH and CLASSPATH environment variables. iDS can be successfully installed using the information shown in the sample .cshrc file at the end of this guide.

Required Software

  • Oracle9i Developer Suite, Release 2 (9.0.2) for Sun SPARC Solaris available for download at http://technet.oracle.com under the Services section (Download Software>Oracle9i Developer Suite)
  • Oracle9i Developer Suite, Release 2 PatchSet 1 ( for Windows and Solaris (available for download at http://metalink.oracle.com as patch number 2729569)
  • Sun patches per OS version, available at http://sunsolve.sun.com
  • Java upgrade to 1.3.1, available at http://java.sun.com/j2se/1.3 (Solaris 8 only), file name is j2sdk-1_3_1_08-solaris-sparc.tar.Z


  • Oracle9i Developer Suite, Installation Guide, Release 2 (9.0.2) for Windows and UNIX, April 2002, Part No. A95828-02
  • Oracle9i Forms Developer and Forms Services, Release Notes, Release 2 (9.0.2) for UNIX, April 2002, Part No. A92187-01
  • Oracle9i Developer Suite, README for Patch Set, Release 2 Patch Set 1 ( for Windows and Solaris, November 2002
  • Oracle9i Forms Developer, Reference Guide, Release 9.0.2, March 2002, Part No. A97289-01
  • Oracle9i Forms, Migrating Client/Server To the Web, An Oracle White Paper, April 2002
  • Oracle9i Forms Developer and Forms Services, Migrating Forms Applications from Forms6i, Release 9.0.2 for Windows and UNIX, January 2002, Part No. A92183-01
  • Oracle9i Forms Developer and Oracle9iAS Forms Services, Addendum to "Migrating Forms Applications from Forms6i," Oracle9i Forms Migration Assistant Wizard, Release 9.0.2 Patch 1 for Windows and UNIX, January 2003, Part No. B10171-01
  • Oracle9i Reports Developer, Release Notes, Release 2 (9.0.2), April 2002, Part No. A96189-01
  • Integrating Oracle9iAS Reports Services in Oracle9iAS Forms Services, An Oracle White Paper, December 2002

Pre-installation Tasks

Install operating system and J2SE patch clusters as needed. OS patch installs generally require a reboot.

Create a UNIX account owner (and group, if this is the first Oracle product installed on your system) for the iDS files. You can create the owner (group) with the useradd (groupadd) command, admintool (Solaris 8), smc (Solaris 9), or manually edit the /etc/passwd and /etc/group files followed by issuing the pwconv command. The name of the account used for this example and throughout the remainder of this guide is ids. Below is an example of the lines you can add to the /etc/passwd and /etc/group files:



As root, create the home directory for ids and change ownership of that directory to ids:

root@sun5: mkdir /opt1/ora9ids
root@sun5: chown -R ids:dba /opt1/ora9ids

After editing these files as root, and issuing the pwconv command, the UNIX user account named ids is created with a userid of 105. The user named ids has a home directory of /opt1/ora9ids, has a default shell environment using the C-shell, and is a member of the dba (primary) and oinstall groups. The dba and oinstall groups were also created after the pwconv command if they did not already exist.

Become the user named ids by issuing su - ids at a UNIX prompt. Create the following directory structure for later use: mkdir -p /opt1/ora9ids/app/oracle/product/9.0.2, where /opt1/ora9ids matches the default home directory

Create a .cshrc file for ids by using the sample provided at the end of this document. If you copied the sample file, edit it as necessary. Ensure the DISPLAY environment variable is set to where you want the Oracle Universal Installer (OUI) image to appear. Ensure the TMP environment variable points to a location where at least 500MB of free space is available, such as the /tmp directory.

Installing Developer Suite and PatchSet 1

Assuming you are using a CD to install iDS, insert the CD into the CD-ROM drive. Solaris Volume Management mounts the CD for you.

As the UNIX user named ids, start the installation by issuing the following command:

ids@sun5: /cdrom/cdrom0/Disk1/runInstaller

or if installing via the downloaded file,

ids@sun5: /<path to Disk1>/runInstaller

The Oracle Universal Installer should start. Execute the steps indicated below for each window that appears. These are the same windows that appear as screen shots in pages 3-2 to 3-17 of Oracle's installation guide for iDS.

Window Title

Step(s) to Perform


Click Next

Inventory Location (only appears if this is the first Oracle product installed on your machine)

Specify a path (ex: /opt1/oraInventory)

UNIX Group Name (appears same as above)

Enter dba, click Next

File Locations

Verify the Source path (file or CD-ROM)

(ends with /Disk1/stage/products.jar)


Name: iDS_HOME

Path: /opt1/ora9ids/app/oracle/product/9.0.2

Click Next

Installation Type

Select the Complete option (this is required for UNIX), then click Next

Provide Outgoing Mail Server Information

Leave blank, click Next


Click Install


Wait for next window

Configuration Tools

Wait for next window

Run root.sh (this may appear elsewhere in the sequence of events)

You will be directed to run the root.sh script (as root) in the ORACLE_HOME directory. Use another shell window as root to run this script. Enter a location for a local bin directory. Ignore the error about ./network/agent html.

Oracle Net Configuration Assistant windows (see Note below)

Same wizard used in other Oracle products. In the windows that follow:

  • Leave "Perform Typical" unchecked
  • Select No for Directory Usage configuration
  • Use Local for Naming Methods configuration
  • Provide the name of a local database for Net Service Name configuration (typically uses port 1521 and TCP)

End of Installation

Click Exit

NOTE: The Oracle Net Configuration Assistant creates the tnsnames.ora and sqlnet.ora files in $ORACLE_HOME/network/admin. If you already have these files referenced by the TNS_ADMIN environment variable, you can continue to use them. You can also copy the two files from the database product location into $ORACLE_HOME/network/admin for Oracle9iDS.

Install PatchSet 1 for Oracle9i Developer Suite

As ids, copy the patch file on the patch CD-ROM (p2729569_9021_SOLARIS.zip) to $ORACLE_HOME. Unzip the file and cd to the $ORACLE_HOME/install/solaris directory and run the runInstaller command (not the runInstaller.sh command). You can also unzip the file from a remote directory into the ORACLE_HOME location.

The patch process requires an upgrade of the Oracle Universal Installer, and that must be installed first.

Window Title

Step(s) to Perform


Click Next

File Locations

Click Next

Available Products

Select Oracle Universal Installer, click Next

Information (if it appears, and may appear elsewhere in this process)

Click Next

Component Locations

Click Next


Click Install


Wait for next window

End of Installation

Exit, and restart the runInstaller script

File Locations

Click Next

Available Products

Select Oracle9i Developer Suite Patch Set, click Next


Click Install

Installation Complete

Click Exit

Post-installation Tasks

Enable Java in the target/source database that 9i forms will access. This can be accomplished by running $ORACLE_HOME/javavm/install/initjvm as the user sys. In an Oracle9i database as the user sys, connect as sysdba and run the script. The process may appear to hang part way through, but allow the script to run its course.

Returning to where iDS is installed and logging in as ids, navigate to the $ORACLE_HOME/dbs directory. The following scripts must be run as system in the target database. Connect as system in your target database and issue the following commands at the SQL*Plus prompt:

SQL> @dejavins (may be prompted for the system password and service name)
SQL> @dejavaux (another prompt)
SQL> @derefls.plb (no prompt)
SQL> @dereflb.plb (no prompt)

Exit SQL*Plus.

Load a Java archive file using the loadjava utility. In the same directory, issue the following command at the UNIX prompt, supplying the password for system and the service name as appropriate:

ids@sun5: loadjava -user system/system_password@SID dedbjava.jar

Starting and stopping OC4J instances for Forms Developer

In the $ORACLE_HOME/j2ee/Oracle9iDS directory, you can use the startinst.sh and stopinst.sh scripts to start and stop Forms Services. Test your installation by stopping and starting the services.

If your installation was successful, you should be able to start Internet Explorer on a networked PC, enter the URL shown below and see the image below. The host name is the name of the UNIX node or host where you installed iDS (substitute your host name for "hostname" in the example below). If you are prompted to install Oracle JInitiator, follow the instructions to do so (it is a one-time step or process).

http://hostname:8888/forms90/l90servlet ("L" 90servlet, not "one" 90servlet)

Configuring Forms Services files

In $ORACLE_HOME/forms90/server, there are two files you must edit: formsweb.cfg and default.env. There are countless ways to configure your forms environment, and this guide will provide an example where a master form is used to call child forms. The following assumptions are used: a user must log on at the beginning of a browser session, and all forms are located in a common directory.

In the formsweb.cfg file, make the following changes in the USER PARAMETERS section:

1) Runform arguments, "form=" line: enter the name of your master form (e.g., form_menu.fmx). Leave userid= commented out to force the user logon process.

2) Values for the Forms applet parameters, width and height values can be adjusted to size the applet window that appears on the web page. LookAndFeel can be Oracle or Windows.

In the default.env file, add the locations where your 9i forms are located to the FORMS90_PATH variable.

Viewing Forms on the Web

To view your forms on the web, use the following URL, where hostname is the name of the host where you installed iDS:


You can view related information about Oracle9iAS and run some test samples at


Troubleshooting Forms Services Problems

Error: Error 404 Page not found
Problem: http://hostname:8888/forms90/f90servlet and /l90servlet return an error about page not found, but http://hostname:8888 shows a page with links to Sun documentation.

Description: During the installation of your Solaris operating system, a documentation server (AnswerBook2) from Sun may have been installed. AnswerBook2 uses a web-browser interface that enables you to view and print a variety of Sun information, including SGML-based AnswerBook(TM) collections, Display PostScript(TM) AnswerBook collections and man pages.

Resolution: The documentation server needs to be stopped by using the following command:

/usr/lib/ab2/bin/ab2admin -o stop

AnswerBook2 is probably configured to start during system startup. You can stop the automatic start of AnswerBook2 by altering the /etc/init.d/ab2mgr script or the /etc/rc2.d/SXXab2mgr script.

Error: hostname does not exist, cannot connect to the server (or variation thereof)
Problem: The startinst.sh command created a process, but the browser cannot connect to the host.

Description: If Oracle9iDS was installed after other Oracle products, the JRE link in the ORACLE_HOME directory may be pointing to a version other than 1.1.8.

Resolution: Re-create the link by pointing it to the jre directory in ORACLE_HOME for Oracle9iDS. An alternative approach is to reinstall Oracle9iDS and make the installer think iDS is the first and only Oracle product on the server. As root, rename oraInst.loc in /var/opt/oracle and let the installer create a new oraInst.loc file. Before using the Oracle Universal Installer utility to de-install or perform administrative tasks on the other existing Oracle products, swap the oraInst.loc files in /var/opt/oracle so the installer will be able to find the oraInventory directory previously established for those products.

Sample .cshrc file

umask 022
set filec
stty erase ^H
setenv DISPLAY your_host_name:0.0
setenv ORACLE_TERM sun5
setenv LPDEST your_printer_name
setenv PRINTER your_printer_name
setenv TMP /tmp

set path=( /usr/bin /usr/dt/bin /usr/openwin/bin /usr/sbin )
set path=( $path /usr/ccs/bin /usr/ucb /etc /usr/local/bin . )

# Setup for Oracle Optimal Flexible Architecture (OFA) compliance
setenv ORACLE_BASE /opt1/ora9ids/app/oracle
setenv ORACLE_HOME $ORACLE_BASE/product/9.0.2
# change this path for your location
setenv TNS_ADMIN $ORACLE_HOME/network/admin
# Append the path
set path=( $path $ORACLE_PATH )
setenv NPX_PLUGIN_PATH /usr/j2se/jre/plugin/sparc/ns4
# shortcut environment variables used to save space
setenv OHJ $ORACLE_HOME/jlib
setenv OHF $ORACLE_HOME/forms90/java
setenv JDK $ORACLE_HOME/jdk
setenv FORMS90_PATH /path_to_where_your_forms_are_located
NOTE: Each of these is one line; shown this way for formatting purposes
setenv FORMS90_BUILDER_CLASSPATH $OHJ/importer.jar:$OHJ/debugger.jar:$OHJ/utj90.jar:$OHJ/dfc90.jar:
$OHJ/help3.jar:$OHJ/help3-nls.jar:$OHJ/oracle_ice5.jar:$OHJ/ewt3.jar: $OHJ/share.jar
setenv FORMS90_CLASSPATH $OHJ/importer.jar:$OHJ/debugger.jar:$OHJ/utj90.jar:$OHJ/share.jar
setenv REPORTS_CLASSPATH $OHJ/importer.jar:$OHJ/debugger.jar:$OHJ/utj90.jar:$OHJ/share.jar
setenv CLASSPATH $OHJ:$ORACLE_HOME/lib:$ORACLE_HOME/javavm/lib:$ORACLE_HOME/sqlj/lib:

if ( $?prompt ) then
  set history=50              # previous commands to remember.
  set savehist=10             # number to save across sessions.
  set system=`uname -n`       # name of this system.
  set prompt = "$USER"@"$system":"{!} "
  set ignoreeof noclobber
  unset autologout
  alias h    history
  alias fstop  '$ORACLE_HOME/j2ee/Oracle9iDS/stopinst.sh'
  alias fstart '$ORACLE_HOME/j2ee/Oracle9iDS/startinst.sh'

» See All Articles by Columnist Steve Callan

Mobile Site | Full Site