NaturalOracle DataGaurd tutorial Series Coming Soon!! Natural
For Any queries, please mail us at

Identifying Various Services Running on Application Node

No comments
The services running application nodes can be find by fnd_nodes tables as mentioned in my previous blog about the FND_NODES table.
But Here I will explain how to determine the services running by checking the context file. Context file is a best place from which one can learn about the Apps.
We can check the following context file parameter from context file and determine the services which are running.

If parameter value is yes the Database is running on that particular node.
If parameter value is yes the Admin services running on that particular node.
If parameter value is yes the Web services running on that particular node. like Apache ,HTTP
If parameter value is yes the Form services running on that particular node.
If parameter value is yes the Concurrent services running on that particular node.
If parameter value is yes the APPL_TOP is used for Oracle Application.
If parameter value is yes the APPL_TOP is used for Web services.
If parameter value is yes the APPL_TOP is used for Form Services.
If parameter value is yes the APPL_TOP is used for Concurrent Services.

The parameter s_isDB will be No if we are checking the on application node. And will be yes on the Database Node.

In the shared APPL_TOP architecture we can find all the parameters to be yes in all nodes except  s_isDB.

If we grep the parameters from Context file .

In Application Node 
grep s_is  TEST_test0123.xml

         <TIER_DB oa_var="s_isDB">NO</TIER_DB>
         <TIER_ADMIN oa_var="s_isAdmin">YES</TIER_ADMIN>
         <TIER_WEB oa_var="s_isWeb">YES</TIER_WEB>
         <TIER_FORMS oa_var="s_isForms">YES</TIER_FORMS>
         <TIER_NODE oa_var="s_isConc">YES</TIER_NODE>
         <TIER_ADADMIN oa_var="s_isAdAdmin">YES</TIER_ADADMIN>
         <TIER_ADWEB oa_var="s_isAdWeb">YES</TIER_ADWEB>
         <TIER_ADFORMS oa_var="s_isAdForms">YES</TIER_ADFORMS>
         <TIER_ADNODE oa_var="s_isAdConc">YES</TIER_ADNODE>
In Database Node
grep s_is TEST_test0123.xml
         <TIER_DB oa_var="s_isDB">YES</TIER_DB>
         <TIER_ADMIN oa_var="s_isAdmin">NO</TIER_ADMIN>
         <TIER_WEB oa_var="s_isWeb">NO</TIER_WEB>
         <TIER_FORMS oa_var="s_isForms">NO</TIER_FORMS>
         <TIER_NODE oa_var="s_isConc">NO</TIER_NODE>

No comments :

Post a Comment

Locating and Creating the Context File

1 comment
Context file contains all the global configuration settings for E- Business Suite.
The Context file is in the XML format.The name of the Context file will be $CONTEXT_NAME.xml.
The Context variable is set as the $ORACLE_SID or $ORACLE_SID_[hostname].

Example :
If the  $ORACLE_SID is DEV and the host name is dev0123 then the context file name will be DEV_dev0123.xml

Context file for RDBMS/Oracle

In 11i
cd $ORACLE_HOME/appsutil

In R12
cd $ORACLE_HOME/appsutil

Context File for APPLICATION

In 11i
cd $APPL_TOP/admin

In R12
cd $INST_TOP/appl/admin

If the context file is not present then it can be generated manually. But the environment for which the context file needs to be created should be properly set.(either database or application).

Context file creation for RDBMS/Oracle
Go to:
cd $ORACLE_HOME/appsutil /bin 


Context file for APPLICATION
Go to:
cd $AD_TOP/bin


Explaination of ADBLDXML.PL

Syntax: <tier=<tiertype>> [appsuser=<appsusername>] [appspass=<appspassword>]        [template=<contexttemplatepath>] [log=<logfilepath>] [out=<contextfilepath>] [servername=<hostname>] [jtop=<jre/jdk location>]


<tiertype>                         : { apps(default) | db }, tier for which context file is to be generated.
<appsusername>            : Apps user name, defaults to "apps".
<appspassword>            : Apps password, prompts if not passed.
<contexttemplatepath>   : Complete path to context template. If not specified, default template 
                                            will be
                                            For apps tier : $AD_TOP>/admin/template/adxmlctx.tmp
                                            For db tier   : $ORACLE_HOME>/appsutil/template/adxdbctx.tmp
<logfilepath>                    : Complete path of log file. If not specified, the file will be automatically 
                                            created in
                                            For apps tier : $APPL_TOP>/admin/<s_contextname>/log
                                            For db tier   : $ORACLE_HOME>/appsutil/log/<s_contextname>
<contextfilepath>             : Complete path of output context file. If not specified, the file will be
                                            For apps tier : $APPL_TOP>/admin/<s_contextname>.xml
                                            For db tier   : $ORACLE_HOME>/appsutil/<s_contextname>.xml
<hostname>                     : Server for which applications context File is to be generated.
<jtop>                                : Complete path to JRE_TOP or JDK_TOP, depending on the the 
                                             RDBMS  version(db tier only)


1 comment :

Post a Comment

Internal Concurrent Manager status could not be determined.

No comments
There can a scenario where while running

adcmctl status apps/apps_password

The output is:

$ status apps/apps_password

You are running version 115.28

Internal Concurrent Manager status could not be determined. exiting with status 0


1. We can run cmclean.sql script.
    As suggested by (Oracle Note: 134007.1 - CMCLEAN.SQL - Non Destructive Script to 
    Clean Concurrent Manager Tables). Shutdown the CM, run the script (make sure you issue 
    commit once the script is  done), start the CM and check for the issue.

2. If after running the the cmclean.sql the issue still persists then take down the application tier
    services and run autoconfig. This will relink the binaries of the After autoconfig is 
    successful then take up  the application services and and check the issue.

There may be another senario where ,if the Oracle Application version is R12.1 and higher, then there might be case that managers are running fine but when we try to check the status for the ICM through then it will return as status could not be determined. status apps/apps_passwd
You are running version 120.17.12010000.5
Internal Concurrent Manager status could not be determined. exiting with status 0
This is a bug As per Oracle Note(Adcmctl.Sh Script Is Unable To Determine The ICM Status (Doc ID 1320217.1)).
Oracle suggest to apply one patch to resolve the issue.( Patch 12410716: FNDSVCRG STATUS COULD NOT BE DETERMINED AFTER RHEL5 SECURITY PATCH UPDATES)

No comments :

Post a Comment

Getting Source for Objects in Oracle Database

1 comment
The source\syntax for any objects(like table,package,synonyms etc..) in the database can be found by 


SELECT DBMS_METADATA.GET_DDL('Object_Type','Object_Name','Object_Owner') FROM dual;

set pagesize 0
set long 90000

Object Types:

Object types can be any of the following :


In older version of Oracle 

We can get the source by dba_source\all_source table.


set pagesize 0
set long 90000
SELECT text FROM dba_source WHERE NAME='Object_Name' AND OWNER='Object_Owner' and TYPE='Object_Type;

1 comment :

Post a Comment

Log Files Location In Oracle Apps

No comments
The various log files and its location:

Database Tier Logs
Alert Log File location:$ORACLE_HOME/admin/$CONTEXT_NAME/bdump/alert_$SID.log

Trace file location:$ORACLE_HOME/admin/SID_Hostname/udump

Network Logs :$ORACLE_HOME/network/admin/$SID.log

OUI Inventory Logs :$ORACLE_HOME/admin/oui/$CONTEXT_NAME/oraInventory/logs

Application Tier Logs

For Oracle Apps 11i

Start/Stop script log files location:$COMMON_TOP/admin/log/CONTEXT_NAME/

OPMN log file location$ORACLE_HOME/opmn/logs/ipm.log

Apache, Jserv, JVM log files locations:$IAS_ORACLE_HOME/Apache/Apache/logs/ssl_engine_log

Concurrent log file location:$APPL_TOP/admin/PROD/log or $APPLLOG/$APPLCSF

Patch log file location:$APPL_TOP/admin/PROD/log

Developer (Developer/Forms & Reports 10.1.2) Patch

 Web Server (Apache) patch

 Database Tier opatch log

Worker Log file location:$APPL_TOP/admin/PROD/log

AutoConfig log files location:Application Tier:$APPL_TOP/admin/SID_Hostname/log//DDMMTime/adconfig.log

Database Tier:$ORACLE_HOME/appsutil/log/SID_Hostname/DDMMTime/adconfig.log

Error log file location:Application Tier:$APPL_TOP/admin/SID/log

Database Tier :$ORACLE_HOME/appsutil/log/SID_Hostname

Oracle Apps R12

Log file location

Concurrent Reqeust related logs$LOG_HOME/appl/conc - > location for concurrent requests log and out files
$LOG_HOME/appl/admin - > location for mid tier startup scripts log files

Apache Logs
$LOG_HOME/ora/10.1.3/Apache - > Location for Apache Error and Access log files
$LOG_HOME/ora/10.1.3/j2ee - > location for j2ee related log files
$LOG_HOME/ora/10.1.3/opmn - > location for opmn related log files

Forms & Reports related logs

Startup/Shutdown Log files location:$INST_TOP/apps/$CONTEXT_NAME/logs/appl/admin/log

Patch log files location:$APPL_TOP/admin/$SID/log/

Clone and AutoConfig log files location
 in Oracle E-Business Suite Release 12

Logs for the
On the database tier:

RDBMS $ORACLE_HOME/appsutil/log/< context >/StageDBTier_< timestamp >.log

On the application tier:
$INST_TOP/admin/log/StageAppsTier_< timestamp >.log

Logs for the

On the application tier: $INST_TOP/admin/log/MakeAppsUtil_< timestamp >.log

Logs for the are located:

On the database tier:
RDBMS $ORACLE_HOME/appsutil/log/< context >/ApplyDBTier_< timestamp >.log

On the application tier: $INST_TOP/admin/log/ApplyAppsTier_< timestamp >.log
Logs for the adconfig are located:

On the database tier: RDBMS $ORACLE_HOME/appsutil/log/< context >/< timestamp >/adconfig.log
RDBMS $ORACLE_HOME/appsutil/log/< context >/< timestamp >/NetServiceHandler.log

On the application tier: $INST_TOP/admin/log/< timestamp >/adconfig.log
$INST_TOP/admin/log/< timestamp >/NetServiceHandler.log

No comments :

Post a Comment


No comments
FNDLOAD utility downloads data from an application entity into an editable text file with the definition of the application object, which can be uploaded to another database.This is basically done during the releases to upload the application from the development instances to the production instance.

FNDLOAD logon 0 Y mode configfile datafile [ entity [ param ... ] ]

Logon:       Apps username/password.
Mode:         DOWNLOAD or UPLOAD.
Configfile: Configuration file that FNDLOAD requires to download or upload data.Data 
Datafile:     Output file where the data is written.
Entity:        The entity which need to be downloaded.
Param:       String used for parameter substitution.

Config File Location

The file name will be like *.lct. It is maintained by Oracle.

  1. Profile Options
  2. Forms
  3. Functions
  4. Menus
  5. Responsibilities
  6. Request Groups
  7. Request Sets
  8. Lookups
  9. Valuesets
  10. Descriptive Flexfields
  11. Key Flexfields
  12. Concurrent Programs
  13. Form Personalization
  14. Users
  15. Alerts

FNDLOAD apps/pwd O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct Dev_value_set.ldt VALUE_SET FLEX_VALUE_SET_NAME="Dev_Value". 


  • Downloading a parent automatically downloads all children - (Example) Concurrent Program  download.
  • The data files (.ldt) have both entity definition and the data.
  • It also shows the version and the location of the config file (.lct) that was used.


No comments :

Post a Comment

MWA Mobile Web Appilcation

MWA is known as mobile web application. It is used by the some hand held devices to use the Oracle Application.
Example: Through the mobile applications the PO orders are managed.

Check the services running by
ps -ef |grep mwa
./ $INST_TOP/admin/scripts/ status

There must be a port number associated to the mwa services.

Starting MWA services
./ $INST_TOP/admin/scripts/ start

Starting Dispatcher Services 

nohup start_dispatcher &

Stopping the MWA services
./ $INST_TOP/admin/scripts/ stop

Stopping Dispatcher Services 
cd $ADMIN_SCRIPTS_HOME stop_dispatcher

If it takes time to stop the services then we need to kill the services manually.

ps -ef|grep mwa| xargs kill -9


kill -9 `ps -ef|grep mwa'

Validating the MWA services
Steps for Validation

1. Check for the services running through

ps -ef|grep mwa

2. Open command prompt and try or even use putty

telnet servername.domainname 10210

Here 10210 is the port no. on which the MWA services are running.

It should open up small screen with various option. Login with SYSADMIN user as  in R12 or 11i.


Post a Comment

JSP File Compilation

No comments
Compiling JSP in R12

$FND_TOP/patch/115/bin/ --compile -s  JSP_file_name  --flush -p 10

Compiling JSP in 11i

$JTF_TOP/admin/scripts/ --compile -s  JSP_file_name  --flush -p 10

if we dont give -s then we can compile all the jsp's.

--compile                update dependency, compile delta
--create                   rebuild entire dependency file
-delta.out <file>       update dependency, list delta to file
-dep.out <xmlfile>    update dependency, output heirarchy to file


-s <regex>      matching condition for JSPs filenames
-p <procs>      number of parallel compilations
-log <file>       to override logfile from ojspCompile.conf

Other  Options

-conf <file>    to override ojspCompile.conf
--retry            retry previously failed compilation attempts
--flush           forces recompilation of all parent JSPs.It will clean up the pervious compiled files.
--quiet           do not provide an actively running progress meter
--fast             instantly fail jsps that are *possibly* invalid

Compiling JSP's in Windows

cd %FND_TOP%\patch\115\bin

perl -x –compile –flush

No comments :

Post a Comment

Terminating a Concurrent Requests

1 comment
Concurrent Requests can be terminated from front end. But we can also terminate the Concurrent Request from the back end.

update apps.fnd_concurrent_requests set phase_code='C' , status_code='X' where request_id=&REQUEST_ID;

Note: Please remember to kill the process for that request first before terminating the concurrent request .

The related process Id for the Concurrent Requests can be determined by

select ORACLE_PROCESS_ID from apps.fnd_concurrent_requests where REQUEST_ID=&REQUEST_ID;

1 comment :

Post a Comment

Check the Concurrent requests which are running

No comments
Use the below query for finding all the concurrent requests which are running.

Select /*+ RULE */ substr(Concurrent_Queue_Name,1,12) Manager Name,
       Request_Id Request, User_Name,
       fpro.OS_PROCESS_ID OSprocess,
      fcr.oracle_process_id LocalProcess,
       substr(Concurrent_Program_Name,1,35) Program, Status_code,
       To_Char(Actual_Start_Date, 'DD-MON-YY HH24:MI') Started
       from apps.Fnd_Concurrent_Queues fcq, apps.Fnd_Concurrent_Requests fcr,
      apps.Fnd_Concurrent_Programs fcp, apps.Fnd_User Fu, apps.Fnd_Concurrent_Processes fpro
       Phase_Code = 'R' And
       Status_Code <> 'W' And
       fcr.Controlling_Manager = Concurrent_Process_Id       And
      (fcq.Concurrent_Queue_Id = fpro.Concurrent_Queue_Id    And
       fcq.Application_Id      = fpro.Queue_Application_Id ) And
      (fcr.Concurrent_Program_Id = fcp.Concurrent_Program_Id And
       fcr.Program_Application_Id = fcp.Application_Id )     And
       fcr.Requested_By = User_Id
       order by Started

No comments :

Post a Comment


FND_NODES table is present in the APPS schema.
In a muti-tier environment if we want to check the Application services which are running on different node then we can check from fnd_nodes table.


---------------              -------------------                  --------------------                  --------------------                   --------------------
DEV01                          N                                  N                                    N                                         N
DEV02                          Y                                  Y                                     Y                                         Y

SUPPORT_CP: Concurrent Server
SUPPORT_WEB: Apache Server
SUPPORT_ADMIN : Admin Server

Cleaning Of FND_NODES table

In the FND_NODES table at certain times we can find there useless entry present which may be the result of the cloning from production which may be the entry other than our present host. So we to need to clean up the FND_NODES table.


1.Stop the application services.
2.Run EXEC FND_CONC_CLONE.SETUP_CLEAN; and issue commit after successful completion.
3.Now there must not be any entry present in FND_NODES table.
    select * from fnd_nodes;
    no row selected
4. Run autoconfig on DB_node.
    cd $ORACLE_HOME/appsutil/scripts
    It will prompts for the apps password.
5.Run autoconfig on Apps_node.
   cd $INST_TOP/admin/scripts
   It will prompts for the apps password.

This will populate the FND_NODES tables with the correct entry for the application and database node. 


Post a Comment

Finding time required for Gather Stats

No comments
If we run gather schema stats and want to the progression then we can check by the below query. 

FROM v$session_longops 
WHERE opname LIKE '%Gather Schema Statistics%';

For gather table stats the opname will be like Table Scan.
We can get the unique session id and then also we can check the time required.

WHERE   SID=6844;

No comments :

Post a Comment


No comments
FNDCPASS used to change password for front end user, fnd_user and dba_users.

The syntax of FNDCPASS is

FNDCPASS apps/password 0 Y system/password mode USERNAME PASSWORD

Mode can be divided as




FNDCPASS apps/apps 0 Y system/manager SYSTEM APPLSYS WELCOME

It is used for changing the password for apps and applsys.
APPS and APPLSYS are database schemas of Oracle Applications.
Alter user command should never be used to change the apps & applsys accounts.Using alter will  De-synchronize both schema and which will cost a lot to the Oracle Application and Database.
Oracle recommends using FNDCPASS only to change apps and applsys password.

The password for APPS and APPLSYS should be same so the above command also changes the password for both.

Internally the command performs these steps:

1.Validations of current applsys & system password

2.Re-encrypt all password in FND_USER & FND_ORACLE_USERID

3.Update apps & applsys password in FND_ORACLE_USERID table.

4. Update DBA_USERS table as well.



FNDCPASS apps/apps 0 Y system/manager ALLORACLE password
FNDCPASS apps/apps 0 Y system/manager ORACLE GL GL1

ALLORACLE mode will change the password for all product schema at one go.
Apply Oracle Apps patch 4745998 for getting ALLORACLE mode.

But if need to change the password for a specific product schema like AP,AR,GL etc then use ORACLE mode.

Internally the command performs these steps:

1.Validations of current applsys & system password

2. Update GL new password in FND_ORACLE_USERID table

3. Update DBA_USERS table as well.


FNDCPASS apps/apps 0 Y system/manager USER VISION WELCOME

It is used for changing the application level passwords like sysadmin,Kevin etc. (Front End applications user password).

Internally the command performs these steps:

1.Validations of current applsys & system password

2.Update VISION NEW password in FND_USER table.

0 & Y are flags for FND Executable like FNDCPASS & FNDLOAD where

0 is request id (request ID 0 is assigned to request ID's which are not submitted via Submit Concurrent Request Form).
'Y' indicates the method of invocation. i.e. it is directly invoked from the command-line not from the Submit Request Form.

No comments :

Post a Comment


FNDFS or the Report Review Agent (RRA) is the default text viewer within Oracle Applications, which allows users to view report output and log files. Report Review Agent is also referred to by the executable FNDFS. The default viewer must be configured correctly before external editors or browsers are used for viewing requests.

FNDSM is the Service manager. FNDSM is executable & core component in GSM ( Generic Service Management Framework ). You start FNDSM services via APPS listener on all Nodes in Application Tier.

There are certain scenario  where we can't see the output of Concurrent Requests. It  just gives an error.

Then check the fndwrr.exe size in production and compare it with  Test Instance.

fndwrr.exe is present in  $FND_TOP/bin

If there is any difference then relink the FNDFS executable.It might not be in sync with the binaries.

Command for relinking force=y "fnd FNDFS"


Post a Comment

Stopping Concurrent Manager

No comments
Concurrent manager can be stopped by running stop  <appsusername/password>

We can check if the Concurrent processes are still running by 

ps -ef |grep FNDLIBR 

If there are processes running the we can manually kill the processes.

kill -9 `ps -ef|grep FNDLIBR|awk '{print $2}'`


ps -ef|grep FNDLIBR|awk '{print $2}'|xargs kill -9

No comments :

Post a Comment