A script-enabled browser is required for this page to function properly.

Frequently Asked Questions

This topic answers some of the more common questions about Oracle Universal Installer posed by users. The questions and answers in this FAQ are grouped into the following categories:

Using Actions

Using Oracle Universal Installer

Using Queries

Staging Components

Using Dependencies

Working with Files and File Groups

Using Variables

Translating Release Notes

Using Dialog Boxes

Multiple Disk Installations

Performing Silent Operations

Deinstalling Top-Level Components that Have Dependencies


Using Actions

Can an action be called in a code block?

No. Actions cannot be invoked inside code blocks.

How does the Universal Installer handle platform-specific actions when installing on a different platform?

Some of the actions are platform specific. OSP ships with actions for Windows and Solaris platforms only. Actions that are not applicable to a specific platform are ignored during installation, and any queries that are not applicable to a specific platform return the default value.

Is there an action to create or extract a .exe file?

No actions exist to create or run a self-extracting (.exe) file in OUI. Add the contents of the self-extracting file to a file group, then use the copyGroup action to copy the files instead. If this procedure is used, all files can be removed during deinstallation. Once you install the executable file, you can use spawn actions to run it.

How does deinstallation work?

Every action has an undo function defined that is run in the reverse order at the time of deinstallation. Actions may be specified to run during install, during install and deinstall, or during deinstall only. Each action that is specified to run during deinstall adds an entry to the component’s log. During deinstallation, the log is run in reverse with the deinstall methods of the actions.

What is the installer action log?

Action logs are written on a per-session basis. The installer action log is created each time a new install session is started. What each action does and whether it occurred during installation or deinstallation is logged for every action in the installer action log. Each session is saved in the file, installActionstime_stamp.log, where time_stamp is of the form:

yyyy-mm-dd_hh-mm-ss[AM|PM].log

The .err and .out files also use the time stamp in their file names, making it easier to keep track of these files for each session.

How do I spawn a SQL command?

To spawn a SQL command, use the spawn action.

For example, to create two tables during your installation, use a SQL script named ct.sql, for example, containing the following lines:

create table &1 (col1 number, col2 number);
create table &2 (col1 number, col2 number);
exit;

To create tables foo1 and foo2 using SQL Plus during the installation using the spawn action, the Install Command parameter reads as follows:

On Windows NT, 95, or 98, use one of the following:

sqlplusw system/manager @x:/directory/ct.sql foo1 foo2
cmd /c sqlplus system/manager @x:/directory/ct.sql foo1 foo2 (NT only)
command /c sqlplus system/mamager @x:/directory/ct.sql foo1.foo2 (Win 95/98)
sqlplus system/manager @x:/directory/ct.dql foo1 foo2 (On UNIX)

To start an Oracle database during installation, use a script named db.startup, for example, which contains the following lines:

connect internal
startup
exit;

Using the spawn action, the Install Command parameter reads as follows if Server Manager line mode is in the system path:

On UNIX command line:

svrmgr1 command=@/private1/Directory/db.startup

On DOS command line:

svrmgr1 @/private1/Directory/db.startup

To shut down the database, use a script named db.shutdown, for example, which contains the following lines:

connect internal
shutdown immediate
exit;

Using the spawn action, the Install or Deinstall Command parameter reads as follows, if Server Manager line mode is in the system path:

On UNIX command line:

svrmgr1 command=@/private1/Directory/db.shutdown

On DOS command line:

svrmgr1 @/private1/Directory/db.shutdown

Using Queries

Can an ORACLE_HOME inventory be retrieved using queries?

You can use RgsQueries to test for products installed with the previous version of OUI. You can use AreasQueries to test for products installed with OUI. Currently, there is no query that returns the list of all products installed in an Oracle home.

Using Dependencies

How would I create two components that share the same files?

One way of creating two components that share the same files is to create a separate component containing the shared files. The two components can have dependencies on the component of shared files. This separate component would be installed if either of the two components is installed. This separate component would also be deinstalled when the other two components are deinstalled and there are no components depending on that component.

What is the difference between a dependent and a dependee component?

A dependent component is typically a top-level component which depends on a lower-level component (dependee). A dependent component cannot be installed unless all of its dependee components are installed.

For example: If component A (mandatory or optional) requires component B to be installed for component A to work correctly, then A depends on B. A is the dependent; B is the dependee.

What is a circular dependency?

A circular dependency occurs when the original dependent component is depended on by a dependee component. For example, if A depends on B, B depends on C, and C depends on A, then this is a circular dependency. This can occur when editing components in separate sessions and assigning dependencies. The Stage Verifier checks for circular dependencies.

Circular dependencies are not supported in OUI.

Using Variables

How do you export public variables?

Variable associations allow you to associate a variable in a dependent component with a variable in a dependee component. You must associate variable foo in B with the corresponding public variable in A. The requirement is that both variables be marked "public" and be of the same type.

For example, if Component A depends on Component B and Component B has a public variable named foo, a variable in Component A can be exported to give the value for foo in Component B.

How do I assign a string to a number variable in a code block?

Use the parseInt function to convert a string to a number. Because functions do not throw exceptions, the parseInt function returns 0 if the passed string does not represent a valid integer.

How Do I Use Variables in the Configuration Assistant Specification File?

Set the CLASSPATH variable in the configuration assistant specification file as follows:

Name=<classpath>
Description=<Specify the classpath required for this configtool to be launched>

You also includes CLASSPATH in the list of arguments in the GENERAL section of the specification file.

When you create a configuration assistant with this specification file, the install/deinstall arguments will include the CLASSPATH argument. You are expected to specify the CLASSPATH here in the form of an expression in the same way that arguments were specified for actions/queries/dialogs/functions.

Note: Since the switch (-cp) is already part of the specification, you do not have to specify it again.

Ideally, you should create the following platform-specific constants:

After you create the constants, you can use them as shown in the following example to make sure the correct classpath is passed to the Java Runtime Environment (JRE):

NET8_LOCATION + "/lib/netcfg.jar" + c_sPathSeparator + c_sCLASSPATH

Using Dialogs

How do I create a Multi-item dialog?

The Multi-item dialog displays a user-defined prompt and as many input fields as needed for your installation. Each input field has an associated label displayed to the left of the field. There are three input field types available: POPDOWN, SECURE, or TEXTFIELD. These input field types are case-sensitive and must be entered as listed. Currently, there can only be one POPDOWN field per dialog which enables you to choose from a list of available choices. The SECURE field is typically used when entering passwords. The TEXTFIELD type is used when you must manually enter the requested information.

What does the subtitle field display?

In all standard dialogs, you can specify a subtitle that appears directly under the title. The default value for the subtitle field is an empty string. In the Information dialog, you can specify descriptive text that appears at the bottom of the dialog. The default value for the descriptive text is null.

How can I validate a password?

When using the Password dialog, you can use the dialog default value feature to set a password. (The dialog default value is not validated.) The Password dialog performs validation to check if you entered the same value in both the Enter password and Confirm password fields. This value is set into the variable that accepts the password. The variable validation method can add more validation, such as checking to see if the password is correct, etc.

Performing Silent Operations

How do I perform operations on specific components?

By default, operations are performed on all components listed in the component_table. If you only want to perform operations on specific components, use the component-key to select the individual components from the list. For example:

Sample Components_Table:

comp0 c:/components/component0.prp component0 "NT,Solaris" 1.0
comp1 c:/components/component1.prp component1 "NT,Solaris" 1.0
comp2 c:/components/component2.prp component2 "NT,Solaris" 1.0
patch3 c:/components/patch3.prp patch1 "NT,Solaris" 1.1

Example of command line to specify components:

ospSilent c:/myspec.txt -components {comp0, comp1, patch3}

Using Oracle Universal Installer

How can I add specify a custom default value for the Oracle_Home field on a clean NT system?

You can add the following entry to the oraparam.ini file:

DEFAULT_HOME_LOCATION=/<HomeDirectory>

The directory name is appended to the drive with the largest disk free space and used as a default. This value is used only if the installation is on a clean system.

See the "Troubleshooting" chapter of the Oracle Universal Installer Concepts Guide for more information on using the oraparam.ini file.

How do I display Release Notes during a Unix installation?

At the end of an installation, OUI prompts you to enter a tool or command to display the release notes, if applicable. If you want to use vi or emacs to view the release notes, enter xterm -e before the name of the tool. For example, xterm -e vi displays a separate xterm window that immediately runs the command, vi <filename>.

What are the different exit codes returned by OUI?

For more information about exit codes, refer to the Oracle Universal Installer Concepts Guide.

How can I create a response file that has all the selections I make in a specific install session?

For more information about using response files, refer to the"Customizing and Creating Response Files" chapter of the Oracle Universal Installer Concepts Guide. Refer specifically to the "Creating a Response File with Record Mode" section.

How does OUI determine the location of its temporary files?

OUI first tries the $TEMP environment variable; if not found, it tries $TMP; if not found, it defaults to /tmp on Solaris and C:/Temp on Windows.

In what order does OUI assign value to variables?

Variables are set in the following order of precedence:

  1. Command line

  2. Response File
  3. Passed by a dependent component
  4. Variable's calculation

Why am I not able to invoke OUI in languages other than English in Linux?

If you are not able to invoke OUI in languages other than English in Linux environment then configure the language settings in the shell using both country code and language code.

Example of command line to configure the language settings to French:

setenv LANG fr_FR
setenv LC_ALL fr_FR

Why am I not seeing the Node Selection page on a cluster system?

If you are not seeing this page on a cluster system, check if Oracle Clusterware is installed successfully. If yes, run <CRSHome>/bin/olsnodes to check if the clusterware is up an running. OUI does not show this page if olsnodes does not return the node list. This is a system specific issue and not an OUI issue. If Oracle Clusterware is not installed and the system is part of a vendor clusterware, run Disk1/install/<platform>/lsnodes to get the list of nodes. OUI does not show the page if lsnodes does not return a node list.

Why am I seeing a Selected Nodes page for an empty Oracle home?

This occurs if you have deinstalled software from this home. OUI continues to remember the home and node information. Remove the Oracle home from install inventory dialog (see online help for details) and then start the install.

Why does OUI show a list box on the Available Products page or Install Types page?

Either there are too many choices provided and/or the description for the choices are too long to fit the list, and the descriptions in a single page. If there are three choices, a three-line description per choice will ensure the radio button page to be shown.

Why is the size in Install Types and Summary pages different from the actual requirements for the Oracle home?

The size is cumulative for all space required during install and for the installed product. Typically some space (used for linking) is not required after the install is complete. If the size is inaccurate, install developers should update the offsets in the components as required. The actual size can be computed by running OUI with a -printdisk option and making sure that temp, temp space for linking, Oracle home and any files that go outside the Oracle home (e.g. database files) are set as different disks. OUI will create a file in the logs directory specifying the disk usage after each action. The peak and end usage can be used for setting the offsets (install, temporary, and post-install).

How do I debug an error during the install phase?

If this a problem with the Install phase, such as errors occuring during an install, check the last updates to the installActionstime_stamp.log. If the last entry is an error condition for an action/query, this is a potential install script issue. Install development should triage the problem further. Some tips for triaging these conditions:

How do I debug cluster install problems?

If the problem is with respect to services / registry updates done on the remote nodes, this is an OUI issue. The OUI team will triage the problem after you provide a small reproducible test case for the issue. OUI depends on SRVM APIs for most of the cluster operations. The results of the triaging effort will determine if OUI is performing the task incorrectly or whether it is an SRVM issue. The OUI team will reassign the bug appropriately in this case.

How do I debug config assistant issues?

Staging Components

When I am trying to stage, I am getting an error message "Lock was not available to get exclusive write access in staging area."

In order to prevent simultaneous writes to a staging area, there is a lock maintained on the staging area. If you have another staging session running and trying to stage to the SAME staging area OR an install session trying to install from the SAME staging area, you can get this error. Check if you have a session of installer running and trying to stage from the SAME stage.

Working with Files and File Groups

What is he maximum number of entries that I can add to a file group?

You can add up to approximately 6000 files to a file group. If the number of files in the file group exceeds this number, it impacts the install time memory requirements and inhibits the speed of installation. The same limit should be placed in on the jar files that are extracted using the copyJarContents action.

Translating Release Notes

How do I include translated release notes for my component?

Since all release notes must be included in the filemap, you may add all the translated release notes files and mark them all to be copied to a specific target location. You may now create a release note for this file.

It is suggested that the translated (non-English) release notes be placed in a separate file group, and the copyGroup action follows the original copyGroup action.

Multiple Disk Installations

I have a product that spans multiple disks. When installing it, OUI keeps on asking for the same disk multiple times. Why is that?

Make sure that "Create multi-CD operation" is the last operation performed on the staging area. If you stage, delete any components or make any other changes to the staging area then you have to redo the multi-cd creation in Oracle Software Packager. Also, please verify the following:

Deinstalling Top Level Products that Had Dependees

The following examples use top level components that have dependees of different types offered by Oracle Universal Installer.

Test 1: Test Components Having the "required" Type of Dependees

Setup

Create 2 top level components (A, B), each having the same "required" dependee (C).

Install

I1a. Choosing A results in the install of A and C.
I1b. Later, choosing B results in only B being installed (its dependee C was previously installed).

Deinstall

D1a. Choosing A results in deinstall of A only. C is not deinstalled since it is also a "required" dependee of B, and thus is still needed.
D1b. Choosing A and C results in deinstalling A, B, and C. B is also deinstalled since its "required" dependee C is being deinstalled and it cannot be left installed without it.
D1c. Choosing C results in deinstalling A, B, and C. A and B are also deinstalled since their "required" dependee C is being deinstalled and they cannot be left installed without it.

Test 2: Test Components having '1,more' Type of Dependees

Setup

Create 2 toplevel components (A, B), each having the SAME two '1,more' type dependees (C,D).

Install Test 2

I2.a. Choosing A and BOTH dependees (C,D) results in the install of A,C,D.
I2.b. Later, choosing B (without C,D) results in the install of only B.

Deinstall Test 2

D2.a1. Choosing A results in deinstall of only A.
D2.a2. Choosing A and ONE dependee C (under A) results in deinstall of all (A,B,C,D).

Note: The deinstall of B and D occurs.

D2.a3. Choosing only ONE dependee C (under A) results in deinstall of all (A,B,C,D).

Note: The deinstall of A, B and D occurs.

D2.a4. Choosing only one dependee D (under A) results in deinstall of all (A,B,C,D).

Note: The deinstall of A, B and C occurs.

D2.a5. Choosing both dependee C and D (under A) results in deinstall of all (A,B,C,D).

Note: The deinstall of A and B occurs.

D2.b1. Choosing B results in deinstall of only B.
D2.b2. Choosing B and one dependee C (under B) results in deinstall of all (A,B,C,D).

Note: The deinstall of A and D occurs.

D2.b3. Choosing only one dependee C (under B) results in deinstall of all (A,B,C,D).

Note: The deinstall of A, B and D occurs.

D2.b4. Choosing only one dependee D (under B) results in deinstall of all (A,B,C,D).

Note: The deinstall of A, B and C occurs.

D2.b5. Choosing both dependee C and D (under B) results in deinstall of all (A,B,C,D).

Note: The deinstall of A and B occurs.

top