Tuesday, July 19, 2011

What is REVIVER In Oracle Applications:

What is REVIVER In Oracle Applications:

Reviver is used for momentary disconnects in the system where the concurrent managers and/or forms go down, and forms is later reconnected while the concurrent managers are not. FNDREVIVER revives the Internal Concurrent Manager (ICM) when it fails.
When ICM can no longer get a database connection, it kills itself and spawns the reviver. Reviver loops every 30 seconds, attempting to login to the database as apps user. Once login is successful, it starts up the ICM again.

If the failure is due to a brief network outage, or database issue, the managers are restarted, so the client does not have to restart the managers manually.

Reviver is recovery mechanism delivered with ATG RUP4 (patch 4676589), and runs in the background. In a Real Applications Cluster (RAC) environment, when the primary node goes down and ICM is set to migrate to the secondary node, the reviver parameter will be passed to the secondary node.

The easiest way to determine if reviver.sh exists is by checking the $FND_TOP/bin directory.

The variable resides in the context file under 's_cp_reviver' and can be set to "enabled" or "disabled". Based on the value of s_cp_reviver in the context file, AFCPDNR is started with a value of either "enabled" or "disabled" .

The reviver is started when starting the ICM, by passing a parameter reviver="enabled". You do this on the node you start the manager, and if the ICM is set to migrate to the second node, this parameter will be passes to the second node.
A common misconception is that users must start the reviver.sh manually, however this is not the intended use. It is automatically enabled when the parameter REVIVER_PROCESS="enabled" is passed via the adcmctl.sh concurrent manager startup script.


On a single node concurrent processing system, FNDREVIVER is the only way to recover from a database connection loss.

On a two node system (PCP), there is another factor, the Internal Monitor (FNDIMON).The FNDIMON will race to restart the internal manager in a multi node setup, and by the time the reviver starts it will likely see that the ICM is already running and exit accordingly.
FNDIMON checks whether it can connect to the database in order to determine if the ICM is running, and if the database connection is not available it fails to run and exits accordingly. The reviver is a shell script which loops until a connection is obtained, and then starts the manager accordingly. The reviver's job is the last line of defense after a database connection failure, as FNDIMON only works when the database connection is available.

In the event the ICM goes down due to a network outage, then the reviver would be needed to bring the ICM back up.

How to check and Enable reviver in Oracle Applications (Its by default enabled in R12):

The following parameters can be set in the context file, and then autoconfig should be re-run to enable reviver:

Example:
 $grep -i s_cp_reviver $CONTEXT_FILE
<cp_reviver oa_var="s_cp_reviver">enabled</cp_reviver>


Reviver Process PID Directory Location (s_fndreviverpiddir)

This variable specifies the path where ICM reviver process pid file will be created. Oracle recommends using a local disk as the PID file location because
the reviver process may run when the network is down.


Example:
<fndreviverpiddir oa_var="s_fndreviverpiddir">/u02/oracle/visappl/fnd/11.5.0/log</fndreviverpiddir>


All about DataInstaller & Hrglobal.drv in Oracle Applications

All about DataInstaller & Hrglobal.drv in Oracle Applications

This posts covers what is datainstaller & hrglobal.drv and when do we need to run them.

DataInstaller and hrglobal.drv are used for installing legislative data into Oracle Applications,For example a company operates in multiple counntries and payroll and HR practices are different in each countires, So they need to have all the legislative regulations (Taxation and HR rules and regulations) of the all the countries they run their business.

To achive this Oracle provides a set of patches, which need to applied to the Oracle applications.

These patches are country specific, The patch matrix can be found from Latest Oracle HRMS Legislative Data Patch Available (HR Global / hrglobal) [ID 145837.1]

To Install the legislative data please follow the below 4 steps:

1) PER & PAY modules need to be licenced ( This is madantory requirement)

2) Identify the patches & apply them based on your requirement from the Note:  145837.1
(Check the countires you need legislations and versions of the Applications)

3)After applying the patches run the datainstaller

Datainstaller is java command which will launch a interface to choose the set of legislation you require.

Always Install Global along with the country legislation you install.

Ex: If you wish to install US  legislations , Install Global and US.

You can install either payroll or hr for the the specific country your require or you can choose both.

The command line for the Data Install program is as follows:

Always run the datainstaller command from Middle Tier (Not from DB node) command line (VNC not needed)

Syntax:
java oracle.apps.per.DataInstall apps <apps_pwd> thin <db Hostname>:<db port>:<Db SID>
Example:

java oracle.apps.per.DataInstall apps apps thin testdb.oracle.com:1521:TESTDB

You will see a screen like below:

DataInstall Main Menu

1. Select legislative data to install/upgrade
2. Select college data to install/upgrade
3. Select JIT/Geocode or OTL to install/upgrade
4. Exit to confirmation menu

Enter your choice : 1

For more details on how to run Data Installer and hrglobal.drv Please check NOTE ID 140511.1

4)The last step in this process is to apply the hrglobal.drv

hrglobal.drv is patch driver file located in $PER_TOP/patch/115/driver, Apply it using
adpatch to populate the legislative data into the required HR tables in the database.

hglobal.drv can be applied as hotpatch.

Syntax:
adpatch driver=$PER_TOP/patch/115/driver/hrglobal.drv logfile=hrglobal.drv.log options=hotpatch <optional>

FAQ

Q) Do we need to run the datainstaller and hrglobal.drv every time we apply a HRMS patch?

A) No, Not needed, You need to run datainstaller when ever you apply the HRMS RUP patches or Upgrade Oracle Apps or Upgrade HRMS module.

In the above cases you need re0check the patch matrix and apply the nessesaty paches and run datinstaller & hrglobal.drv.

If any patch explicitely says you to run the datainstaller & hrglobal.drv you need to run them

Basically for regular HRMS patching (one-offs and Mini) you no need to run the datainstaller.

Sometimes you may need to apply hrglobal.drv and you may not needed datainstaller (when there is no change in the legislative selection)

Oracle Apps 12.1.3 upgrade post upgrade steps for Oracle E-Business Suite Integrated SOA Gateway:

Oracle Apps 12.1.3 upgrade post upgrade steps for Oracle E-Business Suite Integrated SOA Gateway:

If you have upgraded the applications to 12.1.3 and you have SOA gateway integrated with EBSO, The below steps are mandatory to perform.

0)Techstack Upgrade

The Minimum patch set for Applications Server required for SOA is 10.1.3.5.0
A)upgrade your system to Oracle10g Application Server Patch Set 5 (10.1.3.5.0).

i)Apply the latest opatch
- cd $IAS_ORACLE_HOME
- mv OPatch OPatch_old

- unzip -d $IAS_ORACLE_HOME /tmp/p6880880_101000_LINUX.zip (Download the patch from support.oracle.com)
- chmod -R 755 OPatch
- $IAS_ORACLE_HOME/OPatch/opatch version
- OPatch Version: 1.0.0.0.63

ii)Install 10.1.3.5 Patchset 8626084
- Source the env file under $INST_TOP/ora/10.1.3

- cd $INST_TOP/ora/10.1.3
- . ./$CONTEXT_NAME.env
- uname -i
- If it is a 64-bit OS (x86_64) then do the following
- linux32 ksh
- uname –i
- It should give i386

iii)Verify the inventory and ensure it has proper values

iv)Invoke the runInstaller from VNC
- cd /patches/8626084/Disk1
- ./runInstaller -invPtrLoc $ORACLE_HOME/oraInst.loc
- Screen 1) Select the 1013 ORACLE_HOME from the drop down list
- Screen 2) Provide the oc4jadmin password

- Complete the upgrade

Command to check version After the Upgrade:
- $ORACLE_HOME/OPatch/opatch lsinventory -detail -invPtrLoc $ORACLE_HOME/oraInst.loc | egrep 'Oracle Application Server 10g|Patch of Oracle Application Server 10g'

B)Verify the 10.1.2.X  Oracle Home version and the required version is 10.1.2.3:

Example:
$ORACLE_HOME/OPatch/opatch lsinventory -detail -invPtrLoc $ORACLE_HOME/oraInst.loc | egrep 'Oracle Application Server 10g|Patch of Oracle Application Server 10g'
Oracle Application Server 10g                                    10.1.2.0.2
Patch of Oracle Application Server 10g                           10.1.2.3.0


1)Source the file $INST_TOP/ora/10.1.3/.env and then apply the following patches to the Oracle10g
Application Server 10.1.3.5 Oracle Home using opatch:

- Source the env file under $INST_TOP/ora/10.1.3
- cd $INST_TOP/ora/10.1.3
- . ./$CONTEXT_NAME.env

Apply the below techstack patches using opatch
- 9435187
- 9371120
- 9668283
- 7366746


2)Configuring Oracle E-Business Suite Integrated SOA Gateway Release 12.1.3

A)Apply the following Oracle E-Business Suite patch:

i) 9668283

- unzip p9668283_10135_GENERIC.zip
- cd $INST_TOP/ora/10.1.3
- . ./$CONTEXT_NAME.env
- cd 9668283
- opatch apply

ii) 9905881
Apply the above patch 9905881 using adpatch

B)Follow the configuration steps from Step 2 to Step 11 described in the section 3.3 Configuring
Oracle E-Business Suite Integrated SOA Gateway Release 12.1.2 to enable Oracle E-Business Suite Integrated SOA Gateway Release 12.1.3. 

i)Set applications environment and stop all application tier processes.

- From the applications instance $APPL_TOP, set the environment by running the APPS<CONTEXT_NAME>.env script
- Stop all application tier processes for the instance by running the script $ADMIN_SCRIPTS_HOME/adstpall

ii)Run TXK development script to install Oracle Application Server Adapter for Oracle Applications as shown below:

- $FND_TOP/bin/txkrun.pl -script=CfgOC4JApp -applicationname=pcapps -oracleinternal=Yes  - oc4jpass=welcome12 -runautoconfig=No

Note: If the 'oc4jadmin' password for the OAFM oc4j instance is not known, then reset the password in the file  
 $INST_TOP/ora/10.1.3/j2ee/oafm/config/system-jazn-data.xml before running the script. Take the backup of system-jazn-data.xml before resetting the password.
 Replace the modified system-jazn-data.xml with backup of system-jazn-data.xml after running the script.


        For example, if you want to reset the password to 'welcome12', below should be the entry:

              <user>
                  <name>oc4jadmin</name>
                  <display-name>OC4J Administrator</display-name>
                  <guid>23C8E4F0BDDE11DCBFB8AF3B7E0DDB2D</guid>
                  <description>OC4J Administrator</description>
                  <credentials>!welcome12</credentials>
              </user>

iii)Run TXK deployment script to install forms-c4ws.ear and configure container Forms-c4ws J2EE group correctly, as shown below:
- $FND_TOP/bin/txkrun.pl -script=DeployForms-c4ws

iv)Enable the new container forms-c4ws. (By default, the new OC4J container forms-c4ws will be disabled.)

- To enable the new container forms-c4ws, modify the following values of context variables in the $CONTEXT_FILE:
- Set 's_forms-c4wsstatus' to "enabled".
- Set 's_forms-c4ws_nprocs' to "1".

v)Run AutoConfig on MT Node

vi)Start all application tier processes for the instance by running the script $ADMIN_SCRIPTS_HOME/adstrtal

vii)Enable ASADMIN user using the following steps:

         1. Log on to Oracle E-Business Suite using sysadmin/sysadmin.
         2. Select the User Management responsibility in the Navigator.
         3. Click the Users link from the navigation menu to open the User Maintenance window.
         4. Locate 'ASADMIN' user by entering information in the search area to retrieve the 'ASADMIN' user.
         5. Click the Update icon next to the ASADMIN user to open the Update User window.
         6. Remove the Active To date field and click Apply.
         7. Click the Reset Password icon next to the ASADMIN user to open the Reset Password window.
         8. Enter new password twice and click Submit.


viii)After activating the ASADMIN user, verify if the ASADMIN user has the 'Apps Schema Connect Role' (UMX|APPS_SCHEMA_CONNECT) role in wf_user_roles.

- If the 'Apps Schema Connect Role' role is not present in the wf_user_roles for the ASADMIN user, then run the 'Workflow Directory Services User/Role Validation' concurrent program to grant the role.
ix)Reset the 'ASADMIN' password in the file system.

 After 'ASADMIN' user is enabled from Oracle E-Business Suite, update the file

 $INST_TOP/ora/10.1.3/j2ee/oafm/config/system-jazn-data.xml as shown below to reset the password:

 <user>
 <name>ASADMIN</name>

 <display-name>Default Apps SOA User</display-name>
 <description>Used by SOAProvider for DB connection</description>
 <credentials>!<NEW PASSWORD></credentials>
 </user>

3)Bring up all the services and perform complete health check

Oracle Applications Upgrade from 12.1.1 to 12.1.3

Oracle Applications Upgrade from 12.1.1 to 12.1.3 (With Database 11.1.0.7):

The below steps outline the step by step actions to upgrade Oracle apps from 12.1.1 to 12.1.3

1)Bring down all the services and Take cold backup of the instance (Suggested)

2) Apply Database Patches
Please check and apply the below database patches.
For all UNIX/Linux platforms
    * 7111245
    * 7211965
    * 7330434
    * 7486407
    * 7627743
    * 7639602
    * 7684818
    * 8199107
    * 8639653
    * 8940108
    * 9026927
    * 9066130
    * 9554727
    * 9743057


3)For Linux x86-64, patch 7319922 contained within 7684818 was packaged incorrectly.

The new version of patch 7319922 has to be applied. Perform the following instructions:
Go to the 11.1.0.7 $ORACLE_HOME/inventory/oneoffs/7319922 directory.
Run "opatch rollback -id 7319922" to rollback patch 7319922.
Download the new version of patch 7319922 on My Oracle Support.
Go to the patch 7319922 directory.

Run "opatch apply"

4)Modify Initialization Parameters
_disable_fast_validate=TRUE
recyclebin=off

5)Techstack Upgrade:
 A)Verify the 10.1.3.X  Oracle Home version and the required version is 10.1.3.4 or higher <Use Document 454811.1> (for 10.1.3.5 ) or <Document 728531.1> (for 10.1.3.4 ) to upgrade it

 TO check the versions perform the below
 --------------------------------


 cd $INST_TOP/ora/10.1.3
 . ./$CONTEXT_NAME.env


 $ORACLE_HOME/OPatch/opatch lsinventory -detail -invPtrLoc $ORACLE_HOME/oraInst.loc | egrep 'Oracle Application Server 10g|Patch of Oracle Application Server 10g'
 Note: Oracle Application Server 10g signifies the Base Install and
 Patch of Oracle Application Server 10g signifies the Patchset on top of it

 Example: 
  $ORACLE_HOME/OPatch/opatch lsinventory -detail -invPtrLoc $ORACLE_HOME/oraInst.loc | egrep 'Oracle Application Server 10g|Patch of Oracle Application Server 10g'
 Oracle Application Server 10g                                    10.1.3.0.0
 Patch of Oracle Application Server 10g                           10.1.3.4.0
 


 B)Verify the 10.1.2.X  Oracle Home version and the required version is 10.1.2.3 <Use Document 437878.1 to upgrade it.>

 TO check the versions perform the below
 ----------------------------------------


 Log-out and Re-Login, before performing the following steps.

 $ORACLE_HOME/OPatch/opatch lsinventory -detail -invPtrLoc $ORACLE_HOME/oraInst.loc | egrep 'Oracle Application Server 10g|Patch of Oracle Application Server 10g'

 Note: Oracle Application Server 10g signifies the Base Install

 Patch of Oracle Application Server 10g signifies the Patchset on top of it

 Example:

 $ORACLE_HOME/OPatch/opatch lsinventory -detail -invPtrLoc $ORACLE_HOME/oraInst.loc | egrep 'Oracle Application Server 10g|Patch of Oracle Application Server 10g'
 Oracle Application Server 10g                                    10.1.2.0.2
 Patch of Oracle Application Server 10g                           10.1.2.3.0
 



6)Applications upgrade


a)Apply R12.AD.B.DELTA.3 <Patch 9239089>

Usage:
------
  1. Create $ORACLE_HOME/appsutil/admin on the database server.

  2. Copy adgrants.sql (UNIX) from this patch directory to $ORACLE_HOME/appsutil/admin.
  3. Set the environment to point to ORACLE_HOME on the database server.
  4. Use SQL*Plus to run the script:
     $ sqlplus /nolog
     SQL> @$ORACLE_HOME/appsutil/admin/adgrants.sql APPLSYS
  5. Apply u9239089.drv of the patch using adpatch
b)Apply Oracle E-Business Suite Release 12.1.3 <Patch 9239090>
  Apply  u9239090.drv of the patch using adpatch
c)Apply the latest consolidated online help <Patch 9239095>
  Apply u9239095.drv of the patch using adpatch


7)Post-Update Steps:

Apply post-install Oracle E-Business Suite Applications Technology patches. (Required)

 A) Apply mandatory Patch 9817770 (9817770:R12.ATG_PF.B [POST-R12.ATG_PF.B.DELTA.3 CONSOLIDATED PATCH].)
 
     Apply  u9817770.drv of the patch using adpatch
    
 B) Apply mandatory Patch 9966055 (9966055:R12.FND.B [TRANSLATED VERSION OF FNDSCSGN NOT LAUNCHED].)

     Apply  u9966055.drv of the patch using adpatch

8)Run autoconfig

Application tier:
-------------------

$cd $ADMIN_SCRIPTS_HOME
$adautocfg.sh
Run the admkappsutil.pl utility to create the file appsutil.zip in the <INST_TOP>/admin/out directory.
$perl $AD_TOP/bin/admkappsutil.pl

Database tier:
-------------------

Copy or FTP the appsutil.zip file to the <RDBMS ORACLE_HOME>.
$cd $ORACLE_HOME
$unzip -o appsutil.zip
Run AutoConfig on the Database Node:
$cd $ORACLE_HOME/appsutil/scripts
$adautocfg.sh
9)Modify Initialization Parameters and bounce database
remove entry _disable_fast_validate=TRUE
set recyclebin=ON


10) Start Applications and Perform a health check of the instance.