Tuesday, 30 April 2013

Oafm,Forms and Oacore Not Starting Up

Oafm,Forms and Oacore Not Starting Up After IP Address Change [ID 412980.1]

Applies to:

Oracle Applications Manager - Version: 12.0.0 to 12.1.3 - Release: 12 to 12.1
Oracle Application Install - Version: 12.0.0 to 12.1.3   [Release: 12 to 12.1]
Oracle Applications Technology Stack - Version: 12.0 to 12.1.3   [Release: 12.0 to 12.1]
Linux x86-64
Microsoft Windows (32-bit)
Oracle Solaris on SPARC (64-bit)
Application Install - Version: 12.0.0 to 12.1.3
***Checked for relevance on 17-Apr-2011***


Checked for relevance by ATG-ICM Subject Matter Expert (SME): 01-February-2007

oafm, forms and oacore not starting up after IP adress change of the Oracle Applications Server                    

Error from the logs:

adformsctl.sh or adformsctl..cmd: exiting with status 204
adoafmctl.sh or adoafmctl.cmd: exiting with status 204
adoacorectl.sh or adoacorectl.cmd: exiting with status 204

Processes in Instance: PROD_xxxx.xxxx.com

iAS Component process-type pid Status


A change has taken place at the network level since you last started this OC4J instance


The OC4J lock files contains the IP adress, after the ip adress change the lock files includes the wrong Ip  adress which caused the OJ4J to fail


1 - Be sure to have a valid Backup
2 - Open a new shell and set your apps environment
4 - adopmnctl.sh stop or adopmnctl.cmd stop for windows

5 - Check if it is really down: ps -ef | grep <USER> grep opm for windows check if all java.exe processes are gone.

6 - Delete the following:

rm -fr $INST_TOP/ora/10.1.3/j2ee/oacore/persistence/*
rm -fr $INST_TOP/ora/10.1.3/j2ee/oafm/persistence/*
rm -fr $INST_TOP/ora/10.1.3/j2ee/forms/persistence/*

for windows

rm -fr %INST_TOP%\ora\10.1.3\j2ee\oacore\persistence\*
rm -fr %INST_TOP%\ora\10.1.3\j2ee\oafm\persistence\*
rm -fr %INST_TOP%\ora\10.1.3\j2ee\forms\persistence\*

Use use the explorer to validate if they are deleted for windows.

6 - Execute autoconfig at the Application Tier
7 - Start all Applications Services
8 - Check if the issue has been resolved: adapcctl.sh status or for windows adapcctl.cmd status


 APP-PO-14180 The Forward-To Person Is Not An On-Line User' Message When Forwarding Requisition To A Disabled User [ID 743249.1]


Applies to:

Oracle Purchasing - Version 11.5.9 to 12.1 [Release 11.5 to 12.1]
Information in this document applies to any platform.
FORM:POXDOFDO.FMB - Forward Documents
***Checked for relevance on 07-Dec-2013***


When user forwards a Purchase Requisition 'In Process' to an inactive user, using Forward
Documents form, the following situation happens:

A first note appears: 'APP-PO-14180: The forward-to person is not an on-line user'
Then a second note saying: 'When forwarding a requisition, you must enter a valid person in the 'Forward To' Field' and afterwards:
'FRM-40400: Transaction complete: 1 records applied and saved'

and the document remains stuck in In Process, and in Action History form can be seen: 'No action taken' by the initial approver.
Steps To Reproduce:
1.User creates a purchase requisition
2.Submit it for approval
3.Use forward form to forward in-process requisition to an inactive approver


In the Forward Documents form, there is no check in the 'New approver' list of values to see if the user associated with the employee is active. Hence even the employees associated with disabled users were enabled for selection.


To implement the solution in version 11.5.9, please execute the following steps::
1. Download and review the readme and pre-requisites for Patch 7218971.

2. Ensure that you have taken a backup of your system before applying the recommended patch.

3. Apply the patch in a test environment.

4. Confirm the following file versions:
POXDOFDO.fmb 115.30.1159.8
You can use the commands like the following:
strings -a $PO_TOP/forms/US/POXDOFDO.fmx | grep Header

5. Retest the issue.

6. Migrate the solution as appropriate to other environments.
For Release 12, run the approval chain diagnostic to identify the employee associated with a disabled user. Reference Note 1316098.1
For 11.5.10 application releases, fix will be included in unpublished Bug 7272590 - FP1159-11510:FORWARDING DOCS TO DISABLED USERS THROUGH FORWWARD DOCUMENTS FORM.
For R12, fix will be included in unpublished Bug 7272594 - FP1159-R12:FORWARDING DOCS TO DISABLED USERS THROUGH FORWWARD DOCUMENTS FORM.

OPMN Troubleshooting


Unable to start an Oracle Application Server process using OPMN.

Try the following if you are unable to start an Oracle Application Server process using OPMN:
Verify and if necessary, correct, the command input. Confirm the spelling and choice of option for the command you are entering.

  • Review the standard out output log for the Oracle Application Server process. Output from the process console is located in the ORACLE_HOME/opmn/logs directory. For example, the standard output log for OracleAS Web Cache may be WebCache~WebCacheAdmin~1.
  • Verify the dependency requirements for the Oracle Application Server process you are attempting to start. For example, the Oracle Application Server process you want to start may require that the Oracle Application Server Metadata Repository be up and running.
  • Verify the element values for the Oracle Application Server component in the opmn.xml file. Use the opmnctl validate command to verify configuration of opmn.xml file. You may have mis-configured the opmn.xml for the Oracle Application Server component you are attempting to start.

Do not use command line scripts or utilities from previous versions of Oracle9iAS for starting OPMN or Oracle Application Server components.


Your Oracle Application Server processes are dying or unreachable.


If your Oracle Application Server processes are dying or unreachable:
  • Look at the ORACLE_HOME/opmn/logs/ipm.log for Oracle Application Server processes at level of 4 or higher. Look for process crashed or process unreachable messages. OPMN automatically restarts Oracle Application Server processes that die or become unresponsive.
  • Create event scripts for any pre-stop or post-crash events. The event scripts could be used to create a specific log file or send you an email about a failure.

  • Review the Oracle Application Server component specific output in the ORACLE_HOME/opmn/logs.
  • Review the Oracle Application Server component specific log file located in Oracle Application Server component directory.
    Use iHAT to view the actions of Oracle Application Server .

    opmnctl Command Execution Times Out


    The time it takes to execute an opmnctl command is dependent on the type of Oracle Application Server process and available computer hardware. Because of this the time it takes to execute an opmnctl command may not be readily apparent.
    The default start time out for OC4J is approximately five minutes. If an OC4J process does not start-up after an opmnctl command, OPMN will wait approximately an hour before timing out and aborting the request.

    To verify successful execution of the opmnctl command, try the following:
  • Increase the start element timeout attribute for the component that is not starting. Set the timeout in the opmn.xml file at a level that will allow OPMN to wait for process to come up. This functionality is available with the startproc command which will start all the relevant processes configured in opmn.xml.
  • Check the start element in the opmn.xml file and change the retry attribute to a higher increment of time.
  • Look at the ORACLE_HOME/opmn/logs/ for the Oracle Application Server process that is not starting.
  • Review the component-specific log file for the Oracle Application Server component that is not starting. For example, ORACLE_HOME/discoverer/logs.
  • Examine the ORACLE_HOME/opmn/logs/ipm.log for any indication of problems. Increase the log level in the file to obtain additional information.
  • Contact Oracle Technical Support.
If you are having difficulty with an Oracle Application Server instance that is part of a farm, review the ons.log file for the Oracle Application Server instance. The "attempting active connection init" message in the ons.log file indicates that there is another OPMN configured in the farm that is currently shut-down. OPMN tries to consistently connect to the shut-down OPMN. Use the listed steps to determine why the down OPMN is not running.

 Oracle Application Server Component Automatically Restarted by OPMN

An Oracle Application Server component is automatically restarted by OPMN.
If an Oracle Application Server component is automatically restarted by OPMN, try the following:
  • Review the message for the Oracle Application Server component in the ipm.log file.
  • Verify that the ping timeout for the Oracle Application Server component is sufficient. An Oracle Application Server component that receives a lot of activity may require an increase in the length of time for the timeout. Increase the ping timeout element in the Oracle Application Server component opmn.xml file.

 Unexpected opmnctl start Behavior


Occasionally, there is unexpected behavior when you use the opmnctl start command to start OPMN; either only OPMN is started or OPMN makes a best effort to start Oracle Application Server OPMN-managed processes. Typically, this unexpected behavior is due to turning-off or rebooting your computer without first shutting down OPMN. When you restart your computer, all OPMN-managed processes are started.

Oracle recommends that you shutdown OPMN before shutting down your computer. Use the opmnctl stopall command to stop OPMN and OPMN-managed processes.
On the Microsoft Windows operating system, you can use the Windows services control panel to stop OPMN and OPMN-managed processes.

OPMN keeps a record on disk of the expected status of the processes it manages. If a computer goes down while OPMN is running, upon restart OPMN will use the information cached on disk and make a best effort attempt to automatically restart all processes that were running at the time the system went down. This may catch some users off guard who start only OPMN and notice that processes managed by OPMN have also been started even though an explicit request to start those processes has not been issued. You can suppress this automatic process recovery by removing all files located in the ORACLE_HOME/opmn/logs/states directory before attempting to start OPMN. The states directory and its contents should not be modified by the user if OPMN or any process managed by OPMN is running. Oracle recommends not modifying the /states directory.

 Disabled Element in the opmn.xml File


Unable to start an Oracle Application Server process.
If you are unable to start an Oracle Application Server process, check if an element in the Oracle Application Server opmn.xml file is disabled. If an element in the opmn.xml file is disabled OPMN will generate an output message of "Missing" or "Disabled".

 Management of Oracle9iAS Release 2 (9.0.2 and 9.0.3) Instances

By default, the SSL element in the Oracle Application Server 10g Release 2 (10.1.2) opmn.xml file is enabled; however, the SSL element is not enabled in the opmn.xml file for Oracle9iAS Release 2 (9.0.2 and 9.0.3).
If you have an Oracle Application Server farm containing Oracle9iAS Release 2 (9.0.2 and 9.0.3) instances you must enable the SSL element in the Release 2 opmn.xml file. Refer to the Oracle9i Application Server Administrator's Guide, Release 2 (9.0.2) for the steps to enable the SSL element.

 Unable to Start OC4J

If you have multiple Oracle Application Server installations on one host and you start them at the same time (for example, to start a cluster), OPMN may become unresponsive. You may receive an error message such as:
"failed to restart a managed process after the maximum retry limit"

This may occur when two Oracle homes on the same host use the same port ranges for RMI, JMS, and AJP ports. An OC4J instance in one Oracle home is trying to use the same port as an OC4J instance in a different Oracle home.Port allocation for all OC4J instances within Oracle Application Server is controlled by OPMN; there can be overlapping port ranges within a single opmn.xml file. However, when two OPMN processes on a host start at the same time, there is no coordination between them on port usage.
To coordinate port usage, assign unique port ranges to each Oracle home. The OPMN process in one Oracle home and the OPMN in a different Oracle home will not attempt to use the same port numbers when assigning OC4J ports, and will not attempt to bind to the same port.
It is also recommended that you increase the maximum number of retries for starting OC4J instances. If you have identical port ranges in two Oracle homes and increase the number of times OPMN attempts to restart a process, OPMN will eventually select a port that works. This technique ultimately does not eliminate the problem, because there is the possibility that OPMN will not find a port that works in the number of port connection attempts that you have specified in the opmn.xml file.

Unable to Stop Component

If you are unable to stop Oracle Application Server components or OPMN-managed processes using the opmnctl stop or opmnctl stopall commands, the component or process was most likely not started using OPMN. The component or process might have been started using a startup script or utility.
Oracle Application Server components and OPMN-managed processes should never be started or stopped manually. Do not use command line scripts or utilities from previous versions of Oracle Application Server for starting and stopping Oracle Application Server components.
Use the Application Server Control Console and the opmnctl command line utility to start or stop Oracle Application Server components and OPMN-managed processes.

Oracle Application Server start and stop scripts for OPMN and OPMN-managed processes are available on the Oracle Application Server Metadata Repository Creation Assistant installation disc.

globalInitNLS Error

You may receive a globalInitNLS error when executing the opmnctl command. The following error message is displayed:
"globalInitNLS: NLS boot file not found or invalid -- default linked-in boot block used XML parser init: error 201."

This error occurs when the ORA_NLS33 environmental variable is set. This environmental variable should not be set.

Start Remote Hosts of a Cluster Independently

Starting a cluster of remote hosts using Application Server Control Console will result in an unknown status. This occurs because ONS is bound to the local host IP address and it is not reachable from remote hosts.
Oracle recommends starting each member of the cluster independently to effectively monitor and obtain the status from remote hosts. Additionally, make sure ONS is not bound to local host IP address.

 Log Loader Not Started

If you run the opmnctl status command following the successful execution of the opmnctl startall or opmnctl startproc command, the status output indicates Log Loader status as down.
By default, the Log Loader element in the opmn.xml file is not configured to start when you execute the opmnctl startall or opmnctl startproc command.
To start Log Loader, perform the following steps:
  1. Select the Logs link on the Application Server Control Console page.
  2. From the View Logs page select the Search Log Repository link.
  3. On the View Logs page, click Log Loader.
  4. On the Log Loader page, click Start.
  5. On the confirmation page select either Cancel, Start, or Start and Load Existing Logs.
    On the confirmation page you can:
    • select Cancel to cancel use of Log Loader
    • select Start to start the Log Loader and not load current contents of the logs. The Log Loader will only load log messages that are written to the logs after the log loader is started.select Start and Load Existing Logs to start the Log Loader and load current contents of all log files.
You can also start and stop Log Loader using the following commands:
  • prompt > opmnctl startproc ias-component=LogLoader
  • prompt > opmnctl stopproc ias-component=LogLoader
The opmnctl startproc ias-component=LogLoader command is equivalent to the Start and Load Existing Logs selection available on Application Server Control Console.

 dcm-daemon Not Started

After you run the opmnctl startall or opmnctl startproc command and then run the opmnctl status command, the status output indicates that the dcm-daemon is in Down status.
By default, the dcm-daemon element in the opmn.xml file is not configured to start when you execute the opmnctl startall or opmnctl startproc command. The dcm-daemon is started automatically by any DCM client tool, either the dcmctl command or Application Server Control Console, during initialization phase. Typically, there is no need to start the dcm-daemon explicitly.
If you want to explicitly start the dcm-daemon, use the following command:
prompt > opmnctl startproc ias-component="dcm-daemon"

You may be required to start the dcm-daemon explicitly in certain configurations. For example, if you are performing an Oracle Application Server cluster wide DCM operation. To deploy an application on the cluster, the dcm-daemon needs to be running on all Oracle Application Server instances in the cluster. If you execute the dcmctl command on a local Oracle Application Server instance, it will start the dcm-daemon on the local instance but it will not start the dcm-daemon on the other instances in the cluster.

SSL Handshake Failed

You receive a SSL handshake failed error message similar to the following in your ons.log file:
"Connection SSL handshake failed"

in your ons.log file.
The SSL handshake failed error message occurred most likely because the SSL enable attribute of ONS in the opmn.xml file does not have the same value. The SSL enable values of either true or false must be consistent for all OPMN servers in the application server farm.

OPMN Start Up Consumes CPU Processing Capability

On some computers, when OPMN starts up, it consumes large amounts of CPU processing capability. This can vary from approximately 50% to 60% of your computer's CPU processing capabilities. In affected computers, the OPMN CPU processing consumption will continue until OPMN is shutdown.
The following are some possible causes for the excessive CPU processing consumption:
  • the installation environment used multi-byte text character sets such as Japanese.
  • the ONS topology is mis-configured.
    For example, if the ons.conf files for Oracle Application Server instances across the Oracle Application Server Farm may get out of sync. The contents of ons.conf file must be the same for each Oracle Application Server instance in the Farm. If the ons.conf file contents in each Oracle Application Server instance are not the same, atypical topology loops can occur that multiply each notification managed by ONS by a factor of two.
  • the computer has multiple network interface cards (NICs)
    The hostname or IP value configured for OPMN in the opmn.xml file does not match the corresponding entry in the ons.conf file. OPMN reconnects to itself over and over, thereby increasing CPU usage.

Error Messages During Start-up of OPMN

When trying to start OPMN using the opmnctl start or opmnctl startall commands you receive the following error messages:
pingwait exits with 1220384

pingwait exits with 1220396

These error messages are generated when there are syntax errors in the ORACLE_HOME/opmn/conf/opmn.xml that need to be corrected.
If you encounter these error messages do the following:
  • run the following command (with the complete directory path to the opmn.xml file):
    prompt > opmnctl validate opmn.xml
  • remove all empty tags from the opmn.xml file.
  • run the following command to update the repository configuration:
    prompt > dcmctl updateconfig

Diagnosing OPMN Problems

There are several methods for troubleshooting any problems you may have using OPMN:

OPMN log Files

The OPMN log files enable you to troubleshoot difficulties you might have in execution and use of OPMN and OPMN-managed processes. OPMN and OPMN-managed processes generate log files during processing. You can review the following generated log files to verify successful or unsuccessful execution of an OPMN command:
  • ORACLE_HOME/opmn/logs: The standard output and standard error of OPMN managed processes. These files are also sometimes referred to as "console logs". OPMN creates a log file for each component and assigns a unique concatenation of the Oracle Application Server component with a number. For example, the standard output log for OracleAS Web Cache may be WebCache~WebCacheAdmin~1. When a process terminates and is replaced by a new process, console log output from the previous process is preserved and the replacement process appends to the end of the console log file. The process specific console logs are the first and best resource for investigating problems related to starting and stopping components.

  • ORACLE_HOME/opmn/logs/ipm.log: Review the error codes and messages that are shown in the ipm.log file. The PM portion of OPMN generates and outputs the error messages in this file. The ipm.log file tracks command execution and operation progress. The level of detail that gets logged in the ipm.log can be modified by configuration in the opmn.xml file.

  • ORACLE_HOME/opmn/logs/ons.log: Use the ons.log file to debug the ONS portion of OPMN or for early OPMN errors. The ONS portion of OPMN is initialized before PM, and so errors that occur early in OPMN initialization will show up in the ons.log file.

  • ORACLE_HOME/opmn/logs/opmn.log: The opmn.log file contains output generated by OPMN when the ipm.log and ons.log files are not available. Typically, the only output written to the opmn.log file will be the exit status of a child OPMN process. A status code of 4 indicates a normal reload of OPMN. All other status codes indicate an abnormal termination of the child OPMN process.
  • ORACLE_HOME/opmn/logs/service.log: (Microsoft Windows only). The service.log displays any error messages generated by OPMN services while interacting with service control manager.

opmnctl debug

Use the opmnctl debug command to verify the status of an Oracle Application Server process and whether any actions are pending. This command generates output that can be used in conjunction with contact to your local Oracle support to diagnose your OPMN problem.
The syntax for the opmnctl debug command is:

opmnctl [<scope>] debug [comp=pm|ons] [interval=<secs> count=<num>]

where @scope is the optional scope for the request.
Output is generated following execution of the opmnctl debug command. Oracle recommends that you contact Oracle support to use the generated output to assist in diagnosis of your problem.
The attributes (<attr>) name for this command are either comp, interval, or count. The value for comp can be either ons or pm, representing ONS and PM, respectively. If comp is not specified, then both ons and pm debug information is reported. For example, the following command outputs debug information for ONS.

prompt > opmnctl debug comp=ons

You can specify the interval in seconds and number of requests sent to OPMN to assist in the debugging process. The values of <interval> and <count> must always be specified together. Values for them should be integers greater than 0. For example, the following command, outputs debug information at an interval of 5 seconds 3 times.

prompt > opmnctl debug comp=pm interval=5 count=3

Contact your local Oracle support to assist you in using the opmnctl debug command to diagnose your OPMN problem.


Use the iHAT tool to provide a real time, graphical interface view of your enterprise. iHAT displays all Oracle Application Server processes managed by one or more OPMN servers including useful performance metrics about each process as obtained from DMS. The snapshot of the system is updated continuously at a configurable interval.
To download iHAT, visit the OTN:

Oracle Enterprise Manager 10g Application Server Control Console

Application Server Control Console provides a graphical interface that enables diagnosis of Oracle Application Server components in your network and enterprise. Application Server Control Console features a log page. The log page enables you to view all of the Oracle Application Server log files in one place and trace problems across multiple log files. Application Server Control Console uses an API that contacts OPMN.
You can use Application Server Control Console to enable or disable Oracle Application Server components: You can disable components so they do not start when you start an Oracle Application Server instance.

A.2.5 Troubleshooting with Event Scripts

You can create your own event scripts that record Oracle Application Server process event activities. You can create a script that records events prior to the start or stop of Oracle Application Server processes, as well as an unscheduled system crash.
Refer to the <event-scripts> element description in Chapter 3, "opmn.xml Common Configuration".
Example A-1 shows a pre-start event script.
Example A-1 Pre-start Event Script
echo =---===----======---=-----=-----=------======----===---=
echo =---===----===== PRE-START EVENT SCRIPT =====----===---=
echo =---===----======---=-----=-----=------======----===---=

stderrPath="N/A"  # not available w/pre-start unless part of restart
stdoutPath="N/A"  # not available w/pre-start unless part of restart
pid="N/A"         # only available with pre-stop, post-crash
startTime="N/A"   # only available with pre-stop, post-crash

while [ $# -gt 0 ]; do
     case $1 in
        -timeStamp)    timeStamp=$2; shift;;
        -instanceName) instanceName=$2; shift;;
        -componentId)  componentId=$2; shift;;
        -processType)  processType=$2; shift;;
        -processSet)   processSet=$2; shift;;
        -processIndex) processIndex=$2; shift;;
        -stderr)       stderrPath=$2; shift;;
        -stdout)       stdoutPath=$2; shift;;
        -reason)       reason=$2; shift;;
        -pid)          pid=$2; shift;;
        -startTime)    startTime=$2; shift;;
        *) echo "Option Not Recognized: [$1]"; shift;;

echo timeStamp=$timeStamp
echo instanceName=$instanceName
echo componentId=$componentId
echo processType=$processType
echo processSet=$processSet
echo processIndex=$processIndex
echo stderr=$stderrPath
echo stdout=$stdoutPath
echo reason=$reason
echo pid=$pid
echo startTime=$startTime

A.2.6 opmn.xml Environment Variables

The environment variable used to launch OPMN server is not inherited by the Oracle Application Server process started by OPMN server. OPMN sets the environment variables at the ias-instance level, with the values extracted either from the ias-instance configuration or from the OPMN run time environment.

adopmnctl.sh exiting with status 204

opmnctl: opmn is already running.

Before you start any troubleshooting, please do the following:

- Stop all the application services

- Issue "ps -ef | grep applmgr" -- Assuming applmgr is the application tier files owner

- Kill all the processes manually (in case any still running)

- Delete the following files:

$ rm -fr $INST_TOP/ora/10.1.3/j2ee/oacore/persistence/*
$ rm -fr $INST_TOP/ora/10.1.3/j2ee/oafm/persistence/*
$ rm -fr $INST_TOP/ora/10.1.3/j2ee/forms/persistence/*

- Start the application services and see if you get the same error

we run” adocorectl.sh status” to check the OC4J status, yes from OC4J total of 4 services, 1 is down.

OC4J oafm N/A Down
OC4J forms N/A Down
OC4J oacore N/A Down

HTTP_Server HTTP_Server 29760Down

we googling a little and found this steps is solving the problem :

1.Stop Oracle Apps Tier (Stop Oracle Apps Servies)

2. cd $INST_TOP/ora/10.1.3/j2ee

rm -fr oacore/persistence/*
rm -fr oafm/persistence/*
rm -fr forms/persistence/*

3.Start Oracle Apps Tier (Start Oracle Apps Servies)

Yes ! Apps Tier is all running now.

adoacorectl.sh: exiting with status 204 & exiting with status 150

adoacorectl.sh: exiting with status 204 & exiting with status 150


When  i was trying to start one of of TEST R12.1.1 applicaiton script "adoacorectl.sh" is exiting with error "adoacorectl.sh: exiting with status 204" and when trying to stop its exiting with error "adoacorectl.sh: exiting with status 204"

Error Stack when trying to start:

Executing service control script:
/u01/applR12/inst/apps/TEST_linuxerp1/admin/scripts/adoacorectl.sh start
script returned:

You are running adoacorectl.sh version 120.13

Starting OPMN managed OACORE OC4J instance  ...

adoacorectl.sh: exiting with status 204

adoacorectl.sh: check the logfile /u01/applR12/inst/apps/TEST_linuxerp1/logs/appl/admin/log/adoacorectl.txt for more information ...

[applerp@linuxerp1 scripts]$ adopmnctl.sh status

You are running adopmnctl.sh version 120.6

Checking status of OPMN managed processes...

Processes in Instance: TEST_linuxerp1.linuxerp1.orasol.com
ias-component                    | process-type       |     pid | status
OC4JGroup:default_group          | OC4J:oafm          |   12478 | Alive
OC4JGroup:default_group          | OC4J:forms         |   12394 | Alive
OC4JGroup:default_group          | OC4J:oacore        |     N/A | Down
HTTP_Server                      | HTTP_Server        |   12147 | Alive

adopmnctl.sh: exiting with status 0

adopmnctl.sh: check the logfile /u01/applR12/inst/apps/TEST_linuxerp1/logs/appl/admin/log/adopmnctl.txt for more information ...

[applerp@linuxerp1 scripts]$

Error Stack when trying to stop:

Executing service control script:
/u01/applR12/inst/apps/TEST_linuxerp1/admin/scripts/adoacorectl.sh stop
script returned:

You are running adoacorectl.sh version 120.13

Stopping OPMN managed OACORE OC4J instance ...

adoacorectl.sh: exiting with status 150

adoacorectl.sh: check the logfile /u01/applR12/inst/apps/TEST_linuxerp1/logs/appl/admin/log/adoacorectl.txt for more information ...

=> Stop application services
=> Clear contents of the persistence directory 
=> Start application services

[applerp@linuxerp1 scripts]$ cd $ORA_CONFIG_HOME/10.1.3/j2ee/oacore

[applerp@linuxerp1 oacore]$ ls
application-deployments  config  persistence  tldcache
[applerp@linuxerp1 oacore]$ rm -rf persistence/
You have new mail in /var/spool/mail/applerp
[applerp@linuxerp1 oacore]$ mkdir persistence 

[applerp@linuxerp1 scripts]$ adopmnctl.sh status

You are running adopmnctl.sh version 120.6

Checking status of OPMN managed processes...

Processes in Instance: TEST_linuxerp1.linuxerp1.orasol.com
ias-component                    | process-type       |     pid | status
OC4JGroup:default_group          | OC4J:oafm          |   13872 | Alive
OC4JGroup:default_group          | OC4J:forms         |   13804 | Alive
OC4JGroup:default_group          | OC4J:oacore        |   13723 | Alive
HTTP_Server                      | HTTP_Server        |   13671 | Alive

adopmnctl.sh: exiting with status 0

adopmnctl.sh: check the logfile /u01/applR12/inst/apps/TEST_linuxerp1/logs/appl/admin/log/adopmnctl.txt for more information ...

[applerp@linuxerp1 scripts]$

Start and Stop Apache Web Server under Linux Operating System.

Linux Start an Apache Web Server

Q. How do I start an Apache Web Server under Linux Operating systems?

A. You can easily start / stop Apache web server using a shell prompt. If your webserver is located in other data center login using ssh and type the following command as per your Linux distribution.

Red Hat / RHEL / Fedora / CentOS Linux start an Apache webserver command

Type the following command:
# /etc/init.d/httpd start

To stop Apache server, enter:
# /etc/init.d/httpd stop

Debian / Ubuntu Linux start / stop an Apache webserver command

Type the following command:
# /etc/init.d/apache2 start

To stop Apache server, enter:
# /etc/init.d/apache2 stop

Generic apachectl / apache2ctl command

apachectl is Apache HTTP server control interface command, which can be used to stop or start web server under any Linux distribution or UNIX.

Start the Apache httpd daemon. Gives an error if it is already running. This is equivalent to apachectl -k start:

# apachectl start

Stops the Apache httpd daemon. This is equivalent to 'apachectl -k stop' command:

# apachectl stop

Restarts the Apache httpd daemon. If the daemon is not running, it is started:

# apachectl restart

apache2ctl is for Apache Webserver version 2 and only available under Debian or Ubuntu Linux:

# apache2ctl start
# apache2ctl stop
# apache2ctl restart


After deploying OAF files to application server, you need to restart Apache server to take effect of changes done.  Below are the steps to bounce apache server in R12.

Go to $COMMON_TOP/admin/scripts

1. adapcctl.sh stop                   --        Stop Oracle HTTP Server (OHS) instance
2. adoacorectl.sh stop              --        Stop OPMN managed OACORE OC4J instance

3. adapcctl.sh start                    --       Start Oracle HTTP Server (OHS) instance
4. adoacorectl.sh start               --       Start OPMN managed OACORE OC4J instance

Note:  Any changes in your java code requires restart of apache services. 

Friday, 26 April 2013

VNC Server and VNC Viewer

Virtual Network Computing (VNC) is a technology that allows you to remotely connect to a computer (a server) over a network or the Internet using another computer (a client). This can be useful if you need to look at a file you've left on your home computer or if you'd like to remotely peek in on your PC while you're away. By installing a VNC Server on your home computer and a VNC Viewer on your remote computer, you'll be able to control your home PC from anywhere.

 Instructions Using VNC Server-

Download and install a VNC Server. There are several VNC options out there, most of them free. Take a look at applications like TightVNC, RealVNC and UltraVNC (see Resources).

Right-click on the VNC Server icon located in the Windows taskbar and choose "Configuration." This will allow you to make changes to your VNC Server configuration, including the password needed for a client to connect. When you are finished configuring the VNC server, click "OK."

Hover your mouse over the VNC Server icon in the task bar. This will pop up a string of text that tells you the IP address of your computer on the network or Internet. Write this down--you'll need it to connect to your PC remotely using the VNC Viewer software.

Using VNC Viewer

  • Download and install a VNC Viewer client. You can find Viewer software on the same website you downloaded the Server software from (see Resources). The VNC Viewer is the application you'll use to remotely connect to your home PC.
  • Run the VNC Viewer software. A pop-up box will display with a field labeled "VNC Server." Type the IP address you wrote down earlier for the VNC Server and click "Connect." Enter the password for the VNC Server when prompted.
  • Allow the connection to be established. Your home PC should show up on your remote computer's screen. You'll experience a bit of lag as you navigate around your home computer, but you'll be able to use it as though you were right in front of it. You can use your remote computer's mouse and keyboard to click and type on your home computer, run software applications, shut down your PC and more.

Tips & Warnings

·         If your home computer is behind a router and you try to connect through the Internet, you may experience issues. You'll need to consult your router's user manual to learn how to enable port forwarding for your VNC Server.

Wednesday, 24 April 2013

Putty Configure

Using PuTTY and Xming for X11 Forwarding

The X Window System, or X11, is the window server for Linux. If you’ve used a desktop Linux distribution like Fedora or Ubuntu, you’ve used X11. Desktops like GNOME and KDE are displayed by X11. Programs that you open on a Linux desktop are displayed by X11.
Usually, when you want to connect to your Linux computer from a remote location, you do so with SSH (Secure Shell). SSH lets you make a secure terminal connection to your Linux computer and use the command line. But, wouldn’t it be cool to connect to your remote Linux computer and use its fancy graphical interface? This tutorial will show you how to connect to a remote Linux computer from Windows and use the X11 graphical interface using two free programs, PuTTY and Xming.


PuTTY is a free SSH client that allows you to connect to a remote Linux computer and use the command line. PuTTY can also be used to forward secure data over SSH to other programs. This is called tunneling. We’re going to be taking advantage of PuTTY’s ability to tunnel X11 data. To do that, we first need to install PuTTY.

Installing PuTTY

  1. Download putty.exe to your Windows desktop from the following address:
  2. There is no installer. Putty.exe is a self-contained executable program. Put it someplace you can easily find it, and make a desktop shortcut to it if you like. I usually put it in C:\Program Files.

Creating a PuTTY Session to Connect to Your Remote Linux Computer

When you connect to your remote Linux computer, you will need to set several connection settings to make everything work correctly. PuTTY lets you save these settings in a session so you can reuse them the next time you connect. We’ll make a session that allows PuTTY to forward your Linux computer’s X11 graphical interface over SSH.
  1. Open PuTTY on your Windows desktop.
  2. PuTTY will open and display the Session panel.
    1. In the Host Name field, type the hostname or IP address of your Linux computer.
    2. In the field underneath the Saved Sessions label, type a name for your saved session.
    PuTTY Session Configuration Screenshot
  3. Under the Connection category, expand SSH and choose X11.
    1. Click the Enable X11 Forwarding checkbox.
    PuTTY X11 Forwarding Screenshot
  4. Go back to the Session category and click Save to save your session connection settings.


Xming is a free X Window server for the Windows desktop. With Xming, you can display graphical applications from your remote Linux computer on your Windows desktop. To take advantage of Xming’s capabilities, we’ll need to first install it.

Installing Xming

  1. Download the Xming installer to your Windows desktop from the following address:
  2. Look for the Xming link under Public Domain Releases.
  3. Run the Xming setup program on your Windows desktop. When selecting components to install, make sure the following are selected:
    1. XLaunch Wizard (selected by default)
    2. Normal PuTTY Link SSH Client (selected by default)

Running Xming

The makers of Xming have provided a simple utility called Xlaunch that allows you to configure Xming easily, and also save your configuration for future use. To run Xming, open XLaunch and select the configuration you wish to use. We’ll use the configuration that follows.
  1. Open XLaunch from the program menu.
  2. Select Multiple Windows and click Next. This tells Xming to open each remote Linux application in a new window.
    XLaunch Multiple Windows Screenshot
  3. Select Start No Client and click Next. This tells Xming to launch and wait for commands from another program (like PuTTY).
    XLaunch Start No Client Screenshot
  4. Make sure that Clipboard is selected and click Next. This tells Xming to enable your remote Linux applications to share a unified clipboard.
    XLaunch Clipboard Screenshot
  5. Click the Finish button to launch Xming.
    XLaunch Finish Screenshot

Launching Graphical Applications from your Remote Linux Computer

Now that Xming is running, you can open your PuTTY session and launch a graphical application. My Linux computer is running Fedora 12 with the Gnome desktop. I’m going to launch my remote Linux computer’s calculator on my Windows desktop through the SSH connection using X11 forwarding.
  1. Open PuTTY.
  2. Double-click on the saved session you created earlier. PuTTY will create an SSH connection to your remote Linux computer.
    Launch PuTTY Screenshot
  3. Login to your Linux computer.
  4. Type gcalctool at the command prompt and hit enter.
    Launch gcalctool Screenshot
  5. If everything worked correctly, your remote Linux computer’s calculator should appear on your desktop. Cool, huh?
    gcalctool Screenshot
If you have any questions, please feel free to ask in the comments section below.

NX Client Installation in linux


Installation Instructions:

  1. Go to www.nomachine.com/download.php and choose the NX Client for Linux.
  2. Select the NX Client DEB for Linux based on the architecture of your computer (use "uname -m" in a terminal; i686 means you should download the i386 package )
  3. You will be prompted to open the package with GDebi Package Installer, click OK.
  4. Click Install Package, type in your password and the package will be installed

Launching the application:

  1. Select Applications->Internet->NX Client for Linux->NX Client for Linux

  2. Click Next on the initial NX Connection Wizard screen

  3. Enter "CSG Linux Desktop" for the Session field and "linux.divms.uiowa.edu" for the Host field and click Next.

  4. Change the pulldown from KDE to GNOME and click Next.

  5. Click Finish

  6. Enter your DIVMS username in the Login field , enter your DIVMS password in Password field, and then click Login.

  7. The first time you connect, you'll be asked to verify the key fingerprint of the NoMachine server.
    You are connecting to the correct server if the window shows this RSA fingerprint:
    78:6f:5e:70:0b:1e:57:27:f2:7b:74:c7:84:f1:3a:19.  If the fingerprint matches, click "Yes".
  8. You will be connected to a Linux desktop environment on one of the NoMachine servers in Mathematical Sciences. The NoMachine servers are a shared resource. Do NOT run computationally intensive programs on these servers.


When I clicked on the NX Client DEB, the GDebi Package Installer didn't start. How do I install the package?
The download page for the DEB file has instructions on how to install. Generally, it will be
sudo dpkg -i nxclient*.deb
There are also more detailed instructions available at http://www.nomachine.com/installation.php

Export Display in Linux

 Export Display in Linux-
If you login Linux Server through putty at that time you can EXPORT DISPLAY-- 
[root@ip-10-46-113-21 ~]# echo $DISPLAY 
[root@ip-10-46-113-21 ~]# DISPLAY=;
[root@ip-10-46-113-21 ~]# export DISPLAY
[root@ip-10-46-113-21 ~]# xhost +
access control disabled, clients can connect from any host

Monday, 22 April 2013

Cloning for Release 11i and 12

Fully Automated Cloning for Release 11i and 12

Cloning is the process of creating an identical copy of an already existing Oracle Applications system.  Cloning is a regular part of an Apps DBA's responsibilities, so you're probably already familiar with the latest Rapid Clone utility and its predecessor,  adclone.pl, the original AD Clone Utility.  If you've used those tools in the past, you likely also know that overall cloning process requires some user intervention for things like the APPS password and so on. 

Enterprise Manager Screenshot:

A customer recently asked whether the following cloning process can be fully automated, so that no user intervention is required at all:
  1. Shut down the PROD environment for both the application server and database tier
  2. Do an offline preclone of both tiers
  3. Copy both tiers to another server (the sandbox environment)
  4. Restart the PROD environment
  5. Do an offline postclone of both tiers for the sandbox environment
  6. Start the sandbox environment
In researching that, I was pleased to learn that this kind of automation is a new feature in the latest Application Management Pack for Oracle E-Business Suite for Enterprise Manager Grid Control 10gR3. 

The management pack automates the cloning of both Release 11i (11.5.10 with ATG RUP4) as well as Release 12 environments.  You go through a step-by-step interview process to configure the clone routine once, and then you can reuse the cloning routine as many times as you wish.  In addition, the cloning routing can send out a notification if it failed.

Very slick.  If you've had a chance to try this, I'd be interested in hearing about your experiences with this new feature.

Tuesday, 16 April 2013

Concurrent Managers Status

Check  Concurrent Managers Status

In Oracle Applications, when we have to check the status of Concurrent Managers,
we usually login to Oracle Applications and select the following path:

System Administrator >> Concurrent : Manager >> Administer

On this screen, we see the Actual and Target processes for a concurrent manager and if they are same and nonzero, we conclude that the CM is working fine.

Now, I am going to post a simple sql script which shows the same output as shown in the screen above. Here it goes:

select decode(CONCURRENT_QUEUE_NAME,'FNDICM','Internal Manager',
'FNDCRM','Conflict Resolution Manager','AMSDMIN','Marketing Data Mining Manager',
'C_AQCT_SVC','C AQCART Service','FFTM','FastFormula Transaction Manager',
'FNDCPOPP','Output Post Processor','FNDSCH','Scheduler/Prereleaser Manager',
'Transportation Manager','IEU_SH_CS','Session History Cleanup',
'IEU_WL_CS','UWQ Worklist Items Release for Crashed session','INVMGR',
'Inventory Manager','INVTMRPM','INV Remote Procedure Manager','OAMCOLMGR',
'OAM Metrics Collection Manager','PASMGR','PA Streamline Manager','PODAMGR',
'PO Document Approval Manager','RCVOLTM','Receiving Transaction Manager',
'STANDARD','Standard Manager','WFALSNRSVC','Workflow Agent Listener Service',
'WFMLRSVC','Workflow Mailer Service','WFWSSVC',
'Workflow Document Web Services Service','WMSTAMGR','WMS Task Archiving Manager',
'XDP_APPL_SVC','SFM Application Monitoring Service','XDP_CTRL_SVC',
'SFM Controller Service','XDP_Q_EVENT_SVC','SFM Event Manager Queue Service',
'XDP_Q_FA_SVC','SFM Fulfillment Actions Queue Service','XDP_Q_FE_READY_SVC',
'SFM Fulfillment Element Ready Queue Service','XDP_Q_IN_MSG_SVC',
'SFM Inbound Messages Queue Service','XDP_Q_ORDER_SVC','SFM Order Queue Service',
'XDP_Q_TIMER_SVC','SFM Timer Queue Service','XDP_Q_WI_SVC',
'SFM Work Item Queue Service','XDP_SMIT_SVC','SFM SM Interface Test Service') 
as "Concurrent Manager's Name", max_processes as "TARGET Processes", 
running_processes as "ACTUAL Processes" 
from apps.fnd_concurrent_queues where CONCURRENT_QUEUE_NAME in 

save the above SQL in a script as “cmstatus.sql”

Connect as “apps” and run the above script:

sqlplus apps/******

SQL> set pagesize 9999

SQL> @cmstatus.sql

Concurrent Manager's Name                      TARGET Processes ACTUAL Processes
---------------------------------------------- ---------------- ----------------
Service Manager: AQHERP                         1                1
Output Post Processor                           1                1
Workflow Document Web Services Service          1                1
WMS Task Archiving Manager                      2                2
Marketing Data Mining Manager                   5                5
Conflict Resolution Manager                     1                1
Internal Manager                                1                1
Scheduler/Prereleaser Manager                   1                1
Standard Manager                               10               10
PO Document Approval Manager                    3                3
Receiving Transaction Manager                   3                3
FastFormula Transaction Manager                 1                1
PA Streamline Manager                           1                1
Inventory Manager                               5                5
INV Remote Procedure Manager                    5                5
Workflow Agent Listener Service                 1                1
Workflow Mailer Service                         1                1
Transportation Manager                          10               10
C AQCART Service                                1                1
Session History Cleanup                         1                1
UWQ Worklist Items Release for Crashed session  1                1
SFM Controller Service                          1                1
SFM Order Queue Service                         1                1
SFM Work Item Queue Service                     1                1
SFM Fulfillment Actions Queue Service           1                1
SFM Fulfillment Element Ready Queue Service     1                1
SFM Event Manager Queue Service                 1                1
SFM Inbound Messages Queue Service              1                1
SFM Timer Queue Service                         1                1
SFM Application Monitoring Service              1                1
SFM SM Interface Test Service                   1                1
OAM Metrics Collection Manager                  1                1

32 rows selected.
It will show you the similar output as shown by Concurrent Manager Administer screen.
You can run the same script through a shell script and mail this output to your mailbox every morning.

How to check Concurrent Managers Status from the Back End?

select CONCURRENT_QUEUE_NAME,max_processes,running_processes,decode(control_code,
'N','Target node/queue unavailable',
'O','Suspending concurrent manager',
'Q','Resuming concurrent manager',
'U','Updating environment information',
from apps.fnd_concurrent_queues
(control_code is not null and control_code not in ('B','E'));

Internal Concurrent Manager Status Check

We can find the status of Internal Concurrent Manager with this script. If it is down, then we need to take steps to turn it back on. You must run it as user applsys or sys.


Script to display status of all Concurrent Managers

-- Script to display status of all Concurrent Managers

-- Uses :sqlplus> apps/<apps_password>

set head on
Column OsId Format A10
Column CpId Format 999999
Column Opid Format 999
Column Manager Format A30
Column Status Format A20
Column Started_At Format A30

Column Cpid Heading 'Concurrent|Process ID'
Column OsId Heading 'System|Process ID'
Column Opid Heading 'Oracle|Process ID'
Column Manager Heading 'Concurrent Manager Name'
Column Status Heading 'Status|of Concurrent|Manager'
Column Started_At Heading 'Concurrent Manager|Started at'
Column Opid Justify Left

Select distinct Concurrent_Process_Id CpId, PID Opid,
Os_Process_ID Osid,
Q.Concurrent_Queue_Name Manager,
P.process_status_code Status,
To_Char(P.Process_Start_Date, 'MM-DD-YYYY HH:MI:SSAM') Started_At
from apps.Fnd_Concurrent_Processes P, apps.Fnd_Concurrent_Queues Q, apps.FND_V$Process
where Q.Application_Id = Queue_Application_ID
And (Q.Concurrent_Queue_ID = P.Concurrent_Queue_ID)
And ( Spid = Os_Process_ID )
And Process_Status_Code not in ('K','S')
Order by Concurrent_Process_ID, Os_Process_Id, Q.Concurrent_Queue_Name ;