Skip Headers
Oracle® Application Server Release Notes
10g Release 3 (10.1.3) for Microsoft Windows and Microsoft Windows x64
B14437-09
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents

Previous
Previous
 
Next
Next
 

4 General Management and Security Issues

This chapter describes management and security issues associated with Oracle Application Server. It includes the following topics:

4.1 General Issues and Workarounds

This section describes general management and security issues. It includes the following topics:

4.1.1 Deploying an Application Hangs During File Upload

When you deploy an application using Application Server Control, the upload page may keep showing the "upload in progress" message until you manually refresh the page. In the ASControl.log file, you may see these messages:

WARN  util.MultipartRequestUtil _getMultiPartRequestParameter.263 -
 java.io.IOException: Cannot create temp directory: The system cannot find the
 path specified

You get this message if the temporary directory specified by the java.io.tmpdir system property does not exist.

To determine the value of the java.io.tmpdir system property, go to the Application Server Control's System Property page, which lists the values of system properties. If the directory specified by the java.io.tmpdir system property does not exist, create the directory and restart the server.

4.1.2 Limited Management Support for Multiple-JVM OC4J Instances

With Oracle Application Server 10g Release 3 (10.1.3), you can configure OC4J to use multiple Java Virtual Machines (JVMs) by setting the numprocs argument in the opmn.xml file to a number greater than one (1).

For example:

<ias-component id="OC4J">   <process-type id="home" module-id="OC4J" status="enabled">
        .
        .
        .
      <process-set id="default_group" numprocs="2"/>
   </process-type>
</ias-component>

However, this feature is not supported by Oracle Enterprise Manager 10g Application Server Control (Application Server Control). Instead, when the numprocs argument is set to more than one (1), you must use command line tools to manage your Oracle Application Server environment. For example, you must use:

  • admin_client.jar for deployment, re-deployment, undeployment, start and stop applications, and shared library management

  • Apache Ant for deployment, redeployment, and undeployment of your applications

  • opmnctl commands for starting, stopping, and other life cycle operations on the Oracle Application Server

For all other administrative configuration changes, if you are using multiple JVMs, you must shut down Oracle Application Server, manually configure the relevant XML files, and then restart Oracle Application Server.

4.1.3 OC4J Restart Required When Changing the Name or URL of a JDBC Data Source or Connection Pool

If you modify the name or the connection URL of a JDBC data source or JDBC connection pool, then you must restart the OC4J instance; otherwise the changes you make will not take effect.

For example, if you use the JDBC Resources page in the Application Server Control Console to change the connection URL of a JDBC connection pool, you will not be prompted to restart the OC4J instance, but the restart is required. If you do not restart the OC4J instance, any deployed applications that require the data source will attempt to use the original connection URL.


See Also:

"Managing Data Sources and JDBC Connection Pools" in the Application Server Control online help

4.1.4 Problem Removing a Property from a Native Data Source

If you use the Application Server Control Console to remove a property from a native data source, Enterprise Manager does not remove the property from the underlying connection factory. As a result, the property (and its current value) is not changed.

This is expected behavior. To set a value on the underlying connection factory, use the setProperty operation of the JDBCDataSource MBean for the native Data Source to do this. You can use the MBean Browser, which is available in the Application Server Control Console, to invoke an MBean operation.


See Also:

"About the MBean Browser" in the Application Server Control online help

4.1.5 Important Restriction When Setting Thread Pool Size on the Thread Pool Configuration Page

By default, the Thread Pool Configuration page in the Application Server Control Console shows a minimum thread pool size of one (1) for an unconfigured thread pool. This value is expected, but do not click OK on this screen with a minimum thread pool size set to one (1) for any thread pool.

If you are configuring OC4J thread pools using the Thread Pool Configuration Administration Task, be sure to replace the default value for the minimum thread pool size to a number that is greater than 10; otherwise, you will not be able to login to the Application Server Control Console the next time you restart the OC4J instance.

In the event that you set the minimum thread pool size to 1 and then click OK on the Thread Pool Configuration page, and as a result, you cannot access the Application Server Control Console, do the following:

  1. Stop the OC4J instance using the command line.

    For example, on a Microsoft Windows system, in a managed Oracle Application Server environment, enter the following command:

    ORACLE_HOME\opmn\bin\opmnctl stopall
    

    See Also:

    "Starting and Stopping" in the Oracle Application Server Administrator's Guide

    "Starting and Stopping OC4J" in the Oracle Containers for J2EE Configuration and Administration Guide


  2. Edit the server.xml file so that all thread pools are configured with a minimum pool size that is greater than 10.

    The server.xml for the OC4J instance is located in the following directory:

    ORACLE_HOME/OC4J_instance_name/config/
    

    For example:

    ORACLE_HOME/home/config/
    

Alternatively, to reset thread pool configuration to the default to factory settings, remove the <global-thread-pool> element and the <work-manager-thread-pool> element from the server.xml file.

4.1.6 Use the Cluster Topology Page to Restart the OC4J Instance

Some OC4J configuration pages in the Application Server Control Console (including the JTA Administration and Oracle Internet Directory Association pages) require a restart of the OC4J instance for changes to take affect.

If you use the Restart link, which is displayed after applying changes to one of these pages, the operation may take a few minutes because it performs an internal restart of the OC4J instance. Instead of using the Restart link, Oracle recommends that users navigate to the Cluster Topology page, select the affected OC4J instance, and then click Restart to perform a full restart of the OC4J instance. In a standalone OC4J environment, Oracle recommends that users use the command line to restart the OC4J instance.

4.1.7 TopLink Sessions Not Available in Application Server Control Console

If the TopLink Sessions for a TopLink-enabled application are not available in Application Server Control Console, check to be sure the TopLink session is configured to create the MBeans at login time. This is done by ensuring that the application has a serverPlatform class defined, and that the ServerPlatform class has its is RuntimeServicesEnabled flag enabled.

For Oracle Application Server 10g Release 3 (10.1.3), you should be using the following platform class, which can be set in the sessions.xml or through the session API:

oracle.toplink.platform.server.oc4j.Oc4j_10_1_3_Platform

When developing a TopLink-enabled application using Oracle JDeveloper, make sure to use version 11 or higher.


See Also:

"Configuring the Server Platform" in the Oracle TopLink Developer's Guide

4.1.8 Unable to Receive MBean Notification Using OPMN to Start or Stop OC4J

You will not be able to receive notification from the ias:j2eeType=J2EEServer,name... MBean entity if you start or stop Oracle Containers for J2EE (OC4J) using OPMN. This happens using either the Application Server Control or the opmnctl stop or opmnct start command from the command line.

There is presently no workaround for this issue.

4.1.9 Using the Java Server Pages Standard Tag Libraries

The Java Server Pages Standard Tag Library (JSTL) makes use of Jaxp 1.2 classes that are packaged with Java Developer Kit 1.4.

Oracle Application Server 10g Release 3 (10.1.3) makes use of JDK 1.5 which uses Jaxp 1.3 classes. However, the JSTL still requires the Jaxp1.2 classes. If you run the JSTL with XML related tags in JDK 1.5 you may receive an error message similar to:

: missing class org.apache.xpath.encounter failure.

To avoid JSTL failure, include the xalan.jar file in the required .war file. Add the xalan.jar file into your /WEB-INF/lib directory with the .war file and then re-package.

For more information refer to the JSTL release notes at:

http://java.sun.com/webservices/docs/1.6/jstl/ReleaseNotes.html.

4.1.10 Error While Generating Web Service

When generating a Web Service from a stored procedure including XSL transformation, and returned data contain non-English characters, an error will be thrown as follows:

java.sql.SQLException: Invalid UTF8 encoding. 

To workaround around this issue, in the oracle/j2ee/ws/tools/wsa/db/webservices10literal.properties file of ORACLE_HOME/webservices/lib/wsa.jar home, modify:

org.w3c.dom.Document _tmpDocument_ =db.parse(%1.getclobval().getAsciiStream());

to:

db.parse(new org.xml.sax.InputSource(__jRt_0.getclobval().getCharacterStream()));

4.1.11 Problem with Deployment of non-English Character Java Server Pages

When you deploy an application with non-English page character set Java Server Pages (JSPs) using a Web browser, accessing the JSPs leads to corresponding modification to the encoding setting of the Java-compiler. However, if you deploy applications which use the Java-compiler to compile auto-generated codes containing non-English characters (for example, an CMP application containing non-English characters as column names), an exception will be thrown as follows:

@ com.evermind.compiler.CompilationException: Syntax error in source or compilation failed. 

To workaround this problem:

  1. Shutdown OC4J

  2. Remove encoding="<SOME-ENCODING>" from the <java-compiler> element in the ORACLE_HOME/j2ee/home/comfig/server.xml file.

  3. Restart OC4J.

4.1.12 RMD Conditional Does Not Fully Evaluate

As documented in the Oracle Process Manager and Notification Server Administrator's Guide, a Resource Management Directive (RMD) conditional can have a fully qualified path. However, the conditional may not evaluate at all. It may fail to trigger any action or exception even though the opmn.xml file is valid.

RMD definitions can be either:

  • Hierarchical: if defined at the ias-instance level or lower. Hierarchical RMDs assume an association within the OPMN configuration components in which they are defined.

  • Global: if defined at the process-manager level. Global RMDs require explicit OPMN component specifications.

If you are referencing a hierarchical RMD, instead of a fully qualified path use a hierarchical relative reference.

For example, if the average request time is greater than 500 milliseconds for at least 60 seconds and there are less then 4 processes running for the process-set at which the hierarchical RMD was configured for OC4J, you would use the following in the opmn.xml file:

([process].avgReqTime > 500 {duration(60)})&([process-set].numProcs < 4)

If you are referencing a global RMD use a global absolute reference.

For example, if the heap size of a Java Virtual Machine (JVM) has exceeded 500 MBs, you would use the following in the opmn.xml file:

[process-set=home][process].heapSize > 500000

4.1.13 Additional Step Required When Configuring ODL Logging for Oracle HTTP Server

For Oracle Application Server 10g Release 3 (10.1.3.0.0), if you follow the instructions in section 5.4.3.1, "Configuring Oracle HTTP Server to Produce ODL Messages" in the Oracle Application Server Administrator's Guide, you must perform the following additional task in order for the Oracle HTTP Server diagnostic log (log.xml) to show up in the Application Server Control Log Viewer:

  1. Locate the following configuration file in the Oracle home where the Application Server Control (ascontrol) is deployed:

    ORACLE_HOME/j2ee/home/applications/ascontrol/ascontrol/WEB-INF/config
    /registration/OHS.xml
    
  2. Edit the OHS.xml file and locate the </logs> tag at the end of the file.

  3. Enter the following content immediately before the </logs> tag:

    <log path="Apache/Apache/logs/oracle" componentId="OHS">
       <logreader type="ODL"/>
       <logviewer LogType='ERROR' ComponentType='HTTP Server' ComponentName='
        ID_VLOGS_VIEW_DIAG_LOGS@oracle.sysman.ias.studio.logging.msg.LoggingMsg'>
           <property name='category' value='diagnostic'/>
       </logviewer>
    </log> 
    
  4. Restart the middle-tier instance.

    You can either restart the OC4J instance where Application Server Control is deployed or press the Page Refresh .gif file on the Log Files page.

4.2 Clustering and Replication Issues

This section describes clustering and replication issues. It includes the following topics:

4.2.1 State Replication Framework

The state replication framework that is used by Oracle Application Server has been upgraded with several fixes that resolve multicast state replication issues and enable redeployment of running applications that use the framework.

Before deploying applications using the state replication framework in a production environment, go to OracleMetaLink (http://metalink.oracle.com) and download and apply the required patch for Bug 4685049.

4.2.2 Using Oracle Universal Installer Provided Sample Cluster Discovery Address May Inadvertently Cluster Servers

Oracle Universal Installer provides an example cluster discovery address as part of the advanced installation option. The provide example discovery address is 225.0.0.1:6789. This is not a recommended address; rather it is an example intended to provide the type of cluster discovery address users may ask for from their network administrator.

Because the cluster configuration of Oracle Application Server is fully dynamic it is possible for installations using the example cluster discovery address (225.0.0.1:6789) to be inadvertently clustered with other servers installed with the same example cluster discovery address.

The cluster discovery address of a specific Oracle Application Server instance can be set from the command line using the following opmnctl command:

> $ORACLE_HOME/opmn/bin/opmnctl config topology update discover=<cluster config address> 

For example, to update a cluster discovery address in a specific Oracle Application Server instance to be 225.0.0.1:9876, the command would be:

> $ORACLE_HOME/opmn/bin/opmnctl config topology update discover="*225.0.0.1:9876" 

Details on configuring topologies and the cluster discovery address can be found in Chapter 8, "Configuring and Managing Clusters" of the Oracle Containers for J2EE Configuration and Administration Guide.

4.2.3 Configuration of Oracle Application Server Clusters

Oracle Application Server instances can be grouped together in clusters using the ORACLE_HOME\bin\opmnassociate command line utility or explicitly using the more comprehensive ORACLE_HOME\opmnctl command line tool.

Additional information on post-installation topology and cluster configuration can be found in Chapter 8, "Configuring and Managing Clusters" of the Oracle Containers for J2EE Configuration and Administration Guide.

4.3 Documentation Errata

The section describes documentation errata in management documentation. It includes the following topics:

4.3.1 Incorrect Recommendation for opmn.xml File Edit

In Section 3.1, "opmn.xml", of the Oracle Process Manager and Notification Server Administrator's Guide the following is incorrectly stated:

"You can edit the opmn.xml file using Application Server Control Console. Click the Process Management link at the bottom of the Oracle Application Server instance home page. Do not stop the OPMN server after you edit the opmn.xml file. Application Server Control Console automatically reloads the updated opmn.xml file after you edit the file."

The Oracle Application Server installation does not contain a Process Management link at the bottom of the Oracle Application Server instance home page.

Therefore, you must perform modifications to the opmn.xml file using a text editing program.

4.3.2 Incorrect Default Value for start-mode Element in Oracle HTTP Server opmn.xml file

The id="start-mode" default value for the opmn.xml file listed in the Oracle HTTP Server chapter of the Oracle Process Manager and Notification Server Administrator's Guide is incorrectly listed as ssl-enabled. The default value for id="start-mode" is ssl-disabled.

4.3.3 "retry" Attribute Not Valid for <ping> Element

Chapter 6, "opmn.xml Common Configuration", of the Oracle Process Manager and Notification Server Administrator's Guide lists retry as one of the attributes of the <ping> element. This is incorrect: the retry attribute cannot be used with the <ping> element.

You can set up a custom ping command in the opmn.xml file. For details, see chapter 10, "Configuring Custom Process", in the Oracle Process Manager and Notification Server Administrator's Guide.

4.3.4 Default Ping Timeout Value in OPMN Is 30 Seconds, Not 20

The Oracle Process Manager and Notification Server Administrator's Guide incorrectly states that the default ping timeout value is 20 seconds. It is actually 30 seconds.

4.3.5 Incorrect Remote Security Cross Reference

In Section 3.9.1, "Remote Security", of the Oracle Process Manager and Notification Server Administrator's Guide, there is an incorrect cross-reference to the Oracle Application Server Security Guide regarding more information about wallets, the orapki utility and other security issues. These references are incorrect. The Oracle Application Server Administrator's Guide contains information about security for the Oracle Application Server 10g Release 3 (10.1.3).

4.3.6 Incorrect Note for AggreSpy in Performance Guide

In Section A.2.1, "Using the AggreSpy Display", of the Oracle Application Server Performance Guide, the note that mentions that "You can only run AggreSpy when the home OC4J instance is running", is incorrect and should be removed. The running OC4J instance can be any OC4J instance.

In the same note, the sentence, "Using an OracleAS Infrastructure, the home instance needs to be started to use AggreSpy, since by default the home instance is installed with OracleAS Infrastructure, but it is not started." should be removed.

4.3.7 AggreSpy Security Information Update

In Section A.2.3, "AggreSpy URL and Access Control", of the Oracle Application Server Performance Guide, the information on viewing metrics from a system other than the localhost is incomplete. To view metrics from other than the localhost, you also need to modify the /dmsoc4j location in the dms.conf file to allow access from a specific host, or from all hosts. By default, access is denied from all.

For example, to allow access from all hosts, modify dms.conf as follows:

<Location /dmsoc4j>
   SetHandler oc4j-handler
   Allow from all   
 </Location>

4.3.8 Incorrect Ports Listed in the Oracle Application Server Administrator's Guide

In Table D-1, "J2EE and Oracle HTTP Ports", in the Oracle Application Server Administrator's Guide, the allotted port range is incorrectly listed for the Listen (SSL) and SSL ports. The correct port numbers are as follows:

For the Listen (SSL) port:

  • Allotted port range: 4443 - 4543

  • Default port number: 4443

For the SSL port:

  • Allotted port range: 4443 - 4543

  • Default port number: 4443

4.3.9 Enabling and Disabling Components Is Supported

The Oracle Application Server Administrator's Guide incorrectly states that enabling and disabling components is not supported. Although it is not supported in Application Server Control Console, it is supported by OPMN. For more information on enabling and disabling components, see the Oracle Process Manager and Notification Server Administrator's Guide.

4.3.10 Incorrect Oracle Diagnostic Logging (ODL) Properties

In Oracle Application Server Administrator's Guide 10g, Release 3, Table A-2, Oracle Diagnostic Logging (ODL) Properties, two properties are listed incorrectly:

  • emiasconsolelogging.properties is incorrect; it is ascontrollogging.properties.

  • emiaslogAppender is incorrect; it is ascontrollogAppender.

4.3.11 Incorrect Information About Diagnostic Message Format by Component

In Oracle Application Server Administrator's Guide 10g, Release 3, Table 5-1 Diagnostic Message Format by Component, the component Application Server Control is listed as not having ODL support. The correct entry should be Yes.

4.3.12 Incorrect request Attribute Description

In Oracle Process Manager and Notification Server Administrator's Guide, section 6.2, "opmn.xml Element and Attribute Descriptions", the request attribute description contains the following incorrect statement:

"The request attribute is for the IP address or host name to which ONS will bind its remote port."

The correct statement is:

"The request attribute is for the IP address or host name to which ONS will bind its request port."

4.3.13 Incorrect Title

In Section 7.6, "Generic Apache (Linux only)", of the Oracle Process Manager and Notification Server Administrator's Guide the title is incorrect. The listed configuration for the Oracle HTTP Server process module to manage generic Apache processes is valid for Linux and Microsoft Windows operating systems.