Skip Headers

Oracle® Application Server 10g Forms and Reports Services Upgrade Guide
10g (9.0.4) for UNIX
Part No. B13547-01
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous Next  

3 Completing the Upgrade

This chapter describes tasks you may need to perform to complete the upgrade after the OracleAS Upgrade Assistant has finished processing. Some or all of these may be necessary, depending on the configuration upgraded. This section discusses the following topics:

Section 3.1, "Completing the Oracle Application Server Containers for J2EE (OC4J) Upgrade"

Section 3.2, "Completing the Oracle HTTP Server Upgrade"

Section 3.3, "Completing the OracleAS Web Cache Upgrade"

Section 3.4, "Completing the Oracle Application Server Forms Services Upgrade"

Section 3.5, "Completing the Oracle Application Server Reports Services Upgrade"

Section 3.6, "Upgrading the tnsnames.ora File"

Section 3.7, "Disabling Oracle Application Server Single Sign-On in the Upgraded Instance"

Section 3.8, "Port Values and the portlist.ini File After Upgrade"

Section 3.9, "Upgrading Application Server Clusters"

Section 3.10, "Starting the Upgraded Forms and Reports Services Instance"

Section 3.11, "Validating the Forms and Reports Services Upgrade"

Section 3.12, "Considerations for the Source Oracle Home After Upgrade"

3.1 Completing the Oracle Application Server Containers for J2EE (OC4J) Upgrade

The OracleAS Upgrade Assistant performs many of the Oracle Application Server Containers for J2EE (OC4J) upgrade tasks. However, some components of OC4J may require manual adjustments, or may have characteristics of which you should be aware before using OracleAS 10g (9.0.4).

This section details upgrade considerations for some sub-components of OC4J. If you use Oracle JMS, Oracle JDBC, the XML Parser for JAXP/XDK, or Oracle JSP pages, some or all of the topics in this section may be useful to you.

3.1.1 Upgrading Oracle Application Server Java Authentication and Authorization Service (JAZN) LDAP Security Settings

The OracleAS Upgrade Assistant does not upgrade the JAZN settings (the orion-application.xml file). Therefore, if you upgraded OC4J applications that use the JAZN LDAP User Manager for security, to complete the upgrade, you must perform the following steps:

  1. Using the Oracle Enterprise Manager Application Server Control, in the General Properties section of the OC4J application, under User Manager, select the JAZN LDAP User Manager.

  2. In the Security Settings section of the OC4J application, under Security Roles, map Users/Groups to the same role defined in the source Oracle home.

3.1.2 Upgrading JAZN Library Path Entries

In Oracle Application Server 10g (9.0.4), the jazn.jar file has been split into two JAR files: jazn.jar and jazncore.jar. For this reason, after upgrading OC4J applications that use JAZN, both JAR file names must have library path entries in the application.xml file.

Ensure that the application.xml file contains both of the entries below:

<library path="904 J2EE HOME/jazn.jar"/>

<library path="904 J2EE HOME/jazncore.jar"/>

where

<904 J2EE HOME> = <destination_MT_OH>/j2ee/home

3.1.3 Upgrading OC4J Instances Created by the Installer

Customizations that were made to OC4J instances in the file must be upgraded manually. This includes the instances created by the installer (home, OC4J_WIRELESS, OC4J_DEMOS, OC4J_PORTAL OC4J_BI_FORMS). The OracleAS Upgrade Assistant upgrades customizations to OC4J instances that were created by the user.

3.1.4 Upgrading application.xml Entries

If you have customized entries in the application.xml file, such as library paths, Java options, and OC4J options, you must upgrade them manually.

3.1.5 Upgrading the jms.xml File

The jms.xml file is not automatically upgraded from earlier versions. All queues, topics, and connection factories defined in the jms.xml file in the source Oracle home must be added to the jms.xml file in the destination Oracle home.

3.1.6 Using the Compatibility Test Suite (CTS) Compatibility Flag for Backward Compatibility

In Oracle Application Server 10g (9.0.4), OC4J by default complies with the J2EE 1.3 specification. In some cases, this results in behavior that differs from that seen with previous OC4J implementations. To allow for backward compatibility, OC4J supports a CTS compliance flag that you can set to false to revert to previous OC4J behavior in the following components:

  • Oracle JMS

  • Oracle JDBC

  • Oracle XML parser for JAXP/XDK

The compliance behavior of OC4J is determined by the flag oracle.cts.useCtsFlags, with a default value of true. If any of the upgrade issues are critical in a particular application, you can disable CTS compliance and revert to old behavior for an OC4J instance by setting the flag value to false in an OC4J properties file, and providing the location of the properties file to OC4J.

For example, the file <destination_MT_OH>/j2ee/home/config/oc4j.properties might contain the flag:

oracle.cts.useCtsFlags=false

Supply the name and location of a properties file to OC4J through an <oc4j-option element in the <destination_MT_OH>/opmn/conf/opmn.xml file, as in the following example:

Example 3-1 oc4j-option Element in opmn.xml File

<oc4j>
...
 <oc4j-option value="-p <destination_MT_OH/j2ee/home/config/oc4j.properties"/>
...
</oc4j>

This is equivalent to starting OC4J as follows in standalone mode (where % is a system prompt):

Example 3-2 Starting OC4J in Standalone Mode

% java -jar oc4j.jar -p <destination_MT_OH/j2ee/home/config/oc4j.properties 

3.1.6.1 CTS Compatibility and OJMS

In the OracleAS 10g (9.0.4) implementation of Oracle JMS (OJMS), which complies with J2EE 1.3, some behavior differs from OJMS behavior in Oracle9iAS Release 1 (1.0.2.2). (There are no such upgrade considerations between Oracle9iAS releases 9.0.2 and 9.0.3.) The differences are as follows:

  • JMSExpiration—In the OJMS 10g (9.0.4) J2EE 1.3-compliant implementation, the JMSExpiration header value in a dequeued message is the sum of the JMS timestamp when the message was enqueued, and the time-to-live. This value is expressed in milliseconds from midnight, January 1, 1970 to the current Greenwich Mean Time. If a message never expires, the value is 0.

    In the OJMS 1.0.2.2 implementation, the JMSExpiration header value in a dequeued message is the duration until expiration of the message, in milliseconds. If a message never expires, the value is -1.

  • JMSPriority—In the OJMS Release 2 (9.0.4) 1.3-compliant implementation, 9 is the highest priority, 0 is the lowest priority, and 4 is the default priority.

    In the OJMS 1.0.2.2 implementation, java.lang.Integer.MIN_VALUE is the highest priority, Integer.MAX_VALUE is the lowest priority, and 1 is the default priority.

  • Durable subscribers—In the OJMS 10g (9.0.4) J2EE 1.3-compliant implementation, durable Topic Subscribers with the same name are not allowed under any circumstances.

    In the OJMS 1.0.2.2 implementation, durable Topic Subscribers with the same name are allowed if they are subscribed to different topics.

  • Strongly typed JMS selectors—In accordance with the JMS 1.02b specification and J2EE 1.3 compliance requirements, the OJMS 10g (9.0.4) implementation uses only a certain subset of SQL92 syntax for selector expression syntax, with the following mandated restrictions:

    • Selector expressions are strongly typed, meaning operators and operands in arithmetic comparisons must be of the same type. Automatic type conversions for the purpose of comparison, such as converting the string "1" to the integer 1, are prohibited.

    • String and boolean comparisons are restricted to "=", "<", and ">". Two strings are equal only if they contain the exact same sequence of characters.

    • The "!=" operator is prohibited.

    The OJMS 1.0.2.2 implementation is not subject to these restrictions or to the limited subset of SQL92 syntax for selector expression syntax.

3.1.6.2 CTS Compatibility and JDBC

In the OracleAS 10g (9.0.4) implementation of Oracle JDBC, which complies with J2EE 1.3, some behavior differs from JDBC behavior in Oracle9iAS Release 2 (9.0.2) and prior. The differences are as follows:

  • Java types for NUMBER columns—In 10g (9.0.4), the getObject() method of a result set (java.sql.ResultSet instance) returns a java.lang.Double value for a NUMBER column with precision, or a java.math.BigDecimal value for a NUMBER column without precision.

    In Release 2 (9.0.2) and prior releases, getObject() returns a BigDecimal value for any NUMBER column.

  • Metadata for NUMBER columns—In 10g (9.0.4), the getColumnTypeName() method of a result set metadata object (java.sql.ResultSetMetaData instance) returns "FLOAT" for a NUMBER column with precision, or "NUMBER" for a NUMBER column without precision. The getColumnType() method returns java.sql.Types.FLOAT for a NUMBER column with precision, or Types.NUMBER for a NUMBER column without precision.

    In Release 2 (9.0.2) and prior releases, getColumnTypeName() returns "NUMBER" for any NUMBER column, and getColumnType() returns Types.NUMBER for any NUMBER column.

  • Java types for DATE and TIMESTAMP columns—In 10g (9.0.4), the getObject() method of a result set returns a java.sql.Date value for a DATE column, and a java.sql.Timestamp value for a TIMESTAMP column.

    In Release 2 (9.0.2) and prior releases, getObject() returns a java.sql.Timestamp value for a DATE column. (TIMESTAMP columns were not supported.)

  • Exceptions for inappropriate SQL statements—In 10g (9.0.4), if an executeQuery() call in a statement object contains anything but a SELECT statement (such as if it instead contains an INSERT or UPDATE statement), the JDBC driver properly throws an exception. Similarly, if an executeUpdate() call contains a SELECT statement, the driver properly throws an exception. (An UPDATE, INSERT, or DELETE statement is expected.)

    In Release 2 (9.0.2) and prior releases, these situations did not result in exceptions.

3.1.6.3 CTS Compatibility and the JAXP/XDK XML Parser

In the OracleAS 10g (9.0.4) implementation of the XML parser for JAXP/XDK, which complies with J2EE 1.3, some behavior differs from XML parser behavior in Oracle9iAS Release 2 (9.0.2) and prior. The differences are as follows:

  • getNamespaceURI() null return values—In 10g (9.0.4), the getNamespaceURI() method returns 'null' if the namespace is not defined for an element or attribute.

    In Release 2 (9.0.2) and prior releases, the getNamespaceURI() method returns '""' in these circumstances.

  • getLocalName() null return values—In 10g (9.0.4), the getLocalName() method returns 'null' if the element or attribute was created using a DOM level 1 API call to createElement() or createAttribute().

    In Release 2 (9.0.2) and prior releases, the getLocalName() method returns '"Transfer interrupted!"' in these circumstances.

  • getPrefix() null return values—In 10g (9.0.4), the getPrefix() method returns 'null' if the element or attribute was created using a DOM level 1 API call to createElement() or createAttribute().

    In Release 2 (9.0.2) and prior releases, the getPrefix() method returns '""' in these circumstances.


    Note:

    The getNamespaceURI(), getLocalName(), and getPrefix() methods exist with the above changes in the XMLElement and XMLAttr classes of the oracle.xml.parser.v2 package.

  • SAX exceptions—In 10g (9.0.4), registered error handlers throw a SAXException or SAXParseException in error conditions.

    In Release 2 (9.0.2) and prior releases, error handlers throw an XMLParseException in error conditions.

  • I/O exceptions—In 10g (9.0.4), an IOException is thrown as is in I/O error conditions.

    In Release 2 (9.0.2) and prior releases, an IOException is wrapped in an XMLParseException.

3.1.7 Upgrade Considerations for Enterprise Java Beans

Beginning with Oracle9iAS Release 2 (9.0.3), Oracle Application Server Containers for J2EE complies with the J2EE 1.3 specification and implements the Enterprise Java Beans (EJB) 2.0 specification in entirety. Therefore, if you are upgrading from Release 2 (9.0.2) to 10g (9.0.4), applications using EJB features in the areas of container-managed persistence and container-managed relationships will require modification.


See Also:

Oracle Application Server Containers for J2EE Enterprise JavaBeans Developer’s Guide, Appendix C.

3.1.8 Upgrade Considerations for the OC4J Java Server Pages (JSP) Container

This section describes JSP settings that are affected by the upgrade.

3.1.8.1 Enabling Extra Imports

Beginning with Oracle9iAS Release 2 (9.0.3), the OC4J JSP container by default imports the packages listed below into any JSP page, in accordance with the JSP specification. No page directive import settings are required.

javax.servlet.*

javax.servlet.http.*

javax.servlet.jsp.*

In previous releases, the following packages were also imported by default:

java.io.*

java.util.*

java.lang.reflect.*

java.beans.*

For backward compatibility, you can use the JSP extra_imports configuration parameter as a workaround. Alternatively, you can add desired imports through page directives or global includes. See the Oracle Application Server Containers for J2EE Support for JavaServer Pages Developer’s Guide for information about these topics.

3.1.8.2 Setting Additional JSP Flags for Backward Compatibility

When upgrading to Oracle Application Server 10g (9.0.4) and using JSP pages, use appropriate settings for the following important JSP configuration parameters.

  • check_page_scope

  • forgive_dup_dir_attr

These are set as initialization parameters for the JSP front-end servlet, either in the global-web-application.xml file or in the application orion-web.xml file. Here is an example:

Example 3-3 JSP Configuration Parameters for Upgrading to 10g (9.0.4)

<servlet>
   <servlet-name>jsp</servlet-name>
   <servlet-class>oracle.jsp.runtimev2.JspServlet</servlet-class>
   <init-param>
      <param-name>check_page_scope</param-name>
      <param-value>true</param-value>
   </init-param>
   ...
</servlet>

See the Oracle Application Server Containers for J2EE Support for JavaServer Pages Developer’s Guide for more information about JSP configuration parameters.

check_page_scope (boolean; default: false): This parameter was introduced in Oracle9iAS Release 2 (9.0.3). For OC4J environments, set it to true to enable Oracle-specific page-scope checking by the JspScopeListener utility.

This parameter is not relevant for non-OC4J environments. For JServ, Oracle-specific page-scope checking is always enabled. For other environments, the Oracle-specific implementation is not used and you must use the checkPageScope custom tag for JspScopeListener page-scope functionality. See the Oracle Application Server Containers for J2EE JSP Tag Libraries and Utilities Reference for information about JspScopeListener.

forgive_dup_dir_attr (boolean; default: false): This parameter was introduced in Oracle9iAS Release 2 (9.0.3). Set it to true to avoid translation errors in a JSP 1.2 environment such as OC4J if you have duplicate settings for the same directive attribute within a single JSP translation unit (a JSP page plus anything it includes through include directives).

The JSP 1.2 specification directs that a JSP container must verify that directive attributes, with the exception of the page directive import attribute, are not set more than once each within a single JSP translation unit.

The JSP 1.1 specification did not specify such a limitation. OC4J offers the forgive_dup_dir_attr parameter for backward compatibility.

3.1.9 Considering JDK 1.4 Issues: Cannot Invoke Classes Not in Packages

Among the migration considerations in moving to a Sun Microsystems JDK 1.4 environment, which is the environment that is shipped with Oracle Application Server 10g (9.0.4), there is one of particular importance to servlet and JSP developers.

As stated by Sun Microsystems, "The compiler now rejects import statements that import a type from the unnamed namespace." (This was to address security concerns and ambiguities with previous JDK versions.) Essentially, this means that you cannot invoke a class (a method of a class) that is not within a package. Any attempt to do so will result in a fatal error at compilation time.

This especially affects JSP developers who invoke JavaBeans from their JSP pages, as such beans are often outside of any package (although the JSP 2.0 specification now requires beans to be within packages, in order to satisfy the new compiler requirements). Where JavaBeans outside of packages are invoked, JSP applications that were built and executed in an OC4J 9.0.3 / JDK 1.3.1 or prior environment will no longer work in an OC4J 9.0.4 / JDK 1.4 environment.

Until you update your application so that all JavaBeans and other invoked classes are within packages, you have the alternative of reverting back to a JDK 1.3.1 environment to avoid this issue.


Notes:

The javac -source compiler option is intended to allow JDK 1.3.1 code to be processed seamlessly by the JDK 1.4 compiler, but this option does not account for the "classes not in packages" issue.

Only the JDK 1.3.1 and JDK 1.4 compilers are supported and certified by OC4J. It is possible to specify an alternative compiler by adding a <java-compiler> element to the server.xml file, and this might provide a workaround for the "classes not in packages" issue, but no other compilers are certified or supported by Oracle for use with OC4J. (Furthermore, do not update the server.xml file directly in an Oracle9iAS environment. Use the Oracle Enterprise Manager Application Server Control.)


For more information about the "classes not in packages" issue and other JDK 1.4 compatibility issues, refer to the following Web site:

http://java.sun.com/j2se/1.4/compatibility.html

In particular, click the link "Incompatibilities Between Java 2 Platform, Standard Edition, v1.4.0 and v1.3".

3.1.10 Considering Modified Servlet APIs and Behavior

When upgrading to Oracle Application Server 10g (9.0.4) and using servlets, consider the following changes in servlet APIs and behavior:

  • Changes relating to getRequestURI()

  • Changes regarding filtering of servlets that are forward or include targets

3.1.10.1 Changes Relating to getRequestURI()

In previous Oracle9iAS releases, whenever Oracle HTTP Server received a request, it would unencode the URI before passing it to OC4J. Therefore, servlets making computations based on the response of getRequestURI() (a method on the request object) were implicitly getting a value that had been unencoded one time. As of the OC4J 9.0.4 implementation, Oracle HTTP Server will send OC4J an unaltered version of the URI, which in turn is used by OC4J as the return value of getRequestURI().

If the mod_rewrite module is being used in conjunction with mod_oc4j in communications between Oracle HTTP Server and OC4J, the rewritten URI that is sent to mod_oc4j is the same as what is sent to OC4J, and the return value of getRequestURI() will have had mod_rewrite rules applied to it.

The mod_rewrite and mod_oc4j modules are discussed in the Oracle HTTP Server Administrator’s Guide. Further details about mod_rewrite are available in the Apache Server documentation.

3.1.10.2 Filtering of Servlets That Are Forward or Include Targets

In previous OracleAS releases, if a filtered servlet forwards to or includes another servlet, the target servlet, by default, is also filtered. In Oracle Application Server 10g (9.0.4), this is no longer the default behavior. Having the target servlet not filtered by default matches the intention of the servlet specification.

This behavior is configurable: in the OC4J 9.0.4 implementation, it is according to the oracle.j2ee.filter.on.dispatch environment flag (false by default); in future implementations, it will be according to web.xml configuration as set forth in the servlet 2.4 specification.

3.2 Completing the Oracle HTTP Server Upgrade

This section describes post-upgrade tasks for the Oracle HTTP Server that you may need to perform. The OracleAS Upgrade Assistant upgrades the standard settings for the Oracle HTTP Server. If you have configuration files or documents that are in non-standard locations or referenced in non-standard ways, you must upgrade these manually. These, and other configuration-specific cases for manual upgrade, are detailed below.

3.3 Completing the OracleAS Web Cache Upgrade

This section outlines tasks you may need to perform to complete the OracleAS Web Cache upgrade after the OracleAS Upgrade Assistant has finished processing. These tasks include enabling the use of privileged ports, and upgrading a cluster.

3.3.1 Enabling the webcached Executable to Run as The Root User

OracleAS Web Cache will not start after upgrade if the port settings of 80 and 443 were upgraded from the Oracle9iAS Release 2 (9.0.2) Web Cache to the Oracle Application Server 10g (9.0.4) Web Cache.

Because port numbers under 1024 are reserved for privileged processes in UNIX, the webcached executable in 10g (9.0.4) must run as root in order to start the cache server process and bind to these ports.

A script is provided that enables the webcached executable to run as the root user:

<destination_MT_OH>/webcache/bin/webcache_setuser.sh

Log in to the system as the root user and run the script.


See Also:

Oracle Application Server Web Cache Administrator’s Guide

3.3.2 Upgrading an OracleAS Web Cache Cluster

If you have a OracleAS Web Cache cluster, you can upgrade one cache cluster member at a time. The caches will continue to function, but because the other cluster members have a different version of the configuration, the caches will not forward requests to cache cluster members operating with a different version.

For example, if you upgrade Cache_A to the current version, but have not yet upgraded Cache_B and Cache_C, Cache_A will not forward requests to the cache cluster members Cache_B and Cache_C.

In this situation, the Operations page in Web Cache Manager indicates that the Operation Needed is Incompatible software version.


Note:

When the cache cluster members are not running the same version of OracleAS Web Cache, you can still invalidate documents and you can propagate the invalidation to other cluster members, but the invalidation request must originate with the cache that is operating with 9.0.2 version of OracleAS Web Cache.

After you upgrade the cache cluster members, you must perform the following additional steps to synchronize the configuration for the members of the cluster:

  1. If the caches have not been started, for each upgraded cache, start OracleAS Web Cache and OracleAS Web Cache Manager. On the command line, enter:

    opmnctl startproc ias-component=WebCache

    This command starts the OracleAS Web Cache cache server process and admin server process.

  2. In a browser, enter the URL for the OracleAS Web Cache Manager for one of the upgraded caches, and, when prompted, enter the username and password for the ias_admin or administrator user.

  3. In the navigator frame, select Administration > Operations.

    The Operations page appears.

  4. In the Operations page, click Retrieve.

    Web Cache retrieves the cache-specific configuration information from the remote cache cluster members. Then, Web Cache Manager indicates that the Operation Needed is Propagate Configuration.

  5. To propagate the configuration to all cache cluster members, select All caches and an Interval of Immediate. Then, click Propagate.

  6. Restart the caches by selecting All caches and an Interval. Then, click Restart. (Note that you can perform this operation as you upgrade each cache, or you can perform this operation after all of the cache cluster members have been upgraded.)

3.3.3 Upgrading a Web Cache Cluster from Release 2 (9.0.2.x) to 10g (9.0.4)

A Release 2 (9.0.2.x) cache cannot accept invalidation messages from a 10g (9.0.4) cache. In a configuration that uses a OracleAS Web Cache cluster with a mixture of Release 2 (9.0.2.x) and 10g (9.0.4) cluster members, you must configure the Load Balancer to send invalidation messages only to the Release 2 (9.0.2.x) members.

When upgrading a cache cluster from Release 2 (9.0.2.x) to 10g (9.0.4), remove cluster members one at a time from the invalidation pool for the Load Balancer prior and upgrade them. Once all the cluster members are upgraded, add them back to the invalidation pool. As an example, assume a configuration with a Load Balancer in front of a cache cluster that is comprised of four members, webche1-host, webche2-host, webche3-host, and webche4-host, all running Release 2 (9.0.2.x). To upgrade this cache cluster:

  1. In the Load Balancer configuration, remove webche1-host from the pool that is responsible for invalidation.

  2. Upgrade webche1-host from Release 2 (9.0.2.x) to 10g (9.0.4).

  3. In the Load Balancer configuration, remove webche2-host from the pool that is responsible for invalidation.

  4. Upgrade webche2-host from Release 2 (9.0.2.x) to 10g (9.0.4).

  5. In the Load Balancer configuration, remove webche3-host from the pool that is responsible for invalidation.

  6. Upgrade webche3-host from Release 2 (9.0.2.x) to 10g (9.0.4).

  7. Upgrade webche4-host from Release 2 (9.0.2.x) to 10g (9.0.4). As this is the last cache member in the Load Balancer configuration, it is not necessary to remove it from the invalidation pool.

  8. In the Load Balancer configuration, add webche1-host, webche2-host, and webche3-host back into the pool that is responsible for invalidation.

3.4 Completing the Oracle Application Server Forms Services Upgrade

The OracleAS Upgrade Assistant moves most of the Oracle Application Server Forms Services configuration data from the source to the destination Oracle home. However, there may be manual tasks remaining after the upgrade. This section explains how to perform these tasks.


Note:

After the upgrade, the default.env file contains the default Oracle Application Server Forms Services environment variables and any user defined environment variables. The Upgrade Assistant upgrades any user defined environment variables to the destination Oracle Home default.env file. Any user modifications to the default variables in the source Oracle Home default.env file will be extracted and appended to the default environment variable values that the installer puts in the destination Oracle Home default.env file.

3.4.1 Upgrading the tnsnames.ora File

Entries may have been added to, or changed in, the tnsnames.ora file between the installation of Oracle9iAS Release 2 (9.0.2) and upgrade to 10g (9.0.4). If so, you must upgrade this file manually so that any added or changed entries are available in 10g (9.0.4).

If an error occurs after upgrade, it may be because the tnsnames.ora file was overwritten by another component upgrade. A missing or incorrect entry yields the following error:

ORA-12154: TNS: Could not resolve service name.

3.4.2 Upgrading Forms *.fmx Files

If you have deployed these files within the source Oracle home, you must manually copy them to the same location in the destination Oracle home. If the *.fmx files are not under the Oracle home on the file system, then no action is needed, as the FORMS90_PATH will be upgraded by the OracleAS Upgrade Assistant, and it will be valid after the upgrade.

3.4.3 Upgrading User-defined Aliases for Oracle Application Server Forms Services Servlets

If you defined any aliases for the OracleAS Forms Services servlets in:

<source_MT_OH>/j2ee/OC4J_BI_FORMS/applications/forms90app/forms90web/WEB-INF/web.xml, then you must manually copy these entries to:

<destination_MT_OH>/j2ee/OC4J_BI_FORMS/applications/forms90app/forms90web/WEB-INF/web.xml.

3.4.4 Upgrading forms90app.ear Deployed in User-defined OC4J Instances

The forms90app.ear file is deployed by default into the OC4J_BI_Forms OC4J instance. Note that the Upgrade Assistant upgrades all user-defined OC4J instances and the applications deployed under these instances to the destination Oracle home.

Thus, if you have deployed the forms90app.ear file into one of the user-defined OC4J instances in the source Oracle home, the Upgrade Assistant will upgrade this deployment into the corresponding OC4J instance in the destination Oracle home.

As a result, the source Oracle home Release 2 (9.0.2) forms90app.ear file is deployed into the destination Oracle home. This causes the configuration of OracleAS Forms Services 10g (9.0.4) to be incorrect, because it requires the 10g (9.0.4) EAR file in order to function properly.

Therefore, you must undeploy the forms90app.ear file from these upgraded OC4J instances in the destination Oracle home, and then deploy forms90app.ear in the destination Oracle home again.

The Oracle Application Server Forms Services 10g (9.0.4) forms90app.ear file is located in: <destination_MT_OH>/forms90/j2ee.

3.5 Completing the Oracle Application Server Reports Services Upgrade

The OracleAS Upgrade Assistant performs most of the Oracle Application Server Reports Services upgrade. However, it does not process the script files <source_MT_OH>/bin/rw*.sh and the configuration file <source_MT_OH>/reports/ conf/jdbcpds.conf. If you have customized any of these files, you must apply the customizations to the corresponding files in the destination Oracle home.


Note:

To apply the customizations, you must copy the customized entries from the source Release 2 (9.0.2) instance to the destination 10g (9.0.4) instance. It is not safe to replace the 10g (9.0.4) file with the Release 2 (9.0.2) file, because the files are different.

In addition, you may want to perform the following optional manual steps:

3.5.1 Upgrading User-Defined OC4J Instances With Oracle Application Server Reports Services Deployments

The OracleAS Upgrade Assistant upgrades the Oracle9iAS Release 2 (9.0.2) Business Intelligence & Forms configuration to the Oracle Application Server 10g (9.0.4) Business Intelligence & Forms configuration. It is not aware of OC4J instances outside of these configurations that may contain deployed reports, or of customizations made to those instances in order to enable the deployed reports to run.

Therefore, if you are using OC4J instances other than the standard Business Intelligence and Forms OC4J instance, you must apply any manual deployment steps that you performed on those instances in Oracle9iAS Release 2 (9.0.2) to the equivalent instances in Oracle Application Server 10g (9.0.4).

You must also add the Java option below to the java-options tag in <destination_MT_OH>/opmn/conf/opmn.xml to these OC4J instances before you can use them for Oracle Application Server Reports Services.

-Xbootclasspath^/p:<destination_MT_OH>/vbroker4/lib/vbjboot.jar

Example 3-4 Default java-options Tag

<data id="java-options" value="-Dhttp.proxyHost=www-proxy.us.oracle.com 
-Dhttp.proxyPort=80"/>

Example 3-5 java-options Tag Modified for Oracle Application Server Reports Services

<data id="java-options" value="-Dhttp.proxyHost=www-proxy.us.oracle.com 
-Dhttp.proxyPort=80"
-Xbootclasspath^/p:<destination_MT_OH/vbroker4/lib/vbjboot.jar"/> 

3.5.2 Integrating OracleAS Reports Services with Oracle Enterprise Manager

In the OracleAS 10g (9.0.4) reports server configuration file, the <identifier> element is encrypted, and matches the value in the <destination_MT_OH>/sysman/emd/targets.xml file.

During the upgrade, the OracleAS Upgrade Assistant copies the Oracle9iAS Release 2 (9.0.2) reports server configuration files into the OracleAS 10g (9.0.4) Reports configuration files. The <identifier> element in the Oracle9iAS Release 2 (9.0.2) is different from that in the 10g (9.0.4) targets.xml file, so some of the features of the OracleAS Reports Services will not work after the upgrade.

  1. Edit the <destination_MT_OH>/reports/conf/<server name>.conf file and modify the <identifier> element to specify the user name and password and set the encrypted attribute to no. For example, if the user name is scott and the password is tiger:

    <identifier confidential="yes" encrypted="no>scott/tiger</identifier
    
    
  2. In the <destination_MT_OH>/sysman/emd/targets.xml file, locate the TYPE="oracle_repserv" and DISPLAY_NAME="Reports Server: server name" entries.

  3. Set the UserName and Password properties to the same values as those in the <identifier> element in the <server name>.conf file. Set the ENCRYPTED attribute to FALSE for both properties.


    Note:

    The configuration changes will not be in effect until after the reports server and Oracle Enterprise Manager are both restarted.

3.5.3 Integrating Reports Services with OracleAS Portal

A Oracle9iAS Release 2 (9.0.2) Reports application can publish a report to Oracle9iAS Portal. By default, the Release 2 (9.0.2) Reports server configuration file contains a connection string that points to the Oracle9iAS Portal instance in the Infrastructure.

If you need to integrate OracleAS Reports Services with OracleAS Portal, you should upgrade to the OracleAS 10g (9.0.4) Business Intelligence and Forms installation type. If you upgrade to Forms and Reports Services in 10g (9.0.4), and still attempt to publish reports to a standalone or Infrastructure Portal instance, Oracle Corporation does not guarantee that that feature will function.

3.5.4 Integrating Reports Services with Oracle Internet Directory

A Oracle9iAS Release 2 (9.0.2) Reports application can store a connection string in Oracle Internet Directory in Oracle9iAS Release 2 (9.0.2) and execute a report using the SSOCONN parameter that points to the connection string in Oracle Internet Directory.

If you need to integrate OracleAS Reports Services with Oracle Internet Directory, you should upgrade to the OracleAS 10g (9.0.4) Business Intelligence and Forms installation type. If you upgrade to Forms and Reports Services in 10g (9.0.4), and still attempt to execute reports with the SSOCONN paramter, the report requests will fail. In this case, you must replace the SSOCONN parameter with a clear connection string.

3.6 Upgrading the tnsnames.ora File

The <source_MT_OH>/network/admin/tnsnames.ora file contains connection information for various databases. It is shared among Oracle Application Server components.

You should examine this file to determine whether it contains any entries that will be needed to operate a component in the 10g (9.0.4) installation, but which do not exist in the <destination_MT_OH>/network/admin/tnsnames.ora file. For example, entries might have been added since the Oracle9iAS Release 2 (9.0.2) installation to provide access to additional databases, or the entry for the Infrastructure Services repository might have been changed in some way.

If new or changed entries exist, you have two choices for upgrading: append individual entries, or copy the entire file.

3.6.1 Append New and Changed Entries to the 10g (9.0.4) tnsnames.ora File

Copy all new and changed entries to the <destination_MT_OH>/network/ admin/tnsnames.ora file.

3.6.2 Copy the Oracle9iAS Release 2 (9.0.2) tnsnames.ora File to the 10g (9.0.4) Installation

If you are certain that doing so will not eliminate entries added or changed by other components, you can copy the entire tnsnames.ora file from the source to the destination Oracle home, restoring the EXTPROC_CONNECTION_DATA.US.ORACLE.COM entry (which is introduced in 10g (9.0.4)).

To upgrade by copying the entire file, follow the steps below:

  1. Create a backup of <source_MT_OH>/network/admin/tnsnames.ora and <destination_MT_OH>/network/admin/tnsnames.ora.

  2. Copy the entire tnsnames.ora file from the source to the destination Oracle home.

  3. Copy the EXTPROC_CONNECTION_DATA.US.ORACLE.COM entry (used for executing external procedures in the database) from the 10g (9.0.4) backup file created in step 1 to the Oracle9iAS Release 2 (9.0.2) file.

3.7 Disabling Oracle Application Server Single Sign-On in the Upgraded Instance

Some applications upgraded from the source Oracle home may have been configured to use OracleAS Single Sign-On in the source Oracle home. Because the Forms and Reports Services installation type does not use OracleAS Single Sign-On, you must disable it in the destination Oracle home after the upgrade.

3.7.1 Disabling Oracle Application Server Single Sign-On in the Oracle HTTP Server

To disable Oracle Application Server Single Sign-On in the Oracle HTTP Server, you must comment out the Include directive for the mod_osso.conf file in the <destination_MT_OH>/Apache/Apache/conf/httpd.conf file, as shown below:

#include "<destination_MT_OH>/Apache/Apache/conf/mod_osso.conf"

3.7.2 Disabling Security Services in OracleAS Reports Services

By default, OracleAS Reports Services is enabled for OracleAS Single Sign-On. To disable it after the upgrade, you must edit the files that contain security-related configuration elements.

3.7.2.1 Editing the Server Configuration Files

You must edit the in-process server and reports server configuration files to eliminate security tags.

The in-process server configuration file is:

<destination_MT_OH>/reports/conf/rep_<host name>.conf

The reports server configuration file is:

<destination_MT_OH>/reports/conf/<server name>.conf

To disable OracleAS Single Sign-On in these files, you must:

  • Comment out the security tags.

  • Remove the securityId attribute from the job tag.

3.7.2.2 Editing the Servlet Properties File

The servlet properties file is:

<destination_MT_OH>/reports/conf/rwservlet.properties

You must set SINGLESIGNON=NO in this file.

3.7.3 Using OracleAS Forms Services Applications Without Single Sign-On

If OracleAS Forms Services was configured to run with OracleAS Single Sign-On in Oracle9iAS Release 2 (9.0.2), then the Single Sign-On configuration information will not be available in the OracleAS 10g (9.0.4) Forms and Reports Services installation after the upgrade. When OracleAS Forms Services applications are accessed after upgrade, users are prompted for login information via dialog box. The users will have to enter the information into the dialog at each access.

If there is a common user name and password for a given application, you may wish to provide the connect string in the application section of <destination_MT_OH>forms90/server/formsweb.cfg file, so that the login dialog box does not appear.

3.8 Port Values and the portlist.ini File After Upgrade

After you upgrade a middle tier to OracleAS 10g (9.0.4), the upgraded instance is using the same ports that the Oracle9iAS Release 2 (9.0.2) instance used. For this reason, after upgrade, you cannot start the source and destination middle tier instances at the same time, because of port conflicts.

The <destination_MT_OH>/install/portlist.ini file does not reflect the upgraded port settings; it lists the port values assigned by the installer before the upgrade. Table 3-2 lists pre- and post-upgrade values for Oracle HTTP Server, Oracle Enterprise Manager Application Server Control, and Oracle Application Server Web Cache.

Table 3-2 Port Values Before and After Upgrade

Component Port in Source Oracle Home Port Value in Destination Oracle Home Assigned by Installer and Recorded in portlist.ini File Post-Upgrade Port Value
Oracle HTTP Server
Port: 7777

Listen: 7778

Port: 7783

Listen: 7784

Port: 7777

Listen: 7778

Oracle Enterprise Manager Application Server Control
1810 1812 1812
Oracle Application Server Web Cache
Administration: 4000

Invalidation: 4001

Statistics: 4002

Administration: 4003

Invalidation: 4004

Statistics: 4005

Administration: 4000

Invalidation: 4001

Statistics: 4002


3.9 Upgrading Application Server Clusters

Upgrading an application server cluster is a two-stage process. First, you must upgrade the configuration of one of the instances in the cluster from the source Oracle home to the newly installed 10g (9.0.4) middle tier instance in the destination Oracle home. Then, you reconstruct the cluster by installing and clustering additional instances in new destination Oracle homes.

Follow these steps to upgrade an application server cluster:

  1. Determine the instance name of the instance to upgrade with the command:

    <source_MT_OH>/dcm/bin/dcmctl listinstances

  2. Stop all processes in the source instance with the command:

    <source_MT_OH>/dcm/bin/dcmctl shutdown

  3. Stop all processes in the destination instance with the command:

    <destination_MT_OH>/dcm/bin/dcmctl shutdown

  4. Follow the instructions in Section 1.3.3, "Performing an Upgrade with the OracleAS Upgrade Assistant (Graphical User Interface (GUI) Version)" or Section 1.3.4, "Performing an Upgrade with the OracleAS Upgrade Assistant (Command-line Version) ".

  5. Follow the instructions that apply to the upgraded configuration in the following sections:

    Section 3.1, "Completing the Oracle Application Server Containers for J2EE (OC4J) Upgrade"

    Section 3.2, "Completing the Oracle HTTP Server Upgrade"

    Section 3.3, "Completing the OracleAS Web Cache Upgrade"

    Section 3.4, "Completing the Oracle Application Server Forms Services Upgrade"

    Section 3.5, "Completing the Oracle Application Server Reports Services Upgrade"

    Section 3.6, "Upgrading the tnsnames.ora File"

    Section 3.7, "Disabling Oracle Application Server Single Sign-On in the Upgraded Instance"

    Section 3.9, "Upgrading Application Server Clusters"

  6. Start the Oracle Enterprise Manager Application Server Control with the command:

    <destination_MT_OH>/bin/emctl start iasconsole

  7. Display the OracleAS Instance Home Page.

  8. Start the upgraded instance by following the instructions in Section 3.10, "Starting the Upgraded Forms and Reports Services Instance".

  9. Create a cluster with the command:

    <destination_MT_OH>/dcm/bin/dcmctl createcluster <name of cluster>

  10. Join the upgraded instance to the cluster with the command:

    <destination_MT_OH>/dcm/bin/dcmctl joincluster -cl <name of cluster>

  11. Join each additional instance to the cluster with the command:

    <destination_MT_OH>/dcm/bin/dcmctl joincluster -cl <name of cluster>

  12. If the upgraded configuration used mod_oc4j.conf for request routing, do the following:

    1. View the <destination_MT_OH>/Apache/Apache/conf/mod_oc4j.conf file in one of the instances, noting the instance and cluster names in the Oc4jMount directives.

    2. Change the instance (and, if necessary) cluster names to the instance name of the upgraded instance.

    3. Copy the Oc4jMount directives to the mod_oc4.conf file in each instance in the new cluster.

    4. Verify that requests that match the URL patterns in the Oc4jMount directives are routed to the correct instances.

3.10 Starting the Upgraded Forms and Reports Services Instance

After the OracleAS Upgrade Assistant has finished processing, and you have completed all of the applicable manual upgrade tasks, start the upgraded Forms and Reports Services instance.

Follow these instructions to start the middle tier instance:

  1. Start the application server components by issuing this command:

    <destination_MT_OH>/opmn/bin/opmnctl startall

    Oracle Process Management and Notification and all of the processes it manages are started (i.e., Distributed Configuration Management, Oracle HTTP Server, OC4J instances, OracleAS Web Cache, Oracle Application Server Forms Services, and Oracle Application Server Reports Services).

  2. Start the Application Server Control by issuing this command:

    <destination_MT_OH>/bin/emctl start iasconsole

3.10.1 Resolving Oracle Call Interface Component Errors

If the upgrade succeeds, but components that use the Oracle Call Interface do not function properly, it may be that the tnsnames.ora file was not upgraded, or was upgraded incorrectly. Review the instructions and upgrade strategies presented in Section 3.6, "Upgrading the tnsnames.ora File" and verify that the file contains all necessary entries for the components that use it.

3.11 Validating the Forms and Reports Services Upgrade

This section describes tasks you should perform after the upgrade to validate that the upgrade was successful.

3.11.1 Verify Operation of Middle Tier Components

Follow these steps to verify that the middle tier components that were upgraded are started:

  1. In a browser, access the Oracle Enterprise Manager Application Server Control in the 10g (9.0.4) middle tier Oracle home by entering its URL. Ensure that you provide the correct host name and port number. For example:

    http://midtierhost.mycompany.com:1812

    The Oracle Enterprise Manager page appears. A link for the middle tier instance appears in the Standalone Instances section.

  2. Click the link.

    The System Components page appears.

  3. Verify that the components are running.

  4. Verify that the configuration information for the components in use is reflected in the 10g (9.0.4) Oracle home.

3.11.2 Check Significant URLs

Follow these steps to verify that you can access the Oracle HTTP Server and application URLs:

  1. Verify that you can access the Oracle HTTP Server on the same host and port that you did in the previous release by entering the URL. Ensure that you provide the correct host name and port number. For example:

    http://midtierhost.mycompany.com:7777

  2. Verify that you can access the URLs for the applications you operated in the previous release, and ensure that the applications are functioning as they did in the previous release.

3.12 Considerations for the Source Oracle Home After Upgrade

The upgrade process leaves the source Oracle home unchanged. Depending on the type of installation you have, and your future needs, you may elect to remove the source Oracle home, or to retain it for specific reasons. This section discusses decommissioning the source Oracle home, as well as reasons for retaining it, including the steps you must perform to revert to using it.


Note:

If you retain the source Oracle home, you cannot operate it simultaneously with the destination Oracle home, because certain components have the same port values after upgraded. See Section 3.8, "Port Values and the portlist.ini File After Upgrade".

3.12.1 Decommissioning the Source Oracle Home

When you are certain that the upgrade was successful, you have all of the necessary backups, and have no plans to revert to the source Oracle home, you may elect to remove the files from the source Oracle home. Use the Oracle Universal Installer to deinstall the instance.


See Also:

Oracle9i Application Server Installation Guide in the Release 2 (9.0.2) documentation library

Deinstalling a Release 2 (9.0.2) or instance when there is also a 10g (9.0.4) instance on the computer requires a patch, and there are issues associated with this deinstallation that may apply to your configuration.


See Also:

Oracle Application Server 10g Installation Guide

3.12.1.1 Preserving Application Files and Log Files

If there are application files or log files in the source Oracle home that are being referenced or used by the destination Oracle home, you should move them to another location before you decommission the source Oracle home, and, in the destination Oracle home, change any references to the files to the new location.