4 Lifecycle Management Information

This chapter describes the installation, configuration, upgrade and migration issues associated with Oracle Forms.

The following sections are included:

Oracle Forms Installation and Configuration Issues

This section describes installation and configuration changes, issues and their workarounds.

It includes the following topics:

Relinking Oracle Forms Executables After Installation

This installation includes several database client library updates. These libraries provide functionality and technology like PL/SQL, OracleNet, and others. On Unix/Linux installation, some of these updates are not being linked to the Forms executables and therefore the updates they contain are not exposed.

To correct this, it is necessary to relink as follows:

  1. Set the ORACLE_HOME environment variable and point it to the Forms home, for example:

    export ORACLE_HOME=<FORMS HOME>

  2. Issue the following commands:

    cd $ORACLE_HOME/procbuilder/lib

    make -f ins_procbuilder.mk sharedlibs dejvm_install

    cd $ORACLE_HOME/forms/lib

    make -f ins_forms.mk sharedlib frmopmn_wrp_install frmctrl_install frmweb_install frmcmpb_install frmcmp_install frmbld_install

Oracle Forms Server on IBM AIX Might Crash While Serving the User Request

After you have successfully installed and configured Oracle Forms Server on IBM AIX, you might notice the Forms server crashing while serving the user requests. You might also see the following error text:

exec(): 0509-036 Cannot load program frmweb because of the following errors:  
rtld: 0712-001 Symbol CreateIoCompletionPort was referenced  from module $ORACLE_HOME/lib/libclntsh.so(), but a runtime definition  of the symbol was not found.

To resolve this issue for IBM AIX, enable the IOCP module in Forms Server installation machine.

On IBM AIX on POWER Systems (64-Bit), enable I/O completion ports (IOCP) before initiating the install process.

To check if the IOCP module is enabled, run the lsdev command: $ lsdev | grep iocp

The following sample output shows the IOCP status is set to Defined and hence not enabled: iocp0      Defined       I/O Completion Ports

By default, IOCP is set to Defined.

To enable IOCP, set IOCP status to Available using the following procedure:

  1. Log in as root and run the following command: # smitty iocp.
  2. Select Change / Show Characteristics of I/O Completion Ports.
  3. Change configured state at system restart from Defined to Available.
  4. Run the lsdev command to confirm the IOCP status is set to Available:
    $ lsdev | grep iocp
    iocp0      Available       I/O Completion Ports

Perform a system restart to make the changes permanent.

Oracle Forms Application Supports JACOB Version 1.18 and later

Oracle Forms 12.2.1.19 uses the third-party library, JACOB, for enabling OLE support when using WebUtil. This Forms version supports JACOB 1.18 and later. However, the installation is pre-configured to use JACOB 1.18-M2. It will be necessary to make changes in the WebUtil configuration if any other version is used.

JACOB is a JAVA-COM bridge that enables you to call COM automation components from Java. It uses JNI to make native calls to the COM libraries. JACOB runs on x86 and x64 environments supporting 32 bit and 64 bit JVMs.

Regardless of which version you choose to use, you must download, sign, and insert the library set into the appropriate directories before use. Refer to the Forms Builder Help for more information.

Current releases are available on GitHub here: https://github.com/freemansoft/jacob-project/releases.

Forms Using 19.14.0.0 Database Client

The following are the issues with Forms using the database client:

  • This Forms installation is based on Oracle Database 19.14.0.0. As a result, all application modules must be regenerated prior to running. Once application modules have been regenerated in the new version, they (source or runtime files) will not be backward compatible with any earlier versions. Backup copies of application modules should be created before attempting to regenerate or open in the Forms Builder. This process cannot be reversed.
  • User exits should be regenerated using a version 19.14.0.0 pre-compiler.

Update SqlDeveloper Version

If the domain being created (or extended) is to include Forms Application Deployment Service (FADS), the SqlDeveloper version installed in the associated Oracle Home must be upgraded to version 18.2 or later, but not newer than version 21.4.3. This update must be completed before configuring the WLS domain to include FADS.

For more information, refer to Installing the Forms Application Deployment Services in the Installing Oracle Forms guide.

Eclipse/Jetty Version Required for Java Script and Java Web Start Integration

Eclipse/Jetty version 9.4.5 or later is required for Forms Java Script Integration (WebSocketJSI). If using Jetty version 10.x or later, the user must use Java 11 or later to run the application.

This jar file must be signed with a trusted and known certificate. For information on how to sign jar files see the Java documentation. If using Java Web Start for deployment, add the Jetty jar reference to extensions.jnlp.

The required file (jetty-all-<version>.jar) can be downloaded here: https://repo1.maven.org/maven2/org/eclipse/jetty/aggregate/jetty-all/.

Update the setStartupEnv.sh File

After installing Oracle Forms and Reports on a SUSE Linux machine and creating the WLS Domain, update the LD_LIBRARY_PATH environment variable in the setStartupEnv.sh file.

If you do not provide a value for this environment variable, you will encounter an HTTP 404 error when running a form.

To update the setStartupEnv.sh file:

  1. Stop all managed servers.
  2. Locate setStartupEnv.sh file in the $DOMAIN_HOME/bin directory and open it for editing.
  3. Add the following entry immediately below the comments near the top of this file, but above the first code line:
    LD_LIBRARY_PATH="<ORACLE HOME>/lib${CLASSPATHSEP}${LD_LIBRARY_PATH}"
        export LD_LIBRARY_PATH

    where <ORACLE HOME> is the fully-qualified path to the Oracle Home directory for this installation.

  4. Save the changes and close the file.
  5. Restart the server(s) and retest.

Post Installation Tasks

After installing and configuring Oracle Forms, administrators should identify the relevant expiration dates embedded in the provided applet JAR files in order to be prepared for their eventual expiration. These files are stored in the directory, $ORACLE_HOME/forms/java.

There are several signatures embedded within some of the provided JARs (for example, frmall.jar). Each signature has a unique purpose and expiration date. For information about how digital signatures work, refer to the Oracle Java documentation.

The signed JAR files can be found in the ORACLE_HOME/forms/java directory.

You can test the desired JARs using the jarsigner executable in the JDK included in the installation. For example:

  • On Windows: jarsigner -verify -verbose frmall.jar | find "expire"
  • On Unix/Linux: jarsigner -verify -verbose frmall.jar | grep "expire"

The Signer Certificate date represents the last date that the certificate can be used to sign new JAR files. Since the provided JARs were signed before that date, this expiration is mostly irrelevant and can be ignored. However, it may be used in the event the Timestamp cannot be validated, which requires an Internet connection.

The Timestamp is used to ensure that the JAR was signed during a valid period. This validation test can continue through the expiration date of the Timestamp. As mentioned, if the Timestamp cannot be validated the Signer Certificate expiration is assumed to be the last valid date the JAR can be used.

If you have JAR files that are approaching the Timestamp expiration, contact Oracle Support in order to receive updated files.

Upgrade and Migration Issues

This section describes issues associated with the upgrade and migration process of Oracle Forms.

It includes the following topics:

Upgrade Guidance

To view the list of Oracle Forms changed or obsolete features, see Preparing to Upgrade.

To upgrade Oracle Forms, see Upgrading Oracle Forms in the Installing Oracle.Forms guide.

Improved Security Handling for the formsweb.cfg File

All userid entries in the file are automatically encrypted when the server starts. This feature is enabled by default on new installations. When upgrading, the administrator must manually enable this feature.

Complete these steps when upgrading from versions earlier than 12.2.1.4 to enable the auto encryption of the userid parameter. If you are performing a ZDT upgrade, complete all the three steps. If you are performing a non-ZDT upgrade, skip step 1 and complete steps 2 and 3.
  1. Set the forms.userid.encryption.enabled server parameter to true for the Admin Server and the Forms Managed Servers.

    Refer to Customizing Domain Wide Server Parameters in the Administering Server Startup and Shutdown for Oracle WebLogic Server guide and set the forms.userid.encryption.enabled parameter using the setUserOverridesLate.sh file (setUserOverridesLate.cmd for Windows).

  2. Run the following commands using WLST (online mode) to provide grants to the Forms application/mbeans to access the Forms application keystore.
    • Commands for zero downtime (ZDT) upgrade
      grantPermission(codeBaseURL="file:${common.components.home}/../forms/provision/
      forms-config-mbeans.jar",permClass="oracle.security.jps.service.keystore.KeyStoreAccessPermission",
      permTarget="stripeName=formsapp,keystoreName=formsks,alias=*", permActions="*") 
      
      grantPermission(codeBaseURL="file:${domain.home}/servers/${weblogic.Name}/tmp/_WL_user/
      formsapp_12.2.1/-",permClass="oracle.security.jps.service.keystore.KeyStoreAccessPermission", 
      permTarget="stripeName=formsapp,keystoreName=formsks,alias=*",permActions="*")
    • Commands for Non-ZDT upgrade
      grantPermission(codeBaseURL="file:${common.components.home}/../forms/provision/
      forms-config-mbeans.jar",permClass="oracle.security.jps.service.keystore.KeyStoreAccessPermission",
      permTarget="stripeName=formsapp,keystoreName=formsks,alias=*", permActions="*")
      grantPermission(codeBaseURL="file:${domain.home}/servers/${weblogic.Name}/
      tmp/_WL_user/formsapp_12.2.1/-",permClass="oracle.security.jps.service.keystore.KeyStoreAccessPermission", 
      permTarget="stripeName=formsapp,keystoreName=formsks,alias=*",permActions="*") 
  3. Restart the Admin Server and the Forms Managed Servers.

Enhanced Forms Webutil File Transfer Speeds

In this release, we have improved Forms Webutil file upload and download transfer speeds by up to 30% by increasing the maximum allowable value of WebUtilMaxTransferSize to 24573.

Note:

When upgrading, run the create_webutil_db.sql script included in the installation to ensure you can take advantage of the improved file transfer speeds. Make sure you generate and use the webutil.pll file that is included in the installation. Do not copy this file from an earlier version.