Upgrade Oracle Applications to 12.0.4

on Friday, 10 August 2012

Upgrade Oracle Applications to 12.0.4


Oracle Applications Release 12 update 4 (12.0.4) is available now.  This post covers top level steps for upgrading Oracle Applications R12 (12.0.0, 12.0.1, 12.0.2, 12.0.3) to latest patchset i.e. 12.0.4

Key Points for Upgrade to 12.0.4
1. You can upgrade to 12.0.4 directly from following releases 11.5.8, 11.5.9 (Base, Update1 and Update2), 11.5.10 (Base, Update1 and Upadte2), R 12 (Base, 12.0.1, 12.0.2, 12.0.3)

2. Patch Number for 12.0.4 is 6435000  (Apply this patch if you are upgrading from R12 i.e. 12.0.0, 12.0.1, 12.0.2 or 12.0.3)

3. If you are upgrading from R12 (12.0.1, 12.0.2, 12.0.3), first apply R12.AD.A.DELTA.4 (6510214).

4. After applying 12.0.4 patch (6435000) apply consolidated online help patch (6400100) and apply other functional patches (depending on product you are using) as per Metalink Note # 465776.1 and read me of patch 6435000

5. After application of 12.0.4 patch bring database context to 12.0.4 code
–Build appsutil.zip on application tier
–Copy appsutil.zip to dataabse tier
–Run Autoconfig on database tier

6. 12.0.4 is also called as Release 12 Update 4 or RUP4 and cumulative patchset (include 12.0.1, 12.0.2, 12.0.3)

Related Docs/Metalink Notes
556312.1  Now Available: Oracle E-Business Suite Release 12.0.4
549389.1  Oracle Applications Release Notes, Release 12.0.4
465776.1  Oracle E-Business Suite 12.0.4 Release Update Pack Readme
402310.1  Oracle Applications Installation and Upgrade Notes Release 12 (12.0.4) for Linux (32-bit)
Read Me of Patch 6400100
Read Me of Patch 6510214

If you any queries on this post, Kindly leave a comment so that it can be useful to everyone.

R12 Instance Home Overview

on

R12 Instance Home Overview


Oracle Applications/E-Business Suite Release 12 introduces a new concept of a top-level directory for an Applications Instance which is known as Instance Home and is denoted the environment variable $INST_TOP.
           Instance Home contains all the config files, log files, SSL certificates etc.
Advantages of new INSTANCE HOME

  • The additional Instance Home makes the middle tier more easy to manage and organised since the data is kept separate from the config files. The Instance Home also has the ability to share the Applications and Technology stack code across multiple instances.




  • Another advantage of the Instance Home is that the Autoconfig no longer writes anything to the APPL_TOP and ORACLE_HOME directories, everything is now written in the INST_TOP as a result APPL_TOP and ORACLE_HOME can also be made read only file system if required . Earlier say the adpatch used to write the log file in APPL_TOP/admin directory but with the new model the APPL_CONFIG_HOME/admin is used.




  • To create a new instance that shares an existing middle-tier, just create a new instance_top with proper config files and NFS Mount the middle tier in the server.The basic structure of the Instance Home is:$APPS_BASE/inst/apps/$CONTEXT_NAME  or also defined by environment variable $INST_TOP, where APPS_BASE (which does not have or need a corresponding environment variable) is the top level of the Applications installation and $CONTEXT_NAME  is the highest level at which the Applications context exists (format $SID_$hostname). Instance Home Directory Structure




  • $INST_TOP/admin/scripts ($ADMIN_SCRIPTS_HOME): All AD scripts are located here




  • $INST_TOP/appl ($APPL_CONFIG_HOME) : For standalone envs, this is set to $APPL_TOP
    $INST_TOP/appl/fnd/12.0.0/secure FND_SECURE: The dbc file is located here
    $INST_TOP/appl/admin All the env config files are located here




  • $INST_TOP/certs SSL Certificates go here




  • $INST_TOP/logs LOG_HOME: Central log file location. All log files are placed here (except adconfig)
    $INST_TOP/logs/ora ($ORA_CONFIG_HOME)
    $INST_TOP/logs/ora/10.1.2 ‘C’ Oracle home config, Contains tnsnames and forms listener servlet config files
    $INST_TOP/logs/ora/10.1.3 Apache & OC4J config home, Apache, OC4J and opmn. This is the ‘Java’ oracle home configuration for OPMN, Apache and OC4J




  • $INST_TOP/pids  Apache/Forms server PID files are located here




  • $INST_TOP/portal Apache’s DocumentRoot folder




  • If you think any queries on this post, Kindly leave a comment so that it can be useful to everyone.

    Upgrade Oracle Apps 11i to R12/12i (12.0.4) – Key Points

    on

    Upgrade Oracle Apps 11i to R12/12i (12.0.4) – Key Points

    This post covers overview/top level steps to upgrade Oracle Applications (E-Business Suite) 11i (11.5.8,11.5.9,11.5.10) to R12/12i (12.0.4).
       This post is useful to understand upgrade from Apps DBA point of view and does NOT cover any functional steps in upgrade process.

    If you want to know what is changed in R12 (like technical difference between 11i & R12 Click Here or new TOP INST_TOP click here )

    If you are already on R12 (12.0.0, 12.0.1, 12.0.2 or 12.0.3) and wish to upgrade to 12.0.4  Check Steps Here

    Key points with regard to upgrade

    - You can upgrade to R12/12i (12.0.4) ONLY from release 11.5.8, 11.5.9.X or 11.5.10.X (For any previous release like 11.5.7 , upgrade them to 11.5.10.2 first)

    - You can upgrade database to version 10.2.X during upgrade (11.5.8, 11.5.9.X, 11.5.10.X) or BEFORE R12 upgrade (only for 11.5.9.X and 11.5.10.X)

    .
    Upgrade is broadly divided in to three steps
    –Preupgrade Step (lay down file system for R12 using rapidwiz/RapidInstall)
    –Upgrade Step (Upgrade database to 10gR2 (if not already upgraded), apply R12.AD.A on R12 APPL_TOP and apply 12.0.4 patch database portion only)
    –Post Upgrade step (Run rapidwiz/RapidInstall one more time to configure and start services on R12).


    A. Pre-Upgrade Process
    1.Layout file system for R12 using rapidwiz with option as upgrade.

    Run rapidwiz from R12 software >> Select option “Upgrade to Oracle Applications Release 12“  (Check Figure)



    In Select Upgrade Action screen select “Create Upgrade File System” (Check Figure).







    Follow further screens and installer will install R12 file system (This step will NOT configure and start services in R12, It will only install R12 files)
    Note* There are other preupgrade steps as well like migrate backup, TUMS (optional), OATM, convert to multi org, gather stats and functional preupgrade steps (Detailed step by step upgrade doc coming soon …)


    B. Upgrade Process
    2.Migrate database to 10gR2 – This step is required if you have not upgraded your database with 11i itself. Use ORACLE_HOME (10.2 on database tier) which came as part of R12 upgrade (Create Upgrade file system above in preupgrade step)

     Also check following Metalink Notes

    403339.1 – Oracle 10g R2 Database preperation Guidelines for Oracle E-Business Suite R12 Upgrade
    396009.1 - Database initialization parameters for Oracle apps R12

    3. Put your Apps into database in to maintenance mode
    4.Run adpatch 6604842 (on R12 appl_top, environment variable at this stage should point to R12 APPL_TOP and ORACLE_HOME in application tier should point to FORMS (10.1.2) in R12) to upgrade AD product of R12 to 12.0.4 (Patch 6604842 is available as R12.AD.A)

    5. Run 12.0.4 patch 6394500(u6394500.drv ) which is under $AU_TOP/patch/115/driver (on R12/12.0.4 APPL_TOP). Note* You have to apply this patch on 12.0.4  APPL_TOP.

    Apply this with nocopyportion and nogenerateportionas copy and generate portion is already available as part of R12 install done above in preupgarde step.

    Apply/Upgrade to 12.0.4 using

    adpatch options=nocopyportion,nogenerateportion

    6.  Disable maintenance mode

    C. Post Upgrade Process
    Database and database listener should be up at this stage.

    7. Run Rapid Install one more time (with different option check figure) to configure and start services on R12/12i.

    Run rapidwiz one more time
    Select option “Upgrade to Oracle Applications Release 12“  (Check Figure)

    In Select Upgrade Action screen select “Configure Upgraded Release 12 Instance” (This select is different from selection in Pre-Upgrade Step).





    Change file name as shown in figure to your new $APPL_TOP/admin/$CONTEXT_NAME.xml (R12)
    There are other finishing tasks which are out of scope of this post like backup, reset password, setup client machines (java plugin), printers, workflow notification mailer and various functional steps
    Related  Docs
    399362.1 E-Business Suite Release 12 Upgrade Sizing and Best Practices
    396009.1 Database Initialization Parameter for Oracle Applications R12
    Stay tuned for more on Oracle Apps R12/12i upgrade from release 11i

    If you think any queries on this post, Kindly leave a comment so that it can be useful to everyone.



    Difference between Oracle Apps 11i and R12 (Technical)

    on

    Difference between Oracle Apps 11i and R12 (Technical)


    Database:
    Database Version in 11i (11.5.9 & 11.5.10) was 9i Rel 2 where as in Release 12 its 10g R2 (10.2.0.2)

    Application Tier:
    Tech Stack in Application Tier consist of iAS(1.0.2.2.2) & Developer 6i (Forms & Reports 8.0.6) but in Applications R12 it is build on Fusion Middleware (10g Web Server and 10g Forms & Reports)

    Sub component in Application Tier
    A) HTTP Server or Web Server in R12 is Version 10.1.3 which is built on Apache version 1.3.34. In apps 11i it is Version 1.0.2.2.2 built on Apache Version 1.3.19
    B) Jserv in apps 11i is replaced by OC4J (mod_jserv is replaced by mod_oc4j)
    C) Forms Version 6i in Apps 11i is replaced by Forms 10.1.2.0.2 in R12
    D) Reports Version 6i in Apps 11i is replaced by Reports 10.1.2.0.2 in R12
    E) JDBC version is changed from version 9 in apps 11i to version 10.2.0 in Apps R12
    F) modplsql or mod_pls is removed from Apps R12 (What will happen to my mod plsql applications- coming soon* )
    G) Java processes use JDK/JRE version 1.5.0 in R12 against JDK version 1.3.1 or 1.4.2 in Apps 11i
    H) For various environment variable changes check below picture.

    I) New top INSTANCE_TOP added in Release 12 for configuration and log files.



    Related:

    If you think I missed any Technical changes in Release 12, Kindly leave a comment so that it can be useful to everyone.

    How to troubleshoot Concurrent Manager in 11i/R12 – Apps Listener

    on Tuesday, 7 August 2012

    How to troubleshoot Concurrent Manager in 11i/R12 – Apps Listener


    How to check if Concurrent Manager is Up and running ?


    Login as user with System Administrator responsibility. Under Concurrent : Manager click on Administer (Actual should be equal to Target)


    How to troubleshoot Concurrent Manager issue ?
    Check Concurrent Manager log $SID_[MMDD] where MMDD is Concurrent Manager start Month & Date
     1. $APPLCSF/$APPLLOG/$SID_[MMDD].mgr





    Could NOT contact Service Manager FNDSM_INNOWAVE03_visr12. 
     
    The TNS alias could NOT be located, the listener process onINNOWAVE03 could NOT be contacted, 
     
    OR the listener failed TO spawn the Service Manager process. 
     
         Process monitor session started : 24-SEP-2009 20:31:07Could NOT contact Service Manager FNDSM_INNOWAVE03_visr12. 
     
    The TNS alias could NOT be located, the listener process onINNOWAVE03 could NOT be contacted, 
     
    OR the listener failed TO spawn the Service Manager process.
    
    
    2. Error message is pointing towards “FNDSM_INNOWAVE03_visr12″ so run tnsping to check status of TNS alias like
    [avisr12@innowave03 ~]$ tnsping FNDSM_INNOWAVE03_visr12
    
    
    3. Check Apps Listener status like
    [avisr12@innowave03 ~]$ lsnrctl status APPS_visr12
    LSNRCTL for Linux: Version 10.1.0.5.0 - 
     
    Production on 24-SEP-2009 20:37:36Copyright (c) 1991, 2004, Oracle.  
     
    All rights reserved.Connecting to (ADDRESS=(PROTOCOL=TCP)(Host=innowave03.com)(Port=1638)) 
     
    TNS-12541: TNS:no listener  
     
    TNS-12560: TNS:protocol adapter error  
     
    TNS-00511: No listener   
     
    Linux Error: 111: Connection refused.
    
    
    4. Start Apps Listener
    [avisr12@innowave03 scripts]$ ./adalnctl.sh start
    
    
    output like
    
    
    adalnctl.sh version 120.3 
     
    Checking for FNDFS executable. 
     
    Starting listener process APPS_visr12. 
     
    adalnctl.sh: exiting with status 0adalnctl.sh: check the logfile /oracle/ apps/ r12/ visr12/ inst/ apps/ visr12_innowave03/ logs/ appl/ admin/ log/ adalnctl.txt formore information ... 
    
    
    5. Try again tnsping again
    [avisr12@innowave03 scripts]$ tnsping FNDSM_INNOWAVE03_visr12
    output like
    TNS Ping Utility for Linux: Version 10.1.0.5.0 - 
     
    Production on 24-SEP-2009 20:39:09Copyright (c) 1997, 2003, Oracle.  
     
    All rights reserved.Used parameter files:Used TNSNAMES adapter to resolve the aliasAttempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=innowave03.com)(PORT=1638)) (CONNECT_DATA=(SID=FNDSM))) 
     
    OK (0 msec)
    
    
    6. Restart CM again.
    If you like this post please comment ......
    
    
    
    
    
    
    
    
    
    
    
    
    

    Concurrent manager Phase and Status Codes meaning in Oracle E-Business Suite

    on

    Concurrent manager Phase and Status Codes meaning in Oracle E-Business Suite

    You can find meanining of  Concurrent Manager status codes meaning.
    Here is the lists
    PHASE CODE:
    I = Inactive
    P = Pending
    R = Running
    C = Completed
    STATUS CODE:
    U = Disabled
    W = Paused
    X = Terminated
    Z = Waiting
    M = No Manager
    Q = Standby
    R = Normal
    S = Suspended
    T = Terminating
    D = Cancelled
    E = Error
    F = Scheduled
    G = Warning
    H = On Hold
    I =  Normal
    A = Waiting
    B = Resuming
    C = Normal

    You can find in-detail about the Phase and status of the Concurrent managers in the previous post
     ie : Concurrent Request Phase and Status

    If you like this post please comment ......

    Post Clone Checks,Procedures for 11i / R12

    on

    Post Clone Checks,Procedures for 11i / R12

    Clone Procedures are outlined in :
    Clone-ie-Refresh-Oracle-Applications-11i-R12
    Cloning-from-Multinode-to-Single-Node-Merge-APPL_TOP

    Post Clone checks and steps can differ .
    Listed are some of the common Post clone activities :

    (Here DEV is the target and PROD is the source)

    CHECKS
    ===========

    THE CHECKS/STEPS LISTED HERE SHOULD BE PERFORMED AFTER DATABASE CLONE BEFORE APPLICATIONS CLONE

    1 Check the Target - If its in ARCHIVELOG / NOARCHIVELOG MODE as desired.

    2 Create the Temp datafiles , using the commands taken from the control file , if the temporary tablespace tempfiles is not existing.

    ALTER TABLESPACE TEMP ADD TEMPFILE __________

    Verify dba_temp_files, for all the temp file entries added to TEMP

    SQL> select file_name from dba_temp_files;

    Check for the Default Temporary file –
    ===========================
    select * from database_properties where property_name = 'DEFAULT_TEMP_TABLESPACE';

    Confirm that this TEMP.
    If the default is not TEMP,

    SQL>alter database default temporary tablespace TEMP

    3 Update global_name if it contains source

    select * from global_name;
    update global_name set global_name='<global db name>';
    commit;

    SQL> select * from global_name;

    GLOBAL_NAME
    --------------------------------------------------------------------------------
    DEV

    4 Restoration of files backed up on Target Instance prior to the clone.

    - You may need to restore the tnsnames.ora , listener.ora (which was backed up for the target instance prior to clone)
    - You may need to restore the spfile/init file , so that the target instance takes the original init parameters (memory/performance parameters) and restart the database.

    5 Change the directories – if any need to be changed

    set heading off
    set pages 1000
    set linesize 100
    select 'CREATE OR REPLACE DIRECTORY '||DIRECTORY_NAME||' AS '||''''||DIRECTORY_PATH||''''||';'
    from all_directories;
    spool off

    - Edit the commands by replacing PROD with DEV ie source with target and Execute.

    - You would also be required to check and recreate the DB links as per tns entries and requirements in the Target Instance.


    6 Update apps.wf_systems
    (This should show the target Instance and not the source Instance)

    SQL>select name,display_name from apps.wf_systems;
    SQL>update apps.wf_systems set name=’<SID>’,display_name=’ <SID>.<hostname.domainname>’;
    SQL>COMMIT;

    Example after change
    SQL> select name,display_name from apps.wf_systems;

    NAME DISPLAY_NAME
    ------------------------------ --------------------------------------------------------------------------------
    DEV DEV.DBALOUNGE.COM


    7 Update Notification status
    (This needs to be bone before running adcfgclone on the apps tier , to avoid any Notifications to be sent from the Target Instance)

    UPDATE wf_notifications SET status ='CLOSED', mail_status ='SENT', end_date ='01-JAN-01' WHERE mail_status in ('MAIL','INVALID','OPEN') ;

    Commit;

    update wf_agents set address = replace ( address,'PROD','DEV' ) ;
    select name ,display_name from wf_systems;

    update wf_systems set
    DISPLAY_NAME = replace ( DISPLAY_NAME, 'PROD.DBALOUNGE.COM','DEV.DBALOUNGE.COM');

    Commit;


    8 Update the target node in CM fnd_concurrent_queues table :

    update fnd_concurrent_queues set node_name='<target_conc_node>' where node_name='<source_conc_node>';

    commit;

    THE CHECKS/STEPS LISTED HERE SHOULD BE PERFORMED AFTER APPLICATIONS CLONE BUT with APPS SERVICES DOWN

    9 You may want to Restore the backed up target xml file (DEV xml) file to its proper location.
    We may want to use the same xml file which was in place prior to the clone so that the same ports / configuration is in use.

    10 remove the log files from APPLCSF/APPLLOG:

    Make sure Dir are existing ; Use command to confirm
    cd $APPLCSF/$APPLLOG

    Delete all files under $APPLCSF/$APPLLOG


    11 You can set the logfile to NULL

    update fnd_concurrent_requests set logfile_name = null, logfile_node_name = null,
    outfile_name = null, outfile_node_name = null;

    commit;

    12 You may need to run

    exec FND_CONC_CLONE.SETUP_CLEAN;
    commit;

    to clear FND_NODES entries and rerun autoconfig (on all application tiers) as per step given below

    For Details , Refer to : How-to-cleanup-FND_NODES-table-to-clear-corrupted-setup

    13 Run Autoconfig

    14. Change apps , system and sysadmin and a module specific passwords.
    Change apps password in wdbsvr.app and CGIcmd.dat files

    Refer to :
    FNDCPASS-to-Change-Passwords

    15 Log in to the target system application tier node as the applications User

    Run the following tasks in adadmin for all products:
    - generate JAR files
    - generate message files
    - relink executables


    16 Run cmclean.sql
    (This may be required to clean Concurrent Queue Status and Request Status)


    THE CHECKS/STEPS LISTED HERE SHOULD BE PERFORMED AFTER APPLICATIONS CLONE with APPS SERVICES UP and RUNNING

    17 Bring up all services

    18 Set the Site Name Profile Option

    19 Set the Java Color profile option
    Changing-Look-and-feel-of-Oracle-Application&highlight=java+color

    20 Configure Workflow Mailer

    Login to OAM. Click on
    Notification Mailer => Edit Button => Advanced.
    Make sure to type in the Target instance password.

    PROCESS and DISCARD should exist on the Server for wf<sid> user.
    The name of the Process and the Discard directory can be got from the workflow configuration

    21 Check and Schedule the Concurrent Requests - these would include Gather Statistics , Purge old data and Workflow related Concurrent Requests.
    You can submit these Conc. Requests using forms or use CONCSUB as described in Concsub-to-Quickly-submit-Concurrent-Requests

    Purge-concurrent-request-and-or-manager-data
    Purge-Obsolete-Workflow-Runtime-Data-Concurrent-Program
    Purge-Obsolete-Workflow-Runtime-Data-Concurrent-Program

    22 Do a comprehensive Status check

    23 Release the Instance to Users .

    If you like this post please comment ......

    Concurrent Request Phase and Status

    on


    Concurrent Request Phase and Status

    Phase
    Status
    Description
    PENDING
    Normal
    Request is waiting for the next available manager.
     
    Standby
    Program to run request is incompatible with other program(s) currently running.
     
    Scheduled
    Request is scheduled to start at a future time or date.
     
    Waiting
    A child request is waiting for its Parent request to mark it ready to run. For example, a request in a request set that runs sequentially must wait for a prior request to complete.
    RUNNING
    Normal
    Request is running normally.
     
    Paused
    Parent request pauses for all its child requests to finish running. For example, a request set pauses for all requests in the set to complete.
     
    Resuming
    All requests submitted by the same parent request have completed running. The Parent request resumes running.
     
    Terminating
    Request is terminated by choosing the Cancel Request button in Requests window.
    COMPLETED
    Normal
    Request completed successfully.
     
    Error
    Request failed to complete successfully.
     
    Warning
    Request completed with warnings. For example, a request is generated successfully but fails to print.
     
    Cancelled
    Pending or Inactive request is cancelled by choosing the Cancel Request button in the Requests window.
     
    Terminated
    Request is terminated by choosing the Cancel Request button in the Requests window.
    INACTIVE
    Disabled
    Program to run request is not enabled. Contact your system administrator.
     
    On Hold
    Pending request is placed on hold by choosing the Hold Request button in the Requests window.
     
    No Manager
    No manager is defined to run the request. Check with your system administrator. A status of No Manager is also given when all managers are locked by run-alone requests.

    If you like this post please comment ......


    Concurrent manager issues - 11i / R12

    on


    Concurrent manager issues - 11i / R12

    Inactive/No manager

    A concurrent request has a life cycle consisting of the following phases: Pending, Running, and Completed. During each phase, a request has a specific status. Listed below are the possible statuses for each phase:

    •Pending Phase - Normal, Standby, Scheduled, Waiting

    •Running Phase - Normal, Paused, Resuming, Terminating

    •Completed Phase - Normal, Error, Warning, Cancelled, Terminated

    •Inactive Phase - Disabled, On Hold, No Manager

    If a concurrent request is on hold or unable to run when there are no active manager processes that can run the request, the request is placed in an Inactive phase.




    Review the following points when the concurrent request is in Inactive phase with No Manager status.

    1. Verify that Internal Concurrent Manager(ICM) is up and running. Use any one navigation mentioned below to check the status details of Internal Manager.

    i. Oracle Applications Manager(OAM) > Site Map > Monitoring > Availability > Internal Concurrent Manager > View Status.

    OR

    ii. System Administrator Responsibility > Concurrent > Manager > Administer

    2. Verify that there is at least one active concurrent manager with/without specialization rules that allow the concurrent program to run.

    i. Run the following query to check whether any specialization rule defined for any concurrent manager that includes/excludes the concurrent program in question. Query returns 'no rows selected' when there are no Include/Exclude specialization rules of Program type for the given concurrent program.

    select 'Concurrent program '

    fcp.concurrent_program_name

    ' is '

    decode(fcqc.include_flag,'I','included in ','E','excluded from ')

    fcqv.user_concurrent_queue_name specialization_rule_details from fnd_concurrent_queues_vl fcqv,fnd_concurrent_queue_content fcqc,fnd_concurrent_programs fcp where fcqv.concurrent_queue_id=fcqc.concurrent_queue_id and fcqc.type_id=fcp.concurrent_program_id and fcp.concurrent_program_name='';

    Note: Program Short Name is visible when the program is queried in concurrent program definition form.

    Example:

    SQL> select 'Concurrent program '

    fcp.concurrent_program_name

    ' is '

    decode(fcqc.include_flag,'I','included in ','E','excluded from ')

    fcqv.user_concurrent_queue_name specialization_rule_details from fnd_concurrent_queues_vl fcqv,fnd_concurrent_queue_content fcqc,fnd_concurrent_programs fcp where fcqv.concurrent_queue_id=fcqc.concurrent_queue_id and fcqc.type_id=fcp.concurrent_program_id and fcp.concurrent_program_name='XXRFG3041A';

    SPECIALIZATION_RULE_DETAILS

    -----------------------------------------------------------------------------

    Concurrent program OKCRAQE is included in Contracts Core Concurrent Manager

    Concurrent program OKCRAQE is excluded from Standard Manager

    From the sample output above, it shows that the OKCRAQE(Listener for Events Queue) concurrent program has been excluded from the Standard Manager and included in Contracts Core Concurrent Manager. That means the concurrent request OKCRAQE can be run only by the Contracts Core Concurrent Manager which should be up and running to run and complete the OKCRAQE concurrent request.

    Make sure that Concurrent Manager whose specialization rule includes the concurrent program is up and running.

    ii. Ensure that standard concurrent manager is up and running.

    Follow the below step only when you have confirmed the previous points and the issue is still remaining as there may be an issue with concurrent request queue view.

    3. Manually re-create the concurrent request queue view for concurrent managers by entering the following command as an applmgr user at operating system prompt.

    FNDLIBR FND FNDCPBWV apps/pass SYSADMIN 'System Administrator' SYSADMIN

    -----------------------------------------------------------------------------------------------------------

    Pending Standby

    Check CRM queue,

    Click on Application developer Responsibility --> Concurrent --> Program

    Check for incompatibilities by clicking on Incompatibilities button.

    If scheduled program has a conflict with other program then CRM will make sure to run the pending requests once the conflicting requests are completed .


    Concurrent Managers in Oracle Apps 11i

    on

     Concurrent Managers in Oracle Apps 11i


     1Q. What is a Concurrent Manager ?
    Ans:A Concurrent Manager is a background process which manages the concurrent requests in Oracle Apps 11i.

    2Q. How many type of Concurrent Managers there are in Oracle Applications 11i ?
    Ans:
    • Internal Concurrent Manager (ICM): a background process which manages (start/ stop) the other managers. The ICM must run in order to start/ stop the other managers, so to process concurrent requests. 
    • Standard Manager (SM): is the default concurrent manager. If a request is not defined to be run by a particular concurrent manager (Inventory Manager, Receivables Tax Manager, etc) the SM will take care of the concurrent request. 
    • Conflict Resolution Manager (CRM): is handling any conflicts that might occur within the concurrent requests (for instance, 2 concurrent requests don't have to run in the same time on Monday between 1-2 Pm ). This task could be done by ICM as well. 

    3Q. How could I know if the ICM is started or not ?
    Ans:

    A) Using the OAM:
    Login to the E-Business Home Page -> System Administrator -> Concurrent : Manager/ Administer

    Because 1 process is running that means the ICM is running. In this Form we can see if the other Concurrent Managers (CM) are running as well. 



    B) At the OS level (on UNIX)
    ps -ef | grep FNDLIBR

    ICM is not running:
    [oracle@APPS VIS_apps]$ ps -ef | grep FNDLIBR
    oracle 17846 7256 0 01:20 pts/2 00:00:00 grep FNDLIBR
    [oracle@APPS VIS_apps]$
    ICM is running:
    [oracle@APPS VIS_apps]$ ps -ef | grep FNDLIBR
    oracle 18069 18064 0 01:22 pts/2 00:00:00 FNDLIBR
    oracle 18297 18137 0 01:22 ? 00:00:00 FNDLIBR
    oracle 18298 18137 0 01:22 ? 00:00:00 FNDLIBR
    oracle 18299 18137 0 01:22 ? 00:00:00 FNDLIBR
    oracle 18303 18137 0 01:22 ? 00:00:00 FNDLIBR
    oracle 18304 18137 0 01:22 ? 00:00:00 FNDLIBR
    oracle 18623 7256 0 01:23 pts/2 00:00:00 grep FNDLIBR


    4Q. How could I start/ stop the ICM ?
    Ans:   cd <COMMON_TOP>/admin/scripts/<SID>_<localhost_name>
     [applmgr@APPS VIS_apps]$ adcmctl.sh start apps/apps
     or 
     [applmgr@APPS VIS_apps]$ adcmctl.sh stop apps/apps

    5Q. Where is the location of the ICM log file ?
    Ans:If the environment variable APPLCSF is set, the ICM log file will be located in $APPLCSF/$APPLLOG. Otherwise, the ICM log will be located in $FND_TOP/$APPLLOG.
    The log file name has the following format: <SID>_MMDD.mgr

    The log file contains the following information:

    ========================================================================
    Starting VIS_0401@VIS Internal Concurrent Manager -- shell process ID 18064

    logfile=/APPS/viscomn/admin/log/VIS_apps/VIS_0401.mgr
    PRINTER=noprint
    mailto=oracle
    restart=N
    diag=N
    sleep=60 (default)
    pmon=20 (default)
    quesiz=1 (default)
    +---------------------------------------------------------------------------+
    Application Object Library: Concurrent Processing version 11.5
    Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
    Internal Concurrent Manager started : 01-APR-2008 01:22:34
    +---------------------------------------------------------------------------+
    Spawned Process 18128
    Process monitor session started : 01-APR-2008 01:22:34
    Spawned Process 18129
    Spawned Process 18130
    Spawned Process 18131
    Starting INVTMRPM Concurrent Manager : 01-APR-2008 01:22:36
    Spawned Process 18135
    Starting CRPINQMGR Concurrent Manager : 01-APR-2008 01:22:37
    Starting PODAMGR Concurrent Manager : 01-APR-2008 01:22:37
    Starting RCVOLTM Concurrent Manager : 01-APR-2008 01:22:37
    Starting RCVOLTM14 Concurrent Manager : 01-APR-2008 01:22:37
    Starting FNDCPOPP Concurrent Manager : 01-APR-2008 01:22:37
    Starting XDP_Q_EVENT_SVC Concurrent Manager : 01-APR-2008 01:22:37
    Starting XDP_APPL_SVC Concurrent Manager : 01-APR-2008 01:22:37
    Starting WFALSNRSVC Concurrent Manager : 01-APR-2008 01:22:37
    Starting WFMLRSVC Concurrent Manager : 01-APR-2008 01:22:38
    Starting FNDCRM Concurrent Manager : 01-APR-2008 01:22:38
    Starting STANDARD Concurrent Manager : 01-APR-2008 01:22:38
    Starting STANDARD Concurrent Manager : 01-APR-2008 01:22:38
    Starting STANDARD Concurrent Manager : 01-APR-2008 01:22:38
    Starting PASMGR Concurrent Manager : 01-APR-2008 01:22:38
    Starting XDP_MANAGER Concurrent Manager : 01-APR-2008 01:22:38
    Starting OAMCOLMGR Concurrent Manager : 01-APR-2008 01:22:38
    Starting INVMGR Concurrent Manager : 01-APR-2008 01:22:38
    Starting MRPMGR Concurrent Manager : 01-APR-2008 01:22:38
    Process monitor session ended : 01-APR-2008 01:22:38
    Process monitor session started : 01-APR-2008 01:24:38
    Spawned Process 18763
    Spawned Process 18764
    Spawned Process 18765
    Process monitor session ended : 01-APR-2008 01:24:40
    Process monitor session started : 01-APR-2008 01:26:40
    Spawned Process 18962
    Spawned Process 18963
    Spawned Process 18964
    Process monitor session ended : 01-APR-2008 01:26:43
    Process monitor session started : 01-APR-2008 01:28:43
    Spawned Process 19139
    Spawned Process 19140
    Spawned Process 19141
    Process monitor session ended : 01-APR-2008 01:28:46
    Process monitor session started : 01-APR-2008 01:30:46
    Spawned Process 19323
    Spawned Process 19324
    Spawned Process 19325
    Process monitor session ended : 01-APR-2008 01:30:48


    6Q. Where is the location of the ICM log file ?
    Ans: If the environment variable APPLCSF is set, then ICM log file will be located in $APPLCSF/$APPLLOG. Otherwise, the ICM log will be located in FND_TOP/$APPLLOG.

    The log file name has the following format: <SID>_MMDD.mgr

    Concurrent manager in Oracle Apps

    on

    Concurrent manager in Oracle Apps


    Lets discuss the very basics of Concurrent Managers, again the very basics for the beginners that read  :/http://appstier.blogspot.in/

    Two things are obvious:-
    1. Concurrent Manager is related to Concurrent  Programs
    2. Concurrent manager manages the concurrent(oops I mean parallel) execution of concurrent programs.

    So what's left to explain?.....Well nothing much, but I gave a commitment to one of my readers that I shall write something about concurrent managers today. And now when I begin to write, I realize it is worth writing something in plain English on this topic.


    Lets explain this with some Q&A
    Q : How to run a concurrent program?
    Ans: In oracle apps you have a concurrent program submission screen. You can submit the concurrent program from that screen.

    Q: What happens when you submit a concurrent program?
    Ans: There is something known as Concurrent Manager that runs in the background all the time. This background process, called Concurrent Manager ideally will be running 24x7.
    As the name suggests, purpose of a concurrent manager is to manage the submitted concurrent programs.

    Q: When I submit a concurrent program( or call it concurrent request), how does concurrent manager pick this up?
    Ans: Concurrent manager will be running in the background waiting for a concurrent program to be submitted. As soon as a concurrent program is submitted, it then gets put in an execution queue by concurrent manager.

    Q: Why does the Concurrent manager put a concurrent program into a queue? Why doesn't the manager simply let the program run?
    Ans: Because at any given point in time a concurrent manager can run no more than say 10 programs concurrently. This figure of 10 is configurable of course. First the manager puts a submitted program into a queue, next the manager checks if there is a slot available (i.e. Less than 10 programs are currently running). If a slot is found available, the concurrent manager then runs the program, or else it keeps the concurrent program in a queue with status Pending.

    Q: If we have two concurrent programs, that must never run in parallel(oops I mean concurrently)....can concurrent manager manage such scenarios?
    Ans: Of course it can. When you define a concurrent program, you can specify if there are any incompatible programs. If incompatible concurrent programs exist, then concurrent manager will wait for the incompatible program to complete.

    Q: Is that all what concurrent manager does?
    Ans: Much more, if interested, then read on….

    Concurrent manager is responsible for below things too…..

    Managing the printer:-
    An Oracle Report is registered as a concurrent program too. During submission or during the definition of concurrent program, we can specify the printer where report gets printed. Concurrent manager will send the output of the program to that printer.

    Managing the programs completion status-
    For example a pl/sql concurrent program can set retcode=2 to make a program complete with warning. Hence concurrent manager not just executes the program, but it manages the completion status of the program too.

    Classpath of a java program:-
    A concurrent program can be of type java too. If for this specific concurrent program you wish to use a set of java libraries, then you can specify the path of that library in concurrent program definition. Concurrent manager will amend the CLASSPATH to reflect the path of the java library.

    Interaction with host concurrent program-
    When running a host concurrent program, the concurrent manager passes the apps password as a parameter to the unix script

    Tracing a concurrent program
    Concurrent manager enable the session trace for the concurrent program, if enable trace checkbox is checked in program definition. You can then go to user dump directory and do tkprof on the file.

    Optimization options:-
    The concurrent program definition provides an option to specify optimization mode, like choose, fist rows,all rows, rule based etc. The concurrent manager will alter the optimization mode of the session before the submission of the program. Obviously this option has no relevance to Host type concurrent program.



    How to Start/Stop Concurrent Manager ? 

    In Oracle Applications 11i as you might already be aware that all startup shutdown scripts in 11i(11.5.10) are in $INST_TOP/admin/scripts/$CONTEXT_NAME where $CONTEXT_NAME is your SID_hostname , lets say your SID or Instance Name is VISION and its on machine with name machine1 so your CONTEXT_NAME will be VISION_machine1. So script to start/stop concurrent manager is adcmctl.sh where ad (In my view) is application dba , cm is concurrent manager & ctl means control. Well if you really want to explore more I'll suggest you open this file & go through it . If you open this script you will see syntax to run it in start or stop mode so I am not going to spoon feed you by giving syntax. When you run adcmctl.sh it records execution of this command in text file with name adcmctl.txt at directory $INST_TOP/logs/appl/admin/log/$CONTEXT_NAME. adcmctl.sh called another script startmgr which in turn calls batchmgr in $FND_TOP/bin and this is actual file which fire up Internal Concurrent Manager Process (Open these two files as they are text file and read content in these files.

    Lets check important parameter in this file
    DISPLAY Set it to some valid XServer , if this is not set properly your reports display will fail (specially one with PDF or Bar code dislay)

    DIAG_PARAM Diagnosis parameter it will take value Y or N with default N, If you encounter some error while starting Concurrent Manager you change this to Y and then extra logging will be enabled then check Concurrent Manager log file.

    CONCSUB stands for CONC(Concurrent) SUB(Submit) , used to submit concurrent request like shut down concurrent manager.

    If you like this post Please keep on Comment............