Oracle EBS 11i 32 bit to R12.2 to R12.2.4 64bit

Totally taken 300 hrs to complete the first iteration along with the documenting the steps.

Initial plan and Pre-requisities steps to Upgrade ERP
=========================================
Oracle Database Software 10.2.0.4 64bit installation
10.2.0.4 64bit RDBMS dbTechStack Configuration in Testplan
Done Analysis of Migration of 32bit data to 64bit Data using RMAN
Recovered 32bit database and migrated to 64bit using RMAN
Done Analysis on OLAP Conversion from 32bit to 64bit
OLAP conversion from 32bit to 64bit
Apps binaries copy is done location test server – appldev /d02
11.2.0.4 Software copy to the server
Apps clone and Basic validation of 11.5.10.2 after clone.
Database upgrade from 10.2.0.4 64bit to 11.2.0.4 64bit
Downloaded the Interoperability Patches
Downloaded the rdbms Patches
Done Patch analysis of all the Patches
11.2.0.4 software only installation and apply all the RDBMS Patches
Apply all the application interoperability Patches
Post upgrade steps for 10.2.0.4 to 11.2.0.4
Done analysis on OATM Conversion
Perform the OATM Conversion
Downloaded the R12.2 Software from e-delivery
Done analysis for Upgrade Steps to R12.2 from 11.5.10.2 with 11.2.0.4 64 bit database
Done Basic validation after database upgrade of 11.5.10.2 Application ,Post steps and taken RMAN Backup

Upgrade Steps of R12.2.0
========================
Build Stage R12.2.0
Done Analysis and Applied all the 24 RDBMS Patches specific to 11.2.0.4 for R12.2.0
Ran Tums Utility and verified the steps to take care before upgrade
Perform Pre-requistie’s steps before going to upgrade
Ran Rapidwiz and install the Application in upgrade mode by providing existing database
Perform Post Upgraade Steps
Done analysis and Applied AD R12.2 Upgrade Driver Patch
Done analysis and Applied CUP Patch
Pre-requisities steps before running American Driver patch
Ran American Driver patch

Post Steps after the patching
=============================
Configure Release 12.2 E-Business Suite instance
Run Rapid Install to configure Release 12.2 E-Business Suite instance.
Done analysis and Applied E-Business Suite:Online Patching Readiness and GSCC Report patch
Ran the scripts of GSCC Report and worked on the pre and post recommendations provided
Preformed pre-requisties Steps before applying online patching
Done Analysis and Applied adop Patch
Oracle E-Business Suite NLS Release 12.2.0 Latin American Spanish
Done Analysis on ADOP
Done Analysis and applied latest AD and TXK for Release 12.2 both US and NLS patches
Upgrade Steps of R12.2.4
Done analysis and prepared the execution steps for upgrade from R12.2.0 to R12.2.4
Performed pre-requisties Steps before applying 12.2.4 upgrade pack
Done Analysis and Applied Oracle E-Business Suite 12.2.4 Release Update Pack

Skipping the step for oracle database upgrade from 10.2.0.3 to 11.2.0.4. Also attaching the bit conversion of oracle database from 10.2.0.4 32 bit to 10.2.0.4 64bit and OATM migration. Remaining all just an upgrade steps.

So assuming database upgraded from 10.2.0.4 32bit to 11.2.0.4 64 bit. Please follow the other steps.

To complete the upgrade to Release 12.2, you must upgrade your database to at least
Oracle 11g Release 2 (11.2.0.4).
Assume like we are on 11.2.0.4 database
==>1349240.1This document details the database preparation process for Oracle E-Business Suite Release 11i and R12 (12.0, 12.1) customers planning to upgrade to Release 12.2
==>Interoperability Notes Oracle EBS R12 with Oracle Database 11gR2 (11.2.0.3) (Doc ID 1585578.1)
12951696 (only this one is missing, remaining all patches are applied)
==>PSU patch already applied (1147107.1)
==>The note1349240.1 refers to
Oracle E-Business Suite Release 12.2: Consolidated List of Patches and Technology Bug Fixes (Doc ID 1594274.1)
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=223414393749160&id=1594274.1&_afrWindowMode=0&_adf.ctrl-state=rc7l1w56r_744
Refer Section 2.2: Database 11.2.0.4 Patches and Bug Numbers
==>Important patching point: -Included in startCD’ column is not relevant for 11.2.0.4 Database. Apply all the patches listed for your platform.
Hence need to apply all the patches mentioned in table1 of section 2.2(mentioned under LinuxX86-64)
==>
1)4189542 –Applied
2)4247037 –Applied

# Once applied with opatch, the files are located in $ORACLE_HOME/md/admin
# and $ORACLE_HOME/md/support for patchset_mgdsys_validity.sql
# Patch Special Instructions:
# To install:
# connect to the database using sqlplus / as sysdba
# sqlplus> @catmgdidcode
# If checking with patchset_mgdapp_validity.sql you find invalid objects
# please run $ORACLE_HOME/rdbms/admin/utlrp.sql which should resolve any issues.
# Thepatchset_mgdsys_validity.sql script in support was written by
# BDE engineer to check the status of the build not by development
# Todeinstall
# connect to the database using sqlplus / as sysdba
# sqlplus> @catnomgdidcode (NOTE: file is located in $OH/md/admin)

3)12949905 – Applied
4)16929165 – Applied
5)16989137 -Applied

The following steps load modified SQL files into the database. For a RAC environment, perform these steps on only one node.

1. For each database instance running on the Oracle home being patched, connect to the database using SQL*Plus. Connect as SYSDBA and run the below script as follows:

$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @?/sqlpatch/16989137/postinstall.sql

2. Check the output for any errors.

6)16992075 -Applied
7)17402822 -Applied
8)17420796 _Applied
9)17429475-Applied
10)17468141-Already Applied as part of PSU
11)17478145 -Applied
12)17501296 –Already Applied as Part of PSU

(3) Postinstallation
———————-
Note: This step is needed only if the database is already upgraded to 11.2.0.4

The following steps load modified SQL files into the database. For a RAC
environment, perform these steps on only one node.

1. For each database instance running on the Oracle home being patched,
connect to the database using SQL*Plus. Connect as SYSDBA and run the below
script as follows:

$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @?/sqlpatch/17501296/postinstall.sql

2. Check the output for any errors.

13)17600719–Appiled
14)17629476  This database patch is required to support the latest AD and TXK release update packs, as described in My Oracle Support Knowledge Document 1617461.1, Applying the Latest AD and TXK Release Update Packs to Oracle E-Business Suite Release 12.2. –Applied

(III) Postinstallation
———————-

The following steps load modified SQL files into the database. For a RAC environment, perform these steps on only one node.

1. For each database instance running on the Oracle home being patched, connect to the database using SQL*Plus. Connect as SYSDBA and run the below script as follows:

$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @?/sqlpatch/17629476/postinstall.sql

2. Check the output for any errors.

15)17892268 -Applied
16)17912217
17)17944018 -Applied

(III) Postinstallation
———————-

The following steps load modified SQL files into the database. For a RAC environment, perform these steps on only one node.

1. For each database instance running on the Oracle home being patched, connect to the database using SQL*Plus. Connect as SYSDBA and run the below script as follows:

$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @?/sqlpatch/17944018/postinstall.sql – Ran 15min

2. Check the output for any errors.

18)18061712 For a more recent version of this fix that also includes additional fixes, refer to Patch 19122520 and its associated footnote.
19)18241194 This database patch is no longer available. For a more recent version of this fix refer to Patch 19122520 and its associated footnote.

Patch 19122520 is enough instead of above patches – Applied
20)18419770 -> Applied
21) 18614015 – Applied

(III) Postinstallation
———————-

The following steps load modified SQL files into the database. For a RAC environment, perform these steps on only one node.

1. For each database instance running on the Oracle home being patched, connect to the database using SQL*Plus. Connect as SYSDBA and run the below script as follows:

$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @?/sqlpatch/18614015/postinstall.sql

2. Check the output for any errors.

22) 18665660 – Applied
23) 18685209 -Applied
24) 19122520 – Already Applied Above

Step 2) Install TUMS Patch Utility for 11i to upgrade to R12.2
TUMS Utility for Release 11i to Release 12.2 upgrade – 18342870

1. Apply the following driver file using adpatch:
u18342870.drv (This is the unified driver)

2. Generate the TUMS report by executing the following command:

$ cd $AD_TOP/patch/115/sql
$ sqlplus/ @adtums.sql

A report file called tumsr12.html will be created in the directory. This
directory path must have been listed in the UTL_FILE_DIR parameter of your
database.

TUMS Utility RecommendationsPreparing for the Upgrade:-
==========================================
1. Back up database, Applications, and customizations (recommended).
2. Prepare an upgrade plan for customizations (conditional).

Preserve the CUSTOM library by making a backup copy of CUSTOM.pll. You
can use this copy later in the upgrade process to migrate your CUSTOM library
to Release 12.2.
4) Drop event alert triggers in custom schemas (conditional).
Applies to 11i release level: All
TUMS step key: N/A
To drop all event alert database triggers in custom schemas, run the alrdtrig.sql
script, located in $ALR_TOP/admin/sql (in your Release 11i system). Re-create the
triggers after the upgrade is complete.
5. Review sizes of old and new tablespaces (required).
Applications Release 12 Upgrade Sizing and Best Practices (Doc ID: 399362.1).
Applications Technology Tasks
Supply Chain Management Tasks
Checking for Duplicate Records
Applies to 11i release level: All
TUMS step key: EGO_CHECK_FOR_DUPLICATES
Run the following query and verify the output:
SELECT COUNT(1)
FROM SYS.ALL_IND_COLUMNS
WHERE INDEX_NAME = ‘EGO_MTL_SY_ITEMS_EXT_B_U2’
AND COLUMN_NAME = ‘UNIQUE_VALUE’
AND INDEX_OWNER = ‘EGO’;

SQL> SELECT COUNT(1)
FROM SYS.ALL_IND_COLUMNS
WHERE INDEX_NAME = ‘EGO_MTL_SY_ITEMS_EXT_B_U2’
AND COLUMN_NAME = ‘UNIQUE_VALUE’
AND INDEX_OWNER = ‘EGO’; 2 3 4 5

COUNT(1)
———-
0

If the above query returns ‘0’ as the output, then perform the following steps:
1. Take backup of ego_mtl_sy_items_ext_b table
2. Refer to Note ID: 953449.1 and run the script provided in the ‘Identification
Script’ column within the ‘Solution – Datafix’ section to identify duplicate
records.
If there are duplicate records, then run the scripts provided in the ‘Fix’ column
within the ‘Solution – Datafix’ section for the appropriate base version to delete
duplicate records.
Note: You must eliminate duplicate records before upgrading
to Release 12.2. If you require help eliminating duplicate
records, then contact Oracle Support.

Checked the note id no duplicate records found

SQL> SELECT COUNT(*) AS v_count ,
inventory_item_id,
2 3 organization_id,
4 revision_id,
5 attr_group_id
6 FROMapps.ego_mtl_sy_items_ext_b a
7 WHERE EXISTS (SELECT 1
8 FROMapps.ego_fnd_dsc_flx_ctx_ext b
9 WHEREa.attr_group_id = b.attr_group_id
10 ANDapplication_id = 431
11 ANDmulti_row<> ‘Y’)
12 GROUP BY inventory_item_id,
13 organization_id,
revision_id,
14 15 attr_group_id
16 HAVING COUNT(*) > 1;

no rows selected

Enterprise Asset Management:

Perform these tasks if you are using Oracle Enterprise Asset Management (EAM).
1. Set up the Install Base Parameters and Services Profile Option
Applies to 11i release level: All
TUMS step key: EAM_CHECK_SETUP
You must set up the Install Base Parameters and Services Profile Option in
2-26 Oracle E-Business Suite Upgrade Guide
accordance with Note 884201.1. If this note is not checked and the IB Parameters are
not verified and set up as described, then the eamsnupd.sql file will fail during
patching, therefore creating data corruptions and the upgraded database will be
compromised. Asset Numbers Upgrade will fail, and half of the Asset Numbers
will be lost after the upgrade process.

Step2)
==>Database Initialization Parameters for Oracle E-Business Suite Release 12 (Doc ID 396009.1).
Verify above note id and set parameters if any
_optimizer_autostats_job=FALSE #MP Turn off automatic statistics.
recyclebin=off
service_names=%s_dbSid%,ebs_patch ==>UAT,ebs_patch
local_listener=%s_dbSid%_LOCAL ==> UAT_LOCAL
==>Ensure that the GUEST account is valid and active and that the fnd_user USER_ID for
the GUEST account is set to a value of ‘6’.

==>Gather Schema Statistics :- Submit the Gather Schema Statistics program for ALL schemas

From your Release 11i APPL_TOP, complete the following steps:
1. Log in to Oracle E-Business Suite as the System Administrator.
2. Navigate to the Submit Request window (Requests > Run).
3. Submit the Gather Schema Statistics program.

Alternatively, run the following procedure manually:
FND_STATS.GATHER_SCHEMA_STATISTICS(‘ALL’, 10, :parallel_degree,
‘NOBACKUP’, NULL, ‘LASTRUN’, ‘GATHER AUTO’, 10, ‘N’);
Where: parallel_degree is set to the value of the database initialization

==>Install JRE on the database tier: – If you are planning to run Rapid Install in Upgrade Mode by using the Use ExistingORACLE HOME option, then you must install JRE in the Database
ORACLE_HOME as follows:
Download the latest JRE 6.0 Update.
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Note: Do not download the Java SE Development Kit (JDK). To download platform specific JRE and additional information on installation, refer to Using Latest Java 6.0 Update With Oracle E-Business Suite Release 12 (Doc ID 455492.1).
[root@testplantmp]# ls -ltrjre*
-rw-r–r–. 1 root root 33632504 Oct 13 14:08 jre-7u67-linux-x64.rpm
[root@testplantmp]# rpm -ivUh jre-7u67-linux-x64.rpm
Preparing… ########################################### [100%]
1:jre ########################################### [100%]
Unpacking JAR files…
rt.jar…
jsse.jar…
charsets.jar…
localedata.jar…
jfxrt.jar…
[root@testplantmp]#
It will create jre under /usr/java
[root@testplan jre1.7.0_67]# pwd
/usr/java/jre1.7.0_67
copy it to $ORACLE_HOME/appsutil
$ cd [ORACLE_HOME]/appsutil
$ mvjrejre_old –> if it already exists
$ mv jre1.7.0_67/ jre
Run Rapid Install :-
[oracle@testplan R12.2]$ ls -ltr *.zip
-rw-r–r–. 1 oracle dba 8100608 Oct 14 02:37 V46139-01.zip
-rw-r–r–. 1 oracle dba 85594608 Oct 14 02:37 V46243-01_2of3.zip
-rw-r–r–. 1 oracle dba 616473105 Oct 14 02:37 V35231-01_3of5.zip
-rw-r–r–. 1 oracle dba 398816986 Oct 14 02:37 V46140-01.zip
-rw-r–r–. 1 oracle dba 5167637434 Oct 14 02:39 V46243-01_1of3.zip
-rw-r–r–. 1 oracle dba 101976210 Oct 14 02:39 V46243-01_3of3.zip
-rw-r–r–. 1 oracle dba 979195792 Oct 14 02:40 V35231-01_1of5.zip
-rw-r–r–. 1 oracle dba 2738693963 Oct 14 02:41 V35811-01.zip
-rw-r–r–. 1 oracle dba 659229728 Oct 14 02:41 V35231-01_2of5.zip
-rw-r–r–. 1 oracle dba 1142195302 Oct 14 02:42 V35230-01_2of2.zip
-rw-r–r–. 1 oracle dba 113915106 Oct 14 02:42 V35231-01_5of5.zip
-rw-r–r–. 1 oracle dba 479890040 Oct 14 02:42 V35231-01_4of5.zip
-rw-r–r–. 1 oracle dba 1358454646 Oct 14 02:43 V35230-01_1of2.zip
-rw-r–r–. 1 oracle dba 3000447453 Oct 14 02:44 V35809-01.zip
-rw-r–r–. 1 oracle dba 2425982543 Oct 14 02:45 V35812-01.zip
-rw-r–r–. 1 oracle dba 3366737284 Oct 14 02:46 V35807-01.zip
-rw-r–r–. 1 oracle dba 2939997663 Oct 14 02:48 V35810-01.zip
-rw-r–r–. 1 oracle dba 1174163462 Oct 14 02:48 V35806-01_2of3.zip
-rw-r–r–. 1 oracle dba 2993600143 Oct 14 02:50 V35808-01.zip
-rw-r–r–. 1 oracle dba 1444937228 Oct 14 02:50 V35805-01_1of2.zip
-rw-r–r–. 1 oracle dba 1469296893 Oct 14 02:51 V35806-01_1of3.zip
-rw-r–r–. 1 oracle dba 1722651490 Oct 14 02:52 V35804-01_2of2.zip
-rw-r–r–. 1 oracle dba 1092680934 Oct 14 02:52 V35806-01_3of3.zip
-rw-r–r–. 1 oracle dba 1388965561 Oct 14 02:53 V35805-01_2of2.zip
-rw-r–r–. 1 oracle dba 746176239 Oct 14 02:53 V35802-01.zip
-rw-r–r–. 1 oracle dba 1664375467 Oct 14 02:54 V29764-01.zip
-rw-r–r–. 1 oracle dba 1305341704 Oct 14 02:54 V35804-01_1of2.zip
-rw-r–r–. 1 oracle dba 1301604194 Oct 14 02:55 V35803-01_1of3.zip
-rw-r–r–. 1 oracle dba 1072459718 Oct 14 02:55 V35803-01_2of3.zip
-rw-r–r–. 1 oracle dba 1439731111 Oct 14 02:56 V35803-01_3of3.zip
-rw-r–r–. 1 oracle dba 766477637 Oct 14 02:56 V35813-01.zip
-rw-r–r–. 1 oracle dba 195152 Oct 14 02:56 V46241-01_2of9.zip
-rw-r–r–. 1 oracle dba 1067931167 Oct 14 02:57 V29856-01.zip
-rw-r–r–. 1 oracle dba 645976865 Oct 14 02:57 V36805-01.zip
-rw-r–r–. 1 oracle dba 280206475 Oct 14 02:57 V46198-01.zip
-rw-r–r–. 1 oracle dba 545468978 Oct 14 02:58 V46241-01_4of9.zip
-rw-r–r–. 1 oracle dba 21151272 Oct 14 02:58 V46241-01_1of9.zip
-rw-r–r–. 1 oracle dba 509451855 Oct 14 02:58 V46241-01_3of9.zip
-rw-r–r–. 1 oracle dba 272711208 Oct 14 02:58 V46241-01_5of9.zip
-rw-r–r–. 1 oracle dba 102613913 Oct 14 02:58 V46241-01_9of9.zip
-rw-r–r–. 1 oracle dba 218120 Oct 14 02:58 V46241-01_7of9.zip
-rw-r–r–. 1 oracle dba 591609251 Oct 14 02:58 V46241-01_6of9.zip
-rw-r–r–. 1 oracle dba 570439034 Oct 14 02:58 V46241-01_8of9.zip
[oracle@testplan R12.2]$
==>Unzip only bow file first
[oracle@testplan R12.2]$ ls -ld *46243*
-rw-r–r–. 1 oracle dba 5167637434 Oct 14 02:39 V46243-01_1of3.zip
-rw-r–r–. 1 oracle dba 85594608 Oct 14 02:37 V46243-01_2of3.zip
-rw-r–r–. 1 oracle dba 101976210 Oct 14 02:39 V46243-01_3of3.zip

Then
cd/d01/software/R12.2/startCD/Disk1/rapidwiz/bin
[applmgr@upgdb bin]$ ./buildStage.sh

build1 build2

Running command:

/d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../jre/Linux_x64/1.6.0/bin/java -classpath /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../jlib/emocmutl.jar:/d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../jlib/ewt-3_4_22.jar:/d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../jlib/share-1_1_18.jar:/d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../jlib/jnls.jar:/d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../jlib/ACC.JAR:/d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../jlib/netcfg.jar:/d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../jlib/ojdbc14.jar:/d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../jlib/OraInstaller.jar:/d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../jlib/java oracle.apps.ad.rapidwiz.util.StageBuilder /d01/software/R12.2/startCD/Disk1/rapidwiz/bin Linux_x64 Linux_x64

Specify the directory containing the zipped installation media:
/d01/software/R12.2
File list:
/d01/software/R12.2/startCD/Disk1/rapidwiz/bin/stageData/zipFiles.dat
The set of zip files is complete.
Unzip command is: /d01/software/R12.2/startCD/Disk1/rapidwiz/unzip/Linux_x64/unzip -o
Unzipping V35230-01_1of2.zip
Unzipping V35230-01_2of2.zip
Unzipping V35231-01_1of5.zip
Unzipping V35231-01_2of5.zip
Unzipping V35231-01_3of5.zip
Unzipping V35231-01_4of5.zip
Unzipping V35231-01_5of5.zip
Unzipping V35802-01.zip
Unzipping V35803-01_1of3.zip
Unzipping V35803-01_2of3.zip
Unzipping V35803-01_3of3.zip
Unzipping V35804-01_1of2.zip
Unzipping V35804-01_2of2.zip
Unzipping V35805-01_1of2.zip
Unzipping V35805-01_2of2.zip
Unzipping V35806-01_1of3.zip
Unzipping V35806-01_2of3.zip
Unzipping V35806-01_3of3.zip
Unzipping V35807-01.zip
Unzipping V35808-01.zip
Unzipping V35809-01.zip
Unzipping V35810-01.zip
Unzipping V35811-01.zip
Unzipping V35812-01.zip
Unzipping V35813-01.zip
Unzipping V29764-01.zip
Unzipping V29856-01.zip
Unzip command is: /d01/software/R12.2/startCD/Disk1/rapidwiz/unzip/Linux_x64/unzip -o
Applying one-off patches…
All files have been unzipped successfully.
Stage area is confirmed to be complete.
Command = cp /d01/software/R12.2/V35813-01.zip /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/stageData/epdFiles/epdLinux_x64.zip

Finished unzipping shiphome.

Directory /d01/software/R12.2/TechPatches

Unzipping Oracle Software Delivery Cloud one-off patches…
Command: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../unzip/Linux_x64/unzip -o /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/stageData/epdFiles/epdLinux_x64.zip -d /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/..
Press Enter to continue…
Archive: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/stageData/epdFiles/epdLinux_x64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/13877559/p13877559_111160_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/10638758/p10638758_111160_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/7695070/p7695070_111070_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/14059667/p14059667_R12_LINUX.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/13583235/p13583235_1036_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/14616819/p14616819_111160_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/13572948/p13572948_1036_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/13642485/p13642485_1036_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/13025456/p13025456_111160_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/12873715/p12873715_R12_GENERIC.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/14157219/p14157219_R12_LINUX.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/13845626/p13845626_1036_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/14272383/p14272383_1036_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/11857015/p11857015_R12_LINUX.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/14588599/p14588599_111160_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/12949905/p12949905_111070_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/14026577/p14026577_111160_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/6880880/p6880880_111000_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/12959202/p12959202_111160_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/14621810/p14621810_1036_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/11835003/p11835003_R12_GENERIC.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/14049348/p14049348_1036_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/13643211/p13643211_111160_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/MiddleTier/13800626/p13800626_111170_LINUX.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/14574453/p14574453_112030_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/14296972/p14296972_112030_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/8547978/p8547978_112030_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/14598522/p14598522_112030_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/12949905/p12949905_112030_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/6880880/p6880880_112000_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/13040331/p13040331_112030_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/12955701/p12955701_112030_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/14005749/p14005749_112030_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/14013094/p14013094_112030_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/11071989/p11071989_112030_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/13388104/p13388104_112030_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/13808632/p13808632_112030_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/14153501/p14153501_112030_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/14832335/p14832335_112030_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/11820674/p11820674_R12_LINUX.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/14649883/p14649883_112030_Generic.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/13602312/p13602312_112030_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/13819954/p13819954_112030_Linux-x86-64.zip
extracting: /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches/../TechPatches/DB/14237793/p14237793_112030_Linux-x86-64.zip
Finished unzipping Oracle Software Delivery Cloud one-off patches.
Press Enter to continue…

Stage Builder will now stage the one-off patches for Linux_x64…

Press Enter to continue…

Copying latest one-off patches to stage area…

Running command:

/d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../unzip/Linux_x64/unzip -o /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../Xpatches/Linux_x64.zip -d /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../../../../TechPatches

Press Enter to continue…
unzip: cannot find or open /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../Xpatches/Linux_x64.zip, /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../Xpatches/Linux_x64.zip.zip or /d01/software/R12.2/startCD/Disk1/rapidwiz/bin/../Xpatches/Linux_x64.zip.ZIP.

Verifying stage area…

Directory /d01/software/R12.2/TechInstallMedia is valid.
Directory /d01/software/R12.2/TechPatches/DB is valid.
Directory /d01/software/R12.2/TechPatches/MiddleTier is valid.
Directory /d01/software/R12.2/EBSInstallMedia/AppDB is valid.
Directory /d01/software/R12.2/EBSInstallMedia/Apps is valid.
Directory /d01/software/R12.2/EBSInstallMedia/AS10.1.2 is valid.
Directory /d01/software/R12.2/TechInstallMedia/database is valid.
Directory /d01/software/R12.2/TechInstallMedia/ohs11116 is valid.
Directory /d01/software/R12.2/TechInstallMedia/wls1036_generic is valid.

Stage area verified.

Press Enter to continue…

Build Stage Menu

——————————————————

1. Create new stage area

2. Copy patches to existing stage area

3. List files in TechPatches directory

4. Exit menu

Enter your choice [4]:

Go to s/w location
[oracle@upgdbrapidwiz]$ pwd
/d03/soft_12/startCD/Disk1/rapidwiz
./rapidwiz

1 2 3 4 5 6 7 8 9 10 11

WLS Password: welcome1

1 2 3 4 5 6

Check log in directory/d01/oracle/uatdb/11.2.0/appsutil/log/UAT_testplan

Jre folder not correctly copied from /usr/java after applying jre rpm as part of db requirements
Have done issue got rectified

1 2 3 4 5

==>Important: After completing Rapid Install in Upgrade Mode, in DBTier’s , ensure that values of context variables -s_dbhome1, s_dbhome2, s_dbhome3, s_dbhome4, s_archive_destpoints to proper data file location where the DBFs are located, and
alsos_base points to proper location. If not, update the DB Tier.

[oracle@upgdb ~]$ grep -i s_dbhome $CONTEXT_FILE
<db_sysfilesoa_var=”s_dbhome1″>/d03/oracle/upg1data
<db_logfilesoa_var=”s_dbhome2″>/d03/oracle/upg1data
<db_datfilesoa_var=”s_dbhome3″>/d03/oracle/upg1data
<db_ndxfilesoa_var=”s_dbhome4″>/d03/oracle/upg1data
[oracle@upgdb ~]$ grep -i s_archive_dest $CONTEXT_FILE
/d02/app/oracle/product/data/archive
[oracle@upgdb ~]$ grep -i s_base $CONTEXT_FILE
<base_langoa_var=”s_base_lang”>US
/d02/app/oracle/product

==>Make sure apps passwor id default
==>Synchronize values of APPLPTMP with UTL_FILE_DIR for PL/SQL based Concurrent Requests (required)

Concurrent processing (CP) may run PL/SQL (inside of the database) that creates
output and log files using the utl_file package. On all CP nodes, ensure that the
$APPLPTMP environment variable is set to the first directory listed in the
UTL_FILE_DIR parameter from the database init.ora.

[applmgr@upgdb ~]$ echo $APPLTMP
/d01/oracle/UPG1/inst/apps/UPG1_upgdb/appltmp
[applmgr@upgdb ~]$ ls -ld /d01/oracle/UPG1/inst/apps/UPG1_upgdb/appltmp
drwxrwxrwx 3 applmgrdba 4096 Feb 25 14:06 /d01/oracle/UPG1/inst/apps/UPG1_upgdb/appltmp

==>Shutdown apps if any is running
==>If your processes and sessions values in the init.ora file is the default values provided by
the E-Business installation of 300 and 600, then you should consider doubling these
during the upgrade process to avoid connection issues.
==>Disable custom triggers or constraints on Oracle E-Business Suite tables. Re-enable
these triggers after the upgrade.
custom indexes below are all normal none unique so no need to worry, for constraints there is none for custom so no need to worry.

TAC_GL_PERIOD_STAT1_N1
TAC_GL_PERIOD_STAT_N1
TAC_WF_ITM_ACT_STATUSES_N4

for triggers below are disabled.

[oracle@testplan ~]$ pwd
/home/oracle
[oracle@testplan ~]$ ls -l disable_trg.sql
-rw-r–r–. 1 oracle dba 430 Oct 14 19:58 disable_trg.sql
[oracle@testplan ~]$ sqlpllus apps/apps @disable_trg.sql
-bash: sqlpllus: command not found
[oracle@testplan ~]$ sqlplus apps/apps @disable_trg.sql
SQL*Plus: Release 11.2.0.4.0 Production on Tue Oct 14 19:58:56 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> conn apps/apps
Connected.
SQL> alter trigger APPS.INSTEAD_OF_UPDATE disable;
Trigger altered.
SQL> alter trigger APPS.TAC_AUDIT_WLPN disable;
Trigger altered.
SQL> alter trigger APPS.TAC_ONHAND_QUANTITIES_DTL_BRI disable;
Trigger altered.
SQL> alter trigger APPS.TAC_PO_LIST_PRICE1 disable;
Trigger altered.
SQL> alter trigger APPS.TAC_UNIT_PRICE disable;
Trigger altered.
SQL> alter trigger APPS.XXTAC_BACK_ORDER_TXN disable;
Trigger altered.
SQL> alter trigger APPS.XXTAC_DELIVERY_CAP disable;
Trigger altered.
SQL> alter trigger APPS.XXTAC_MTLACCT_UPDATE_POUNIT disable;
Trigger altered.
SQL> exit;
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@testplan ~]$

Drop MRC schema (conditional)
TUMS step key: N/A
All programs and reports now use the APPS schema. Because the MRC_APPS
schema is no longer needed, dropping it frees space and reduces processing
overhead during the upgrade. If you have not previously done so, drop the MRC
schema now.
UNIX:
$ cd APPL_TOP/admin
$ sqlplus/ @addrpmrc.sql
FORCE
QL> @addrpmrc.sql
Enter value for 1:

SQL>
SQL> @addrpmrc.sql APPLSYS FORCE
=============================================================

NAME
addrpmrc.sql

DESCRIPTION

Drop MRC schema if release >= 11.5.10.

=============================================================

Getting the name of the MRC schema….
begin
*
ERROR at line 1:
ORA-20000: MRC schema name not registered in FND_ORACLE_USERID
ORA-06512: at line 11

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

MRC Schema is not registered so we can ignore

Run adgrants

[oracle@testplan admin]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.4.0 Production on Tue Oct 14 20:19:27 2014

Copyright (c) 1982, 2013, Oracle. All rights reserved.
1.Create $ORACLE_HOME/appsutil/admin on the database server.

2. Compare the version of adgrants.sql(UNIX) in $APPL_TOP/admin
to that in patch directory.
Or, compare the version of adgrants_nt.sql(Windows)
in %APPL_TOP%\admin to that in patch directory.

3. Copy the higher version of adgrants.sql (UNIX) to
$ORACLE_HOME/appsutil/admin.
Or, copy higher version of adgrants_nt.sql (Windows) to
%ORACLE_HOME%\appsutil\admin.

4. Set the environment to point to ORACLE_HOME on the database server.

5. Use SQL*Plus to run the script:

UNIX:
$ sqlplus /nolog
SQL> @$ORACLE_HOME/appsutil/admin/adgrants.sql
.

SQL> @adgrants.sql apps
Connected.

==>Enable Maintenance Mode
==>ApplyAD 12.2 upgrade driver
Download and unzip the AD Upgrade Patch for 12.2 (patch 10117518).
************ Caution: Ensure that the environment file from the 12.2 RUN File System is sourced prior to applying this patch. ***************
Instructions to merge and apply R12.AD.C and AD CUP5 [required

When directed to apply AD 12.2.0 (R12.AD.C) in Chapter 3, Upgrading to Release 12.2 within “Oracle E-Business Suite Upgrade Guide 12.0 and 12.1 to 12.2” and “Oracle E-Business Suite Upgrade Guide 11i to 12.2”, perform the following steps instead:
1. Merge R12.AD.C (patch#10117518) and AD CUP5 patch (patch#18040523:R12.AD.C).

Note: This merge should be a full merge using -admode. Do not use -preinstall or – driveronly mode.
Example:
a. Download R12.AD.C (patch#10117518) and 12.2.0 AD CUP5 patch#18040523:R12.AD.C under /AD_source

b. mkdir -p /10117518_CUP4
c. admrgpch -s /d01/R12.2_patches -d /d01/10117518_CUP45-merge_name 10117518_cup5 -admode
2. Apply the merged patch driver in its entirety following the Pre-Install and Post-Install Tasks of R12.AD.C (patch#10117518) .
Got Perl issue while running admrgpch

[applmgr@testplan R12.2_patches]$ admrgpch
Perl lib version (5.10.0) doesn’t match executable version (v5.10.1) at /d01/oracle/uatapp/fs1/FMW_Home/webtier/perl/lib/5.10.0/x86_64-linux-thread-multi/Config.pm line 46.
Compilation failed in require at /d01/oracle/uatapp/fs1/FMW_Home/webtier/perl/lib/5.10.0/File/Copy.pm line 14.
BEGIN failed–compilation aborted at /d01/oracle/uatapp/fs1/FMW_Home/webtier/perl/lib/5.10.0/File/Copy.pm line 14.
Compilation failed in require at /d01/oracle/uatapp/fs1/EBSapps/appl/ad/12.0.0/bin/admerge.pl line 40.
BEGIN failed–compilation aborted at /d01/oracle/uatapp/fs1/EBSapps/appl/ad/12.0.0/bin/admerge.pl line 40.

export PERL5LIB=/perl/lib/5.10.0:/perl/site_perl/5.10.0:/appsutil/perl

[applmgr@testplan R12.2_patches]$ admrgpch -s /d01/R12.2_patches -d /d01/10117518_CUP5 -merge_name 10117518_cup5 -admode

Executing the merge of the patch drivers
— Processing patch: /d01/R12.2_patches/10117518
— Processing file: /d01/R12.2_patches/10117518/u10117518.drv
— Done processing file: /d01/R12.2_patches/10117518/u10117518.drv
— Done processing patch: /d01/R12.2_patches/10117518

— Processing patch: /d01/R12.2_patches/18040523
— Processing file: /d01/R12.2_patches/18040523/u18040523.drv
— Done processing file: /d01/R12.2_patches/18040523/u18040523.drv
— Done processing patch: /d01/R12.2_patches/18040523

Copying files…

5% complete. Copied 47 files of 923…
10% complete. Copied 93 files of 923…
15% complete. Copied 139 files of 923…
20% complete. Copied 185 files of 923…
25% complete. Copied 231 files of 923…
30% complete. Copied 277 files of 923…
35% complete. Copied 324 files of 923…
40% complete. Copied 370 files of 923…
45% complete. Copied 416 files of 923…
50% complete. Copied 462 files of 923…
55% complete. Copied 508 files of 923…
60% complete. Copied 554 files of 923…
65% complete. Copied 600 files of 923…
70% complete. Copied 647 files of 923…
75% complete. Copied 693 files of 923…
80% complete. Copied 739 files of 923…
85% complete. Copied 785 files of 923…
90% complete. Copied 831 files of 923…
95% complete. Copied 877 files of 923…
100% complete. Copied 923 files of 923…

Character-set converting files…

2 unified drivers merged.

Patch merge completed successfully

Please check the log file at ./admrgpch.log.
prepratch step :-

1. Create $ORACLE_HOME/appsutil/admin on the database server.
2. Copy the higher version of adgrants.sql (UNIX) to
$ORACLE_HOME/appsutil/admin.
Set the environment to point to ORACLE_HOME on the database server.
$ sqlplus /nolog
SQL> @$ORACLE_HOME/appsutil/admin/adgrants.sql

************ Caution: Ensure that the environment file from the 12.2 RUN File System is sourced prior to applying this patch. ***************
[applmgr@testplan d01]$ cd 10117518_CUP5/
[applmgr@testplan 10117518_CUP5]$ ls -ltr
total 3100
drwxr-xr-x. 13 applmgrdba 4096 Oct 14 19:53 ad
drwxr-xr-x. 7 applmgrdba 4096 Oct 14 19:53 fnd
-rw-r–r–. 1 applmgrdba 1531771 Oct 14 19:53 j10117518_ad.zip
-rw-r–r–. 1 applmgrdba 767174 Oct 14 19:53 j10117518_fnd.zip
drwxr-xr-x. 2 applmgrdba 4096 Oct 14 19:53 metadata_files
drwxr-xr-x. 2 applmgrdba 4096 Oct 14 19:53 admin
-rw-r–r–. 1 applmgrdba 5336 Oct 14 19:53 10117518_README.txt
-rw-r–r–. 1 applmgrdba 8299 Oct 14 19:53 10117518_README.html
-rw-r–r–. 1 applmgrdba 160065 Oct 14 19:53 b10117518.ldt
-rw-r–r–. 1 applmgrdba 176668 Oct 14 19:53 f10117518.ldt
-rw-r–r–. 1 applmgrdba 632 Oct 14 19:53 18040523_README.txt
-rw-r–r–. 1 applmgrdba 3011 Oct 14 19:53 18040523_README.html
-rw-r–r–. 1 applmgrdba 5316 Oct 14 19:53 f18040523.ldt
-rw-r–r–. 1 applmgrdba 5977 Oct 14 19:53 b18040523.ldt
-rw-r–r–. 1 applmgrdba 465765 Oct 14 19:53 u_10117518_cup5.drv

Post step :-
1. Run adadmin -> Compile/Reload Applications Database Entities menu ->
Compile APPS schema.
2. Type “No” when prompt for Run Invoker Rights processing in incremental mode [No] ?

==>Apply all Consolidated Upgrade Patches (CUPs)
Apply all Consolidated Upgrade Patches (CUPs) listed in the Oracle E-Business
Suite-wide Release Notes, Release 12.2. Search for the Consolidated Upgrade Patches
(CUPs) section and follow the instructions on how to apply them.
ORACLE E-BUSINESS SUITE CONSOLIDATED UPGRADE PATCH 4 (CUP4) FOR R12.2.0 Patch#17197281
Oracle E-Business Suite Consolidated Upgrade Patch5 (CUP5) for Release 12.2 (patch 18007406:12.2.0)

Refer to step ‘Apply Consolidated Upgrade Patch and Run 12.2.0 Upgrade’ in section ‘4. Notes forUpgrade Customers’ of Oracle E-Business Suite Release Notes, Release 12.2 (MyOracle Support Knowledge Document 1320300.1)

Apply patch 18007406using adpatch preinstall=y (on Run File System)
==>beforeapplying this patch clean up the directory /admin//preinstall (rename it if exists)
[applmgr@testplan preinstall]$ pwd
/d01/oracle/uatapp/fs1/EBSapps/appl/admin/UAT/preinstall
[applmgr@testplan 18007406]$ cd /d01/oracle/uatapp/fs1/EBSapps/appl/admin/UAT/preinstall
[applmgr@testplan preinstall]$ ls -ltr
total 132
-rw-r–r–. 1 applmgrdba 132742 Oct 15 00:05 u18007406.drv

==>Run the American English upgrade patch driver
To bring your database to the full Oracle E-Business Suite Release 12.2 level, use AutoPatch to run the (American English) unified driver (u10124646.drv). It is located in $AU_TOP/patch/115/driver.
Caution: Ensure tablespace APPS_TS_TX_DATA has enough space (below the threshold) and resize the data file if necessary.
Source the environment file from the RUN file system and run the driver on the administration server node on your Release 12.2 APPL_TOP using the following commands:
TABLESPACE_NAME FILE_NAME BYTES/1024/1024 MAXBYTES/1024/1024 AUT
—————————— ———————————————————— ————— —————— —
APPS_TS_TX_DATA /d01/oracle/uatdb/uatdata/APPS_TS_TX_DATA01.dbf 8000 15360 YES
APPS_TS_TX_DATA /d01/oracle/uatdb/uatdata/APPS_TS_TX_DATA02.dbf 8000 15360 YES
APPS_TS_TX_DATA /d01/oracle/uatdb/uatdata/APPS_TS_TX_DATA03.dbf 8000 15360 YES
APPS_TS_TX_DATA /d01/oracle/uatdb/uatdata/APPS_TS_TX_DATA04.dbf 8000 15360 YES
APPS_TS_TX_DATA /d01/oracle/uatdb/uatdata/APPS_TS_TX_DATA05.dbf 8000 15360 YES
APPS_TS_TX_DATA /d01/oracle/uatdb/uatdata/APPS_TS_TX_DATA06.dbf 8000 15360 YES

==>Merge the patch drivers in $APPL_TOP/admin/$TWO_TASK/preinstall directory with the 12.2.0 upgrade driver $AU_TOP/patch/115/driver/u10124646.drv(1320300.1)
cd $AU_TOP/patch/115/driver
[applmgr@testplan driver]$ admrgpch -d . -preinstall -master u10124646.drv

Executing the merge of the patch drivers
— Processing file: /d01/oracle/uatapp/fs1/EBSapps/appl/admin/UAT/preinstall/u18007406.drv
— Done processing file: /d01/oracle/uatapp/fs1/EBSapps/appl/admin/UAT/preinstall/u18007406.drv
— Processing file: u10124646.drv
— Done processing file: u10124646.drv

2 unified drivers merged.

Patch merge completed successfully

Please check the log file at ./admrgpch.log.

==> The default merged driver by name u_merged.drv is then created in the destination directory that is specified.

[applmgr@testplan driver]$ ls -ltr
total 177300
-rwxr-xr-x. 1 applmgrdba 755 Nov 24 2012ausstats.drvx
-rw-r–r–. 1 applmgrdba 83457868 Nov 25 2012 u10124646.drv
-rw-r–r–. 1 applmgrdba 14305818 Nov 25 2012 u10201000.drv
-rwxr-xr-x. 1 applmgrdba 242 Oct 15 00:03 augenmsg.drvx
-rw-r–r–. 1 applmgrdba 83774363 Oct 15 00:13 u_merged.drv
-rw-r–r–. 1 applmgrdba 1099 Oct 15 00:13 admrgpch.log
[applmgr@testplan driver]$ du -sh u10124646.drv
80M u10124646.drv
[applmgr@testplan driver]$ pwd
/d01/oracle/uatapp/fs1/EBSapps/appl/au/12.0.0/patch/115/driver
$ adpatch options=nocopyportion,nogenerateportion
Apply the newly merged 12.2.0 upgrade driver u_merged.drv with adpatch options=nocopyportion,nogenerateportion. using RUN File System.

==>issue:-
adwork001.log:

sqlplus -s APPS/***** @/d01/oracle/uatapp/fs1/EBSapps/appl/ad/12.0.0/patch/115/sql/adsqlwrapper.sql ‘/d01/oracle/uatapp/fs1/EBSapps/appl/xdp/12.0.0/patch/115/sql/XDPMIGFX.sql ‘
Connected.

PL/SQL procedure successfully completed.

DECLARE
*
ERROR at line 1:
ORA-20100: File XDPMIGFX20141015123507.out creation for FND_FILE failed.
You will find more information on the cause of the error in request log.
ORA-06512: at “APPS.FND_FILE”, line 410
ORA-06512: at “APPS.FND_FILE”, line 517
ORA-06512: at line 69
sqlplus -s APPS/***** @/d01/oracle/uatapp/fs1/EBSapps/appl/ad/12.0.0/patch/115/sql/adsqlwrapper.sql ‘/d01/oracle/uatapp/fs1/EBSapps/appl/xdp/12.0.0/patch/115/sql/XDPMIGFX.sql ‘
Connected.

PL/SQL procedure successfully completed.
adwork002.log:

DECLARE
*
ERROR at line 1:
ORA-20100: File XDPMIGFX20141015123507.out creation for FND_FILE failed.
You will find more information on the cause of the error in request log.
ORA-06512: at “APPS.FND_FILE”, line 410
ORA-06512: at “APPS.FND_FILE”, line 517
ORA-06512: at line 69

sqlplus -s APPS/***** @/d01/oracle/uatapp/fs1/EBSapps/appl/ad/12.0.0/patch/115/sql/adsqlwrapper.sql ‘/d01/oracle/uatapp/fs1/EBSapps/appl/jtf/12.0.0/patch/115/sql/jtfpfcreate.sql &un_apps&un_jtf’
Connected.

PL/SQL procedure successfully completed.

DECLARE
*
ERROR at line 1:
ORA-20100: File o0089424.tmp creation for FND_FILE failed.
You will find more information on the cause of the error in request log.
ORA-06512: at “APPS.FND_FILE”, line 410
ORA-06512: at “APPS.FND_FILE”, line 517
ORA-06512: at line 36
ISSUE 2:
AD Worker error:
The following ORACLE error:

ORA-04007: MINVALUE cannot be made to exceed the current value

occurred while executing the SQL statement:

ALTER SEQUENCE IEM.IEM_ACCOUNT_TAG_KEYS_S1 MINVALUE 10000

AD Worker error:
Unable to compare or correct sequences
because of the error above

solution:
ORA-04007 Error When Altering Email Center Sequences (Doc ID 1140115.1)
The sequence has not previously been used and requires initialization prior to executing the alter statement.
SQL> select IEM.IEM_ACCOUNT_TAG_KEYS_S1.nextval from dual;

NEXTVAL
———-
10000

SQL> select IEM.IEM_TAG_KEYS_S1.nextval from dual;

NEXTVAL
———-
10000

SQL> select IEM.IEM_ENCRYPTED_TAGS_S1.nextval from dual;

NEXTVAL
———-
10000

SQL> select IEM.IEM_ENCRYPTED_TAG_DTLS_S1.nextval from dual;

NEXTVAL
———-
10000

ISSUE 3:
ERROR
———————–
CREATE UNIQUE INDEX CN.”CN_SCA_RULE_ATTRIB_ALL_TL_U2″ ON
CN.CN_SCA_RULE_ATTRIBUTES_ALL_TL (SCA_RULE_ATTRIBUTE_ID, ORG_ID, LANGUAGE)
LOGGING STORAGE (FREELIST GROUPS 4 FREELISTS 4 ) PCTFREE 10 INITRANS 11
MAXTRANS 225 COMPUTE STATISTICS TABLESPACE APPS_TS_SEED
AD Worker error:
The index cannot be created as the table has duplicate keys.

Solution:
During Upgrade to 12.2.0, Script CNSCA.ODF Fails – Create Index CN_SCA_RULE_ATTRIB_ALL_TL_U2 – The index cannot be created as the table has duplicate keys.(Doc ID 1674721.1)
(2) Create a copy of the table cn_sca_rule_attributes_all_tl

CREATE table cn_sca_rule_attrib_all_tl_bkp AS SELECT * FROM cn_sca_rule_attributes_all_tl;
CN_SCA_RULE_ATTRIBUTES_ALL_TL

(3) Delete the unregistered/in-active Language records in the instance

DELETE FROM cn_sca_rule_attributes_all_tl WHERE org_id IS NULL;

(4) Run the failed job again (cnsca.odf).
ISSUE 4:
Uploading from the data file /d01/oracle/uatapp/fs1/EBSapps/appl/iec/12.0.0/patch/115/import/US/iecadmmn.ldt
Error loading seed data for FUNCTION: FUNCTION_NAME = IEC_SETUP_SSS, ORA-00001: unique constraint (APPLSYS.FND_FORM_FUNCTIONS_U2) violated
ORA-06512: at “APPS.FND_FORM_FUNCTIONS_PKG”, line 1157
ORA-06512: at “APPS.FND_FORM_FUNCTIONS_PKG”, line 897
ORA-01403: no data found

Solution
R12 Upgrade Fails On Upload Of File Iecadmmn.ldt (Doc ID 452082.1)

SQL> select function_id from fnd_form_functions where function_name=’IEC_SETUP_SSS’;

FUNCTION_ID
———–
11733

SQL> delete from FND_FORM_FUNCTIONS where FUNCTION_ID =11733;

1 row deleted.

SQL> commit;

Commit complete.

ISSUE 5:
ISSUR 6:

Importing file “/d01/oracle/uatapp/fs1/EBSapps/appl/msc/12.0.0/mds/mscntexc/webui/MSC_NET_EXCP_HEADER.xml” as “/oracle/apps/msc/mscntexc/webui/MSC_NET_EXCP_HEADER”.
Error:
ORA-01654: unable to extend index APPLSYS.JDR_COMPONENTS_N1 by 128 in tablespace APPS_TS_SEED
ATTENTION: All workers either have failed or are waiting:

FAILED: file XMLImporter.class on worker 1.
FAILED: file XMLImporter.class on worker 2.
FAILED: file XMLImporter.class on worker 3.
FAILED: file XMLImporter.class on worker 4.
FAILED: file XMLImporter.class on worker 5.
FAILED: file XMLImporter.class on worker 6.
FAILED: file XMLImporter.class on worker 7.
FAILED: file XMLImporter.class on worker 8.
FAILED: file XMLImporter.class on worker 9.
FAILED: file XMLImporter.class on worker 10.
FAILED: file XMLImporter.class on worker 11.
FAILED: file XMLImporter.class on worker 12.
FAILED: file XMLImporter.class on worker 13.
FAILED: file XMLImporter.class on worker 14.
FAILED: file XMLImporter.class on worker 15.
FAILED: file XMLImporter.class on worker 16.

Added the space to the mentioned tablespace

TABLESPACE_NAME NUM_FILES FREE_BYTES MAX_BYTES USED_BYTES PERCENT_USED
—————————— ——— ————– ————– ————– ————
APPS_TS_ARCHIVE 2 1724907520 8388608000 8388608000 80
APPS_TS_INTERFACE 2 1577058304 6291456000 6291456000 75
APPS_TS_MEDIA 1 68157440 2097152000 2097152000 97
APPS_TS_QUEUES 2 805306368 6291456000 6291456000 88
APPS_TS_TX_IDX 7 5098176512 51380224000 51380224000 91
SYSTEM 2 966516736 11534336000 11534336000 92

Disable the Maintenance Mode

Add following parameters in init.ora w.r.t 11.2.0.4
alter system set parallel_force_local=TRUE scope=both;
alter system set sec_case_sensitive_logon=FALSE scope=both;
alter system set plsql_code_type=NATIVE scope=both;

Database Initialization Parameters for Oracle E-Business Suite Release 12 (Doc ID 396009.1)

==>Configure Release 12.2 E-Business Suite instance
Update the RDBMS ORACLE_HOME file system with AutoConfig and Clone files
On the application tier (as the APPLMGR user), log on to the APPL_TOP environment (source the environment file) and run this perl script to create
appsutil.zip in /admin/out. Source the applications run file system environment file as found in the fs1 file system appl_top.
perl/bin/admkappsutil.pl

[oracle@testplan 11.2.0]$ mv appsutil.zip appsutil.zip.old
[oracle@testplan 11.2.0]$ cp /d01/oracle/uatapp/inst/fs1/inst/apps/UAT_testplan/admin/out/appsutil.zip .
[oracle@testplan 11.2.0]$ ls -ltr appsutil.zip
-rw-r–r–. 1 oracle dba 3359578 Oct 16 14:19 appsutil.zip

On the database tier (as the ORACLE user), copy or FTP the appsutil.zip file tothe and unzip the file. Change directory to RDBMS
Oracle Home as follows:
cd
Unzip the file with the following command:
unzip -o appsutil.zip

Create a directory such as RDBMS_ORACLE_HOME
under $ORACLE_HOME/network/admin, where CONTEXT_NAME is
_. Copy listener.ora and tnsnames.ora from the
$ORACLE_HOME/network/admin directory to the
$ORACLE_HOME/network/admin/ directory.
Note: If the context directory RDBMS_ORACLE_HOME
already exists and it already contains the listener.ora and the
tnsnames.ora files, then skip the above step. Also verify that
these files were correctly generated through autoconfig by
checking the timestamp from the last autoconfig run, ensuring
that they were properly instantiated. For example, for the
listener.ora, check that there are correct SID references that
came from the %s_db_listener% value in the $CONTEXT_FILE.
==>Set and export the following environment variables.
export ORACLE_HOME=/d01/oracle/uatdb/11.2.0
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_SID=UAT
exportPATH=$ORACLE_HOME/bin:/usr/bin:/usr/sbin:$ORACLE_HOME/appsutil/jre/bin:/bin:/usr/bin/X11:/usr/local/bin:$PATH
exportTNS_ADMIN=$ORACLE_HOME/network/admin/UAT_testplan

==>Generate a new database context file as follows:
Note: This step applies only to customers using their existing RDBMS home during the upgrade.
UNIX: cd /appsutil/bin
perl adbldxml.pl
[oracle@testplan bin]$ perl adbldxml.pl

Starting context file generation for db tier..
Using JVM from /d01/oracle/uatdb/11.2.0/appsutil/jre/bin/java to execute java programs..
APPS Password:

The log file for this adbldxml session is located at:
/d01/oracle/uatdb/11.2.0/appsutil/log/adbldxml_10161430.log

Enter Database Service Name: UAT
Enter the value for Display Variable: testplan:0.0
Context File /d01/oracle/uatdb/11.2.0/appsutil/UAT_testplan.xml
already exists.
Overwriting Context File may cause loss of existing settings, hence
backing it up as: /d01/oracle/uatdb/11.2.0/appsutil/UAT_testplan.xml.bak
The context file has been created at:
/d01/oracle/uatdb/11.2.0/appsutil/UAT_testplan.xml
==>Clean up old node information.

-> Check for existence of old nodes:
selectnode_name from fnd_nodes;
->If there are additional nodes listed in FND_NODES, then clean-up the
nodes. Connect to sqlplus from the DB Tier as apps user and run the following statement:
execfnd_conc_clone.setup_clean ;

==>Run AutoConfig on the database tier nodes.
Run autconfig on db side
Apps tier :-
Source the Run filesystem environment file.
Prior to running AutoConfig check if table – ADX_PRE_AUTOCONFIG isexisting in APPS schema:
selectobject_name, object_type, owner, status from dba_objects whereupper(object_name)=’ADX_PRE_AUTOCONFIG’ and object_type=’TABLE’
and upper(owner)=’APPS’;
To drop table ADX_PRE_AUTOCONFIG from APPS schema and recreate in APPLSYS schema, execute the following commands:
cd/patch/115/sqlsqlplus APPS/
@txkDropAdxPreAutoConfig.sql

==> RunAutoConfig on all the Application Tier nodes using the following
commands:
UNIX:
$ADMIN_SCRIPTS_HOME/adautocfg.sh

11

==>Run Rapid Install to configure Release 12.2 E-Business Suite instance.
You must run Rapid Install a second time to complete the configuration using Run FileSystem context file.

12 13 14 15

/d01/oracle/uatapp/inst/fs1/inst/apps/UAT_testplan/appl/admin/UAT_testplan.xml

Enter weblogic

password welcome1

1 2 3 4 5 6 7 8 9

==>Reapply customizations (conditional).
If you customized application environment files (APPLSYS.env or devenv), thenreintegrate them in devenv.env, or in the adovars.env file ($APPL_TOP/admin for
UNIX or %APPL_TOP%\admin for Windows). Restart the application serverprocesses so changes take effect.
==>Online patching
Refer to Using the Online Patching Readiness Report in Oracle E-Business Suite Release
12.2 (Doc ID 1531121.1) for instructions on how to download these utilities.
1)Initialize the Run File System environment:
2)Create the online patching log file location and set it as the current directory:
mkdir $LOG_HOME/appl/op

Apply E-Business Suite:Online Patching Readiness and GSCC Report patch
18824534 applicable to your EBS instance’s release version (For example: apply 18824534:R12.AD.C on 12.2 or higher, 18824534:R12.AD.B on Release 12.1 based environment)
apply patch p18824534_R12.AD.C_R12_GENERIC.zip
cd $LOG_HOME/appl/op
[applmgr@testplan 18824534]$ adpatch options=hotpatch
Once it is applied, Auto-patch will copy SQL files from patch to
$AD_TOP/sql/ADZDPSUM.sql
$AD_TOP/sql/ADZDPAUT.sql
$AD_TOP/sql/ADZDPMAN.sql
$AD_TOP/sql/ADZDDBCC.sql
$AD_TOP/sql/ADZDPCUST.sql location.

10

STEP#1: Run $AD_TOP/sql/ADZDPSUM.sql
====================================
This script should be run by SYSTEM schema of ORACLE database.
For Example:
sqlplus system/@DB @$AD_TOP/sql/ADZDPSUM.sql
OR
sqlplussystem@DB @$AD_TOP/sql/ADZDPSUM.sql
sqlplus system/manager@UAT@$AD_TOP/sql/ADZDPSUM.sql
mv adzdpsum.txt adzdpsum_pre_dbprep.txt
STEP#2: and STEP#3:
==================
In the same way as STEP#1 has been performed for @$AD_TOP/sql/ADZDPSUM.sql,
it should be repeated for
@$AD_TOP/sql/ADZDPMAN.sql and
sqlplus system/manager@UAT@$AD_TOP/sql/ADZDPMAN.sql
mv adzdpman.txt adzdpman_pre_dbprep.txt
@$AD_TOP/sql/ADZDPAUT.sql also
sqlplus system/manager@UAT@$AD_TOP/sql/ADZDPAUT.sql
mv adzdpaut.txt adzdpaut_pre_dbprep.txt
STEP#4: Run ADZDDBCC.sql
========================
This script should be run by APPS schema of E-business Suite.
For Example:
sqlplus APPS/@DB @$AD_TOP/sql/ADZDDBCC.sql
NOTE: Currently these scripts share common objects names, hence should be
run sequentially.

We are not sure how to proceed with online patching, so raised an SR 3-8790550338 : Oracle E-Business Suite Online Patching issue..

SQL> exec fnd_oracle_user_pkg.load_row(‘EDWREP’, ‘CUSTOM’, ‘INVALID’, NULL, ‘N’, ‘B’);

PL/SQL procedure successfully completed.

SQL> exec fnd_oracle_user_pkg.load_row(‘ODM’, ‘CUSTOM’, ‘INVALID’, NULL, ‘N’, ‘B’);
ERROR:
ORA-01756: quoted string not properly terminated

SQL>
SQL>
SQL>
SQL> exec fnd_oracle_user_pkg.load_row(‘ODM’, ‘CUSTOM’, ‘INVALID’, NULL, ‘N’, ‘B’);

PL/SQL procedure successfully completed.

SQL>
SQL> execfnd_oracle_user_pkg.load_row(‘PORTAL30’, ‘CUSTOM’, ‘INVALID’, NULL, ‘N’, ‘B’);

PL/SQL procedure successfully completed.

SQL> execfnd_oracle_user_pkg.load_row(‘PORTAL30_SSO’, ‘CUSTOM’, ‘INVALID’, NULL, ‘N’, ‘B’);

PL/SQL procedure successfully completed.

SQL> execfnd_oracle_user_pkg.load_row(‘TACCUS’, ‘CUSTOM’, ‘INVALID’, NULL, ‘N’, ‘B’);

PL/SQL procedure successfully completed.SQL> commit;
Commit complete.
==>Run the following report to retrieve the current tablespace free space:
perl $AD_TOP/bin/adzdreport.pl apps
1. Select option 3 – ‘Other Generic Reports’
2. Select the next option – ‘Free Space in Important Tablespaces’
3. Enter the password when prompted.
. Ensure the following:
SYSTEM Tablespace: has a minimum of 25 GB of free space
APPS_TS_SEED Tablespace: has a minimum of 5 GB of free space
APPS_TS_SEED is used to host all tables that have been registered as seed tables and that require seed data storage infrastructure.

11

perl $AD_TOP/bin/adzdreport.pl apps
Enter the APPS Password:
Online Patching Diagnostic Reports Main Menu
——————————————–
1. Run edition reports
2. Patch edition reports
3. Other generic reports
4. Exit

Enter your choice [4]: 3

Other Generic Reports Sub Menu
——————————
1. Editions summary
2. Editioned objects summary
3. Free space in important tablespaces
4. Status of critical AD_ZD objects
5. Actual objects in current edition
6. Objects dependencies
7. Objects dependency tree
8. Editioning views column mappings
9. Index details for a table
10. Inherited objects in the current edition
11. All log messages
12. Materialized view details
13. Database sessions by edition
14. Table details (Synonyms, EV, etc.)
15. Count and status of DDL execution by phase
16. Back to main menu

Enter your choice [16]: 3

===============================================================================
=========================================================================
= Important Tablespace Status
=========================================================================

TABLESPACE_NAME TOTAL_SPACE(GB) USED_SPACE(GB) FREE_SPACE(GB) PCT_USED
—————————— ————— ————– ————– ——–
APPS_TS_SEED 3.91 2.60 1.31 66.48
APPS_TS_TX_DATA 86.99 73.91 13.08 84.96
APPS_TS_TX_IDX 67.38 55.05 12.33 81.70
SYSTEM 13.47 10.46 3.02 77.61
Space seems ok
==============================================================================
==>Ensure that all middle-tier E-Business Suite services are shut down

==>Download and apply the Online Patching Enablement patch(This patch will run around 4+ hours)
Download and apply the Online Patching Enablement patch: 13543062:R12.AD.C.
Use Autopatch in hotpatch mode to apply the patch.

Important: While applying the Online Enablement patch, you may receive the following error: ‘Attention: Adpatch should no longer
be used to apply patches. Please use fpreinstall tool for applying patches.’ If you receive this error, then you must use adop in hotpatch mode to apply the enablement patch.
Monitor the Online Patching Enablement patch application:-
sqlplus @$AD_TOP/sql/ADZDSHOWDDLS.sql

111

==>Compile Invalid objects
==>. Run the Online Patching Enablement Status Report after the Online Patching Enablement patch has been applied
1. Set the current directory to $LOG_HOME/appl/op:
cd $LOG_HOME/appl/op
2. Run the Status Report immediately after the enablement patch completes:
sqlplus @$AD_TOP/sql/ADZDEXRPT.sql
Note: You must provide the APPS schema password when
prompted.
The purpose of running this report at this stage is to identify and fix any errors that
occurred during the enablement process.

==>Re-run the Online Patching Enablement Readiness Report after the Online Patching Enablement patch has been applied
Patching Enablement patch has been applied
1. Set the current directory to $LOG_HOME/appl/op:
cd $LOG_HOME/appl/op
2. Run the Readiness Report after the enablement patch completes:
sqlplus system @$AD_TOP/sql/ADZDPSUM.sql
Note: You must provide the SYSTEM schema password when
mv adzdpsum.txt adzdpsum_post_dbprep.txt
sqlplus system @$AD_TOP/sql/ADZDPMAN.sql
mv adzdpman.txt adzdpman_post_dbprep.txt
sqlplus system @$AD_TOP/sql/ADZDPAUT.sql
mv adzdpaut.txt adzdpaut_post_dbprep.txt
The purpose of running this report at this stage is to ensure that all EBR violations that could have appeared before enabling the online patching featureare fixed.

prompted.
==>Database Initialization Parameters
Oracle E-Business Suite Release 12.2 introduces a new database service called ebs_patch that supports online patching. The ‘service_names’ parameter specifies one or more
names by which users can connect to an environment. The environment registers its service names with the listener. When a user requests a service, the listener determines
which environments offer the requested service, and then routes the user to the most appropriate environment.
For example:
service_names=%s_dbSid%,ebs_patch

The ‘recyclebin’ parameter must be turned off to allow the cleanup phase of the online patching cycle to be performed without having to connect as SYS. This feature may still
be used at other times.

For example:
recyclebin=off
Note: The parameters described in this section apply to Oracle E-Business Suite Release 12.2 on Oracle Database 11g Release 2
(11.2.0.4). For details, refer to Database Initialization Parameters for Oracle E-Business Suite Release 12 (Doc ID: 396009.1).

Oracle E-Business Suite NLS Release 12.2.0 Latin American Spanish
Instructions:
Apply the following unified driver file located in 10124646_ESA directory, with AD Online Patching:
u10124646.drv

==>Post Upgrade Tasks
==>Apply latest AD and TXK for Release 12.2
Start up only the Weblogic Admin Server (required)
On Run File System, start up only the Weblogic Admin Server service using
adadminsrvctrl script as follows:
UNIX:
sh/adadminsrvctl.sh start
==>Apply latest AD and TXK patchsets
AD Delta 5 Patch 18283295; (Need to apply language patches)
TXK Delta 5 Patch 18288881.(Need to apply language patches)
Patch 18886213:R12.TXK.C
Patch 19259764:R12.FND.C(Need to apply language patches)
Download patches under $APPL_TOP_NE/../patch
–>Follow Document 1617461.1 and apply above patches, we have to follow PATH A:
Source the run edition environment file.
Run adgrants :-
Create $ORACLE_HOME/appsutil/admin
Compare the version of adgrants.sql(UNIX) in $APPL_TOP/admin to that in patch directory.
[applmgr@testplan admin]$ mkdir $ORACLE_HOME/appsutil/admin
[applmgr@testplan admin]$ cd $ORACLE_HOME/appsutil/admin
[applmgr@testplan admin]$ pwd
/d01/oracle/uatapp/fs1/EBSapps/10.1.2/appsutil/admin

[applmgr@testplan admin]$ cp /d01/oracle/uatapp/fs_ne/EBSapps/patch/18283295/admin/adgrants.sql .
[applmgr@testplan admin]$ ls -ltr
total 100
-rwxr-xr-x. 1 applmgrdba 99663 Oct 17 23:11 adgrants.sql
$ sqlplus /nolog
SQL> @$ORACLE_HOME/appsutil/admin/adgrants.sql

adop phase=apply patches=18283295 hotpatch=yes
adop phase=apply patches=18288881,18886213 hotpatch=yes merge=yes
adop phase=apply patches=19259764 hotpatch=yes – not required
Note: This step is not applicable for new installation and upgrade customers who are applying the Oracle E-Business Suite Release 12.2.4 Release Update Pack.

Source the run edition environment file.
UNIX:
$ . /EBSapps.env run
If you are ultimately going to apply the Oracle E-Business Suite 12.2.2 (or later) Release Update Pack, you must now synchronize the file systems by running the following command:
$ adop phase=fs_clone

.adop phase=abort
R12.2.4 Upgrade Pack.

Section 1: Preparation

In Release 12.2.0 and higher, patching is performed by running the new adop (AD Online Patching) utility. You must use adop instead of the adpatch utility that was provided in previous releases. Download and unzip all the patches to the default Patch Top location for R12.2 ($APPL_TOP_NE/../patch)
Section 2: Apply Required Database Patches – Already Done
Review My Oracle Support Knowledge Document 1594274.1, Oracle E-Business Suite Release 12.2: Consolidated List of Patches and Technology Bug Fixes, and apply all required patches for your database version.

Note: Refer to My Oracle Support Knowledge Document 1355068.1, Oracle E-Business Suite 12.2 Patching Technology Components Guide, for guidance with database patch application.

Section 3: Apply Consolidated Seed Table Upgrade Patch (Required)
sh $ADMIN_SCRIPTS_HOME/adstpall.sh
Apply the consolidated seed table upgrade Patch 17204589:12.2.0 on the run file system using adophotpatch mode.
adop phase=apply patches=17204589 hotpatch=yes

Section 4: Apply the Latest AD and TXK Delta Release Update Packs – Already done

Section 5: Perform Pre-Update Steps (Conditional)

Package Name File Version
INL_CUSTOM_PUB INLPCUSB.pls
120.6.12020000.6

INLPCUSS.pls
120.5.12020000.5

Package NameFileVersionWMS_LABEL_CUSTOM_PKGWMSLACPB.pls
120.0.12020000.3

WMSLACPS.pls
120.1.12020000.5
Section 6: Apply Oracle E-Business Suite 12.2.4 Release Update Pack

sh $ADMIN_SCRIPTS_HOME/adadminsrvctl.sh stop
sh $ADMIN_SCRIPTS_HOME/adnodemgrctl.sh stop

Apply Oracle E-Business Suite 12.2.4 Release Update Pack Patch 17919161 on the run edition application environment, using downtime mode.

adop phase=apply apply_mode=downtime patches=17919161
sh $ADMIN_SCRIPTS_HOME/adstrtal.sh
adop phase=cleanup
adop phase=fs_clone

Login Page with responsibilities

WebLogic Console

login

weblogic1 weblogic2

Post Steps after the patching
Got Login page and Concurrent manager issue, Raised SR and worked with them to resolve the issue
Post upgrade validation and Post upgrade steps

OATM Conversion

10.2.0.4 32bit Conversion to 10.2.0.4 64bit after the upgrade to 11.2.0.4 and OATM Conversion Document above

bit conversion

Tried to provide the steps as simplified as possible. My intent is to show the basic steps for upgrade and to share some knowledge on particular topic.

SQLSERVER DBA Best Practises

1.       Security Basics

 

  • Don’t give users more permissions than they need to perform their job. (Critical, Sounds simple, often hard.)

 

  • Don’t use the SA account for anything. Assign it a complex password, and keep it handy just in case. Use a domain account that is a member of the sysadmin role.

 

  • Don’t allow an application to use the SA or a sysadmin account to access SQL Server.

 

  • Use Windows Authentication security whenever possible. (Applicable for in house development).

 

  • Don’t give vendors sysadmin access to your servers.

 

  • Log off or lock your SQL Server (or workstation) when done.

2.       General Server Configuration

 

  • Ideally, SQL Server instances should run on a stand-alone server (physical or virtual) with no other apps running on it.

 

  • Avoid multiple instances unless you have a really good reason to use them. Consider virtualization instead.

 

  • Unnecessary SQL Server services should be uninstalled or turned off.

 

  • Ideally, don’t run antivirus/antispyware software locally.

 

  • If your organization’s policy requires running antivirus/antispyware software locally, exclude MDF, NDF, LDF, BAK, and TRN files.

3.       SQL Server Property Settings

 

  • Don’t change any of the default SQL Server instance -wide configuration property settings unless you thoroughly understand the implication of making the change. Examples of Server Property settings include:

 

  • Memory
  • Processors
  • Security
  • Connections
  • Database Settings
  • Advanced
  • Permissions

4.       Memory Configuration

 

  • Ideally, use 64-bit hardware and the 64-bit version of the OS and SQL Server.
  • Generally speaking, if using 64-bit memory, turn on “Lock Pages in Memory,” and let the instance dynamically manage its own memory (especially 2008).
  • If using the 32-bit version of SQL Server, and if using 4 GB or more of RAM, ensure that /3GB switch and AWE memory are correctly configured. Correct settings depend on available RAM.

 

5.       Data and Log File Management

 

  • Remove physical file fragmentation before creating new MDF or LDF files.
  • When creating new MDFs and LDFs, pre-size them to minimize auto growth events.
  • MDF files should be located on their own disks.
  • LDF files should be located on their own disks.
  • BAK and TRN backup files should be located on their own disks

 

6.       Instant File Initialization

 

  • Enable instant file initialization, which prevents MDF files from being zeroed out when they are grown, which allows MDF files to be created quickly. LDF files are not affected.
  • Speeds up CREATE DATABASE, ALTER DATABASE, RESTORE DATABASE, Autogrowth.
  • Requires SQL Server 2005/2008, and Windows Server 2003/2008 (or higher version).
  • Instant file initialization is turned on if the SQL Server (MSSQLSERVER) service account has been granted the SE_MANAGE_VOLUME_NAME permission by adding the account to the Perform Volume Maintenance Tasks security policy

. Members of the local Windows Administrator group automatically have this right

 

 

 

7.       Tempdb Management

 

  • Pre-size tempdb so autogrowth doesn’t have to happen often (8MB is default, which is very low).
  • Set autogrowth to avoid many growth spurts, use a fixed amount that minimizes auto growth use. (10% is default, which causes lots of auto growth).
  • If tempdb is very active, locate it on its own disks.
  • If very active, consider dividing the tempdb into multiple physical files so that the number of files is ¼ to ½ the number of CPU cores, up to 8 files. Each physical file must be the same size

 

 

 

8.       Database Property Settings

 

  • Don’t change database property settings unless you have a very good reason.
  • Auto Create Statistics: On
  • Auto Update Statistics: On
  • Auto Shrink: Off
  • Auto growth: Leave on. Use mainly for catching mistakes. File growth should be managed manually. Use fixed amount that minimizes auto growth occurrences.
  • Recovery Mode: Set to full for all production databases so transaction log backups can be made.
  • Page Verify: Use Checksum (2005/2008), don’t turn off.
  • Compatibility Level: Should be set to match current server version, unless there are compatibility problems

 

Some more below

 

SET ANSI_NULL_DEFAULT OFF

SET ANSI_NULLS OFF

SET ANSI_PADDING OFF

SET ANSI_WARNINGS OFF

SET ARITHABORT OFF

SET AUTO_CLOSE OFF

SET AUTO_CREATE_STATISTICS ON

SET AUTO_SHRINK OFF

SET AUTO_UPDATE_STATISTICS ON

SET CURSOR_CLOSE_ON_COMMIT OFF

SET CURSOR_DEFAULT  GLOBAL

SET CONCAT_NULL_YIELDS_NULL OFF

SET NUMERIC_ROUNDABORT OFF

SET QUOTED_IDENTIFIER OFF

SET RECURSIVE_TRIGGERS OFF

SET  DISABLE_BROKER

SET AUTO_UPDATE_STATISTICS_ASYNC OFF

SET DATE_CORRELATION_OPTIMIZATION OFF

SET TRUSTWORTHY OFF

SET ALLOW_SNAPSHOT_ISOLATION OFF

SET PARAMETERIZATION SIMPLE

SET READ_COMMITTED_SNAPSHOT OFF

SET  READ_WRITE

SET RECOVERY FULL

SET  MULTI_USER

SET PAGE_VERIFY TORN_PAGE_DETECTION

SET DB_CHAINING OFF

 

9.       Configuring Jobs—General

 

  • If your server doesn’t have any jobs, then there is a problem, as all servers need jobs.
  • Try to schedule jobs so they don’t interfere with production.
  • Try to prevent jobs from overlapping.
  • Set alerts on jobs so you are notified if they fail.
  • Check jobs daily to verify that they have run correctly (not hung, not run abnormally long, etc).
  • If you use the Maintenance Plan Wizard, be careful to use it properly. If misused, it can create maintenance jobs that hurt performance

 

 

10.   Don’t Shrink Files

 

  • If you properly size your MDFs and LDFs, then you should never have to shrink a file.
  • Don’t schedule database or file shrinking operations.
  • If you must shrink a database:

–Do so manually

–Rebuild the indexes after the shrink is complete

–Schedule these steps during the slow time of the day

  • Benefits of not automatically shrinking files:

–Eliminates grow and shrink syndrome

–Reduces physical file fragmentation

–Reduces resources used for these operations, allowing more important tasks to use them

 

 

 

 

11.   Create Index Rebuilding/Reorganize Job

 

  • Indexes need to be rebuilt or reorganized regularly to minimize fragmentation and reduce wasted space.
  • Consider rebuilding an index if it is heavily fragmented (>30%). In Enterprise Edition, can perform online. If Standard Edition, consider it an off-line job. This automatically updates statistics, so you don’t need to do this again.
  • Consider reorganizing an index if it is not heavily fragmented (>5% and <= 30%). This is an online operation and doesn’t use a lot of resources. You must update statistics afterwards, as this is not automatically done for you.
  • Ideally, you should only rebuild or reorganize indexes that need it. Use sys.dm_db_index_physical_statsto identify what tables/indexes need to be rebuilt/reorganized

 

 

 

 

 

 

12.   Gather Statistics

 

There are different ways statistics are created and maintained in SQL Server:

    • By SQL Server engine itself – There are some database level properties that determine the automatic creation and updating statistics whenever there is a need. For example,
      • AUTO_CREATE_STATISTICS property of the database, if set to TRUE, lets SQL Server (or more specifically SQL Server Query Optimizer) routinely create single-column statistics for query predicate columns as necessary, to improve cardinality estimates for the query execution plan if that specific column does not already have a histogram in an existing statistics object. The name for these statistics starts with _WA as you can see in the figure below, as an example for a table.

You can also use the below query to find out all of those statistics created by SQL Server Query Optimizer for a specific table:

 

SELECT

OBJECT_NAME(stats.object_id) AS TableName,

COL_NAME(stats_columns.object_id, stats_columns.column_id) AS ColumnName,

stats.name AS StatisticsName

FROM sys.stats AS stats

JOIN sys.stats_columns AS stats_columns ON stats.stats_id = stats_columns.stats_id

AND stats.object_id = stats_columns.object_id

WHERE OBJECT_NAME(stats.object_id) = ‘SalesOrderHeader’

AND stats.name like ‘_WA%’

ORDER BY stats.name;

 

AUTO_UPDATE_STATISTICS property of the database, if set to TRUE lets SQL Server (or more specifically SQL Server Query Optimizer) routinely update the statistics being used by the query when they are stale (out-of-date) . Unlike AUTO_CREATE_STATISTICS, which applies for creating single column statistics only? AUTO_UPDATE_STATISTICS updates statistics objects created for indexes, single-columns in query predicates, filtered statistics and statistics created using the CREATE STATISTICS command.

By default, identified stale statistics are updated synchronously, which means the query being executed will be put on hold until the required statistics are updated in order to ensure the query always compiles and executes with up-to-date statistics. Sometimes this wait could be longer, especially when a table involved in the query is bigger in size, and might cause the client request time-out. In order to deal with such a situation, SQL Server has AUTO_UPDATE_STATISTICS_ASYNC property of the database, which if set to TRUE lets the current running query compile with existing statistics even if the existing statistics are stale (chooses suboptimal query plan) and initiates a process in the background asynchronously to update the stale statistics in order to ensure subsequent query compilation and execution uses up-to-date statistics.

There are different ways you can change these properties; for example, you can use a script to change or use the Database Properties dialog box in SQL Server Management Studio to change it as shown below:

ALTER DATABASE [StatisticsTest] SET       AUTO_CREATE_STATISTICS ON

ALTER DATABASE [StatisticsTest] SET       AUTO_UPDATE_STATISTICS ON

ALTER DATABASE [StatisticsTest] SET       AUTO_UPDATE_STATISTICS_ASYNC OFF

GO

 

13.   Create Data Corruption Detection Job

 

  • Ideally, run DBCC CHECKDB as frequently as practical.
  • Create an appropriate job to run this (or similar) command:

DBCC CHECKDB (‘DATABASE_NAME’) WITH NO_INFOMSGS, ALL_ERRORMSGS;

Note: Consider using PHYSICAL_ONLY option for large or busy production servers to reduce run time.

  • If you have a problem, you want to find it as soon as possible to reduce the risk of data loss. Don’t use the DBCC CHECKDB repair option unless you fully understand its implications.

 

 

14.   Implement a Backup/Restore Strategy

 

  • Create a job to perform full backups daily on all system and user production databases, plus log backups hourly (or similar variation).
  • If a database uses the bulk or full recovery model, you must back up the transaction log to keep in from growing uncontrollably.
  • Backup using RESTORE WITH VERIFYONLY to help verify backup integrity. (Does not guarantee good backups.)
  • Periodically test backups to see if they can be restored.
  • Set up an appropriate backup retention policy.
  • Store backups securely and off-site (not on same disk array or SAN).
  • If you have a limited backup window, or have limited disk space, use backup compression. Can be a big time saver

 

 

 

 

15.   Set Up Alerts for Critical Errors

 

  • Create a SQL Server Event Alert for all events with a severity of 19 [fatal] and higher.
  • Have alerts sent to you or whoever is responsible for day-to-day monitoring.
  • Consider a third-party alerting tool if SQL Server Alerts doesn’t meet all of your needs.

 

16.   Create a Disaster Recovery Plan

 

  • You must create a document that outlines, step-by-step, in great detail, how you will recover your SQL Servers in the case of any problem, small or large.
  • You need to practice using the plan so you are familiar with it and can easily implement it.
  • Keep Microsoft SQL Server’s Product Support phone number handy. Paste it near your computer.
  • Remember: Most “disasters” are small, such as a corrupted database. Big “disasters” occur very rarely, if ever. But you need to be prepared for both

 

17.   Document Everything

 

  • Yes, documentation is very boring, but it is very critical for business to flow smoothly. Be sure to document:
  • The installation and configuration of each instance.
  • The installation and configuration of any application that uses SQL Server as its back end (as related to SQL Server).
  • Troubleshooting tasks, as the same problem may reoccur, and you don’t want to reinvent the wheel.
  • Any time any change is made to any instance for any reason.
  • Be sure that documentation is easily available to everyone who needs access to it.

 

18.   Test Everything

 

  • Before you make any change on a production SQL Server, be sure you test it first in a test environment.

 

 

CUSTOM TOP CREATION IN Oracle EBS R12

1) Make the directory structure for your custom application files.

cd $APPL_TOP
mkdir XXERP
mkdir XXERP/12.0.0
mkdir XXERP/12.0.0/admin
mkdir XXERP/12.0.0/admin/sql
mkdir XXERP/12.0.0/admin/odf
mkdir XXERP/12.0.0/sql
mkdir XXERP/12.0.0/bin
mkdir XXERP/12.0.0/reports
mkdir XXERP/12.0.0/reports/US
mkdir XXERP/12.0.0/forms
mkdir XXERP/12.0.0/forms/US
mkdir XXERP/12.0.0/lib
mkdir XXERP/12.0.0/out
mkdir XXERP/12.0.0/log
mkdir XXERP/12.0.0/help
mkdir XXERP/12.0.0/html
mkdir XXERP/12.0.0/java
mkdir XXERP/12.0.0/mds
mkdir XXERP/12.0.0/media
mkdir XXERP/12.0.0/mesg
mkdir XXERP/12.0.0/patch2) Add the custom module into the environment
cd $APPL_TOP
echo “XXERP_TOP=/d01/oracle/PROD/apps/apps_st/appl/XXERP/12.0.0” &gt;
export XXERP_TOP
source the environment file ( /d01/oracle/PROD/apps/apps_st/appl/customPROD_linux7.env )echo “export XXERP_TOP ” &gt;&gt; customPROD_linux7.env
Make entry to context file
/d01/oracle/PROD/inst/apps/customPROD_linux7/appl/admin/customPROD_linux7.xml
/d01/oracle/PROD/apps/apps_st/appl/XXERP/12.0.0
cd $INST_TOP/admin/install
sh adgentopfile.sh
Open new session, source environment file, and stop middle tier services, run autoconfig
Open new session, source environment file, check for custom top in topfile.txt in $APPL_TOP/admin, start the middle tier services.3) Create Tablespace

create tablespace XXERP datafile ‘/sandb1/oracle/TEST/db/apps_st/data/XXERP01.dbf’ size 500M

4) Create USER
create user XXERP identified by XXERP
default tablespace XXERP
temporary tablespace temp1
quota unlimited on XXERP
grant connect, resource to XXERP;

5) Register your Oracle Schema
 Login to Applications with System Administrator responsibility
Navigate to Application–>Register
Application = XXERP Custom Application
Short Name = XXERP
Basepath = XXERP_TOP
Description = XXERP Custom Application

6) Register Oracle User
 Naviate to Security–>Oracle–>Register
Database User Name = XXERP
Password = XXERP
Privilege = Enabled
Install Group = 0
Description = XXERP Custom Application User

7) Add Application to a Data Group
 Navigate to Security–>Oracle–>DataGroup
Data Group = XXERPGroup
Description = XXERP Custom Data Group
Click on “Copy Applications from” and pick Standard data Group, then add the following entry.
Application = XXERPCustom
Oracle ID = APPS
Description = XXERPCustom Application

8) Create custom request group
 This will act as a placeholder for any custom reports we wish to make available for the Custom Responsibility (which is defined at a later stage)
Navigate to Security–>responsbility–>Request
Group = XXERP Request Group
Application = XXERP Custom
Code = XXERP
Description = XXERP Custom Requests
We will not define any requests to add to the group at this stage, but you can add some now if required.

9) Create custom menu
 This will act as a placeholder for any menu items we wish to make available for the Custom Responsibility (which is defined at a later stage). We will create
two menus, one for Core Applications and one for Self Service.
Navigate to Application–>Menu
Menu = XXERP_CUSTOM_MENU
User Menu Name = XXERP Custom Application
Menu Type =
Description = XXERP Custom Application Menu
Seq = 100
Prompt = View Requests
Submenu =
Function = View All Concurrent Requests
Description = View Requests
Seq = 110
Prompt = Run Requests
Submenu =
Function = Requests: Submit
Description = Submit Requests
Menu = XXERP_CUSTOM_MENU_SSWA
User Menu Name = XXERP Custom Application SSWA
Menu Type =
Description = XXERP Custom Application Menu for SSWA

10) Create new responsibility. One for Core Applications and One for Self Service (SSWA)

Navigate to Security–>Responsibility–>Define
Responsibility Name = XXERP Custom
Application = XXERP Custom
Responsibility Key = XXERPCUSTOM
Description = XXERP Custom Responsibility
Available From = Oracle Applications
Data Group Name = XXERPGroup
Data Group Application = XXERP Custom
Menu = XXERP Custom Application
Request Group Name = XXERP Request Group
Responsibility Name = XXERP Custom SSWA
Application = XXERP Custom
Responsibility Key = XXERPCUSTOMSSWA
Description = XXERP Custom Responsibility SSWA
Available From = Oracle Self Service Web Applications
Data Group Name = XXERPGroup
Data Group Application = XXERP Custom
Menu = XXERP Custom Application SSWA
Request Group Name = XXERP Request Group

11) Add responsibility to user
 Navigate to Security–>User–>Define
Add XXERP Custom responsibility to users as required.

12) Other considerations
 You are now ready to create your database Objects, custom Reports, Forms, Packages, etc
Create the source code files in the XXERP_TOP directory appropriate for the type of object. For example forms would be located in $XXERP_TOP/forms/US or
package source code in $XXERP_TOP/admin/sql for example.
Database Objects, such as tables, indexes and sequences should be created in the XXERP schema, and then you need to
a) Grant all privilege from each custom data object to the APPS schema.
For example : logged in as XXERP user
grant all privileges on myTable to apps;
b) Create a synonym in APPS for each custom data object
For example : logged in as APPS user
create synonym myTable for XXERP.myTable;

13) Login to sysadmin, Application Developer Responsibility
Application > Form ( Register the form )
Application > Funtion ( Add the form to a function )
Application > Menu ( Attach the function to a menu )
Menu that is added to a particular responsbility is given to specific user
Security > User > Define

************************************

 RUN AUTOCONFIG ON APPS TIER

 BOUNCE THE APPLICATION TIER

You need a custom schema and datafile to have all your custom objects in this schema

If i create new custom_top i use below grants: – 
CREATE USER XX
IDENTIFIED BY XX
DEFAULT TABLESPACE XX
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
GRANT CONNECT TO XX;
ALTER USER XX DEFAULT ROLE ALL;
GRANT CREATE VIEW TO XX;
GRANT CREATE TABLE TO XX;
GRANT CREATE SESSION TO XX;
GRANT CREATE SYNONYM TO XX;
GRANT CREATE TRIGGER TO XX;
GRANT CREATE SEQUENCE TO XX;
GRANT CREATE PROCEDURE TO XX;
GRANT CREATE PUBLIC SYNONYM TO XX;
ALTER USER XX QUOTA UNLIMITED ON XX;
ALTER USER XX QUOTA UNLIMITED ON XX_INDEX;

About AutoCong

System configuration parameters are stored and managed by Autoconfig.

Autoconfig is a tool that simplifies and standardizes configuration management tasks in an Oracle Applications Environment.

Before the Applications context and AutoConfig were introduced, configuration management tasks could be time-consuming and prone to error, in some cases requiring manual changes to be made to several configuration files. While individual configuration files are still used in an AutoConfig-enabled environment, they play a secondary role to an XML-based repository of Applications environment information, called the context file.

By centralizing the configuration information, AutoConfig simplifies procedures for activities that range from upgrading a technology stack component to starting and stopping Applications services. Another benefit is that the various files AutoConfig employs can be updated via standard Applications patches.

There are separate context files for the application and database tiers of an Applications system.

Applications Context File :

The Applications context file, APPL_TOP/admin/<CONTEXT_NAME>.xml, is a repository for environment-specific details used by AutoConfig to configure the application tier. Information from this file is used to generate Applications configuration files and update relevant database profiles.

Information stored includes:

• Name and location of the database

• Port numbers for Forms and Web servers

• Product-specific port numbers

• Information about application tier services controlled by AutoConfig

The values of the context variables that make up the context file are in part determined by the choices you make when you run Rapid Install.

Database Context File :

The database context file,  <RDBMS_ORACLE_HOME>/appsutil/<CONTEXT_NAME>.xml, performs an equivalent role on the database tier. Information from this file is used to generate configuration files used on the database tier when AutoConfig is next run.

AutoCong Scripts :

 Key AutoConfig configuration scripts (command files on Windows) include:

• adautocfg.sh – Wrapper script that passes the name of the specific environment context file to adconfig.sh.

• adconfig.sh – Invoked by adautocfg.sh, this script is a wrapper for adconfig.pl.

• adconfig.pl – Invoked by adconfig.sh, this Perl script calls the Java API to carry out the actual configuration tasks. The relevant Java code is located in the

<JAVA_TOP> directory, either <COMMON_TOP>/java (on the application tier) or

RDBMS_ORACLE_HOME/appsutil/java (on the database tier).

AutoConfig Directories :

Directory Name                                                                      Directory Contents

<COMMON_TOP>/admin/install/<CONTEXT_NAME>    Install scripts

<COMMON_TOP>/admin/scripts/<CONTEXT_NAME>   Control scripts

<COMMON_TOP>/admin/log/<CONTEXT_NAME>        Log files

AutoCong Operation :

 As AutoConfig is used for a wide range of system configuration activities, from installation to maintenance, the following discussion of its operations is divided into several sections.

1. Context Value Management

Context Value Management (CVM) is an AutoConfig component that is used to manage the values of variables in the context file, and automate required updates to it. CVM supports updates to both the application tier and database tier context files.

CVM actions include:

• Adding new variables to a context file.

• Updating values of variables in an existing context file.

• Applying new versions of context file templates.

• Executing scripts or configuration tools that must complete before the AutoConfig engine starts, for example when generating the tnsnames.ora file. CVM is activated when the Applications context file is updated, but before the AutoConfig engine itself starts. This enables CVM to execute scripts or other tools to manipulate any required file on the file system, and allow the appropriate settings to be propagated as needed to both the file system and database. For example, it is possible toupdate values in the context file which will then be propagated to the file system.

Like the core AutoConfig components, CVM utilizes configuration files on both the

application and database tiers,

$AD_TOP/bin/adcvm.sh                                                                    Main CVM script

$AD_TOP/admin/template/adcvmat.xml Stores CVM-related data for the database tier

<RDBMS_ORACLE_HOME>/appsutil/bin/adcvm.sh                     Main CVM script

<RDBMS_ORACLE_HOME>appsutil/template/adcvmdb.xml       Stores CVM-related data for the database tier

AutoCong Files

1. Template Files

AutoConfig template files are used as the starting point for creating site-specific  configuration files.

AutoConfig evaluates the context variables in a template file, determines the actual values required, and

creates a configuration file with these values substituted. There is one template file for each configuration

file. Template files are located in the various <PROD>_TOP/admin/template directories on the application

tier, and in the <RDBMS_ORACLE_HOME>/appsutil/template directory on thedatabase tier.

Template files used by AutoConfig can be divided into the following categories:

Templates for APPL_TOP Configuration Files – These are either files requiring configuration-

specific information in the APPL_TOP, or files used to load configuration profiles into the Applications database.

Templates for Management Scripts – To run all the standard processes required by Applications,

Rapid Install creates scripts to start and stop each of these required processes. These scripts need configuration information in order to:

• Create the correct environments for each process

• Start the processes with the correct parameters

• Point the processes at the correct database instance (if applicable)

Driver Files

AutoConfig driver files are used to list the corresponding template files and locations, and specify the

commands to be executed. For example, the commands might update profile options. Driver files are

located in each <PROD>_TOP/admin/driver directory on the application tier, and in the

<RDBMS_ORACLE_HOME>/appsutil/template directory on thedatabase tier.

Configuration Files

AutoConfig configuration files, such as httpd.conf, are created as a result of AutoConfig instantiating the

corresponding template files. Configuration files contain values corresponding to the settings specified for

a particular site. After AutoConfig has been run, numerous configuration files will have been created in

various directories.

1.) Instantiation

As mentioned earlier, instantiation is the process whereby AutoConfig creates a configuration file with

contents tailored for a specific environment. AutoConfig can be used to instantiate files or scripts, and

then execute them for installation and configuration.

Examples of instantiation include:

• Instantiation of a configuration file to be used at runtime

• Instantiation of an SQL script to set profile options

• Instantiation of a shell script or Windows command file to run an SQL script in SQL*Plus

• Instantiation of scripts to start up and shut down application tier services

The adautocfg.sh script updates configuration files and profile options in the following way:

1. Instantiates template files with instance-specific values derived from the relevantcontext file

2. Copies in any customizations

3. Overwrites existing configuration files with newly instantiated ones

4. Runs SQL scripts to update database profile options.

2.) Role of the template and driver files

AutoConfig uses the various template files to determine the basic settings needed. There is one template

file for each configuration file. Different versions of the template files exist for UNIX and Windows.

The driver files list the names and locations of the files that need to have contextvariables replaced. They

also define the phases into which instantiation is divided, and specify the commands that are to be

executed for specific products. When AutoConfig runs, it cycles through the various

<PROD>_TOP/admin/driver directories looking for driver files such as adtmpl.drv, fndtmpl.drv, and

icxtmpl.drv.

Execution of Scripts

As well as its instantiation activities, AutoConfig carries out numerous other essential configuration

management tasks, by executing scripts such as the following.

Script                                                            Action

adgendbc.sh                                                 Generates the dbc file

adgenjky.sh                                                  Generates JInitiator security information

adcpnode.sh                                                 Registers nodes in the database

ssodatan.sh                                                   Associates Portal with Oracle Single Sign-On

These and other scripts are executed as applicable, depending on the requirements of the specific

Applications system.

Phases of Operation

As AutoConfig parses the driver files, it carries out a series of actions, grouped into several distinct

phases:

• INSTE8 – Instantiates AutoConfig template files to the AutoConfig configuration files specified in the

relevant template driver files.

• INSTE8_SETUP – Executes setup scripts that carry out activities not involving connection to the

database.

• INSTE8_PRF – Executes setup scripts that update profile options.

• INSTE8_APPLY – Executes setup scripts that carry out activities involving updates to the database.

• BINCPY – Copies the file mentioned from the source file to the configuration file, creating parent

directories for the latter if necessary. AutoConfig will report an error if the source file cannot be found.

• BINCPY_IGERR – Copies the file mentioned from the source file to the configuration file, creating

parent directories for the latter if necessary. AutoConfig will not report an error if the source file cannot be

found.

AutoConfig carries out these actions in the following order:

  1. All INSTE8 and BINCPY actions – Carries out all file instantiations called for during INSTE8,

INSTE8_SETUP, INSTE8_PRF and INSTE8_APPLY, and all copying from source files to target configuration files.

2. INSTE8_SETUP actions – For the files that were instantiated in Step 1, AutoConfig runs all SETUP

scripts.

3. INSTE8_PRF actions – For the files that were instantiated in Step 1, AutoConfig runs all PRF scripts.

4. INSTE8_APPLY actions – For the files that were instantiated in Step 1, AutoConfig runs all APPLY

scripts. At the end of this process, the required configuration files and profile options have been created

for the E-Business Suite installation.

Management Tasks

 Managing the Context :

Oracle Applications Manager enables you to edit the Applications  context as required. From the

Administration tab, choose AutoConfig and click Edit Parameters for the relevant context file. After

making a change to the context, you must run AutoConfig to update the relevant configuration files.

Before doing so, you should examine the proposed changes by running the adchkcfg.sh configuration

check script may on occasion be necessary to undo configuration changes. You can restore the previous

configuration by running the restore.sh utility, which enables you to roll back the changes made by an

AutoConfig run. This is achieved by utilizing the backup copies of the configuration files that are created

when AutoConfig is run.

Note: The backup files are located in

<APPL_TOP>/admin/<CONTEXT_NAME>/out/MMDDhhmm on the application tier, and

<RDBMS_ORACLE_HOME>/appsutil/out/MMDDhhmm on the

database tier, where the directory name indicates the month, day, hour and minute of the AutoConfig run.

You can restore the configuration that existed immediately before the current one by navigating to the

appropriate backup directory and running the restore.sh script. To restore an earlier configuration, you

must use the Context File History feature of Oracle Applications Manager.

Controlling the System :

AutoConfig utilizes a number of application tier control scripts, located in

<COMMON_TOP>/admin/scripts/<CONTEXT_NAME>.

Script Name                                                 Function

adstrtal.sh                                                     Starts all application tier server processes

adstpall.sh                                                    Stops all application tier server processes

adautocfg.sh                                                Runs AutoConfig

The corresponding directory on the database tier is

<RDBMS_ORACLE_HOME>/appsutil/scripts/<CONTEXT_NAME>, where control scripts allow the

database and database listener processes to be started and stopped, and AutoConfig to be run. Checking

the System.

Examining changes :

adchkcfg.sh is located in <AD_TOP>/bin on the application tier, and in

<RDBMS_ORACLE_HOME>/appsutil/bin on the database tier.

This utility generates a report that highlights differences between existing configuration files and the new

ones that AutoConfig will generate. The report is called cfgcheck.html. Running adchkcfg.sh is useful

both in carrying out a test run before a planned environment change is made, and when investigating

problems.

Listing enabled products :

adcfginfo.sh is located in <AD_TOP>/bin on the application tier, and in

<RDBMS_ORACLE_HOME>/appsutil/bin on the database tier. This utility reports if an Applications

system is AutoConfig-enabled (which will always be the case for 11.5.10). In addition, it can optionally

list the installed products that are maintained by AutoConfig.

Monitoring Scope Current Status OS level and Database

Monitoring Scope Current Status OS Level : – 
1 Physical memory / Load :Load normal, Load averages: 0.35, 0.37, 0.36
2 OS Space threshold ( archive, ora_dump etc.. ) :Sufficient Space available.
Top 10 process consuming memory:No process using exceptional high memory
4 Free volumes available :Sufficient disk space is available on the mount points
5 Filesystem space Under normal threshold
Database level.
6 Check extents / Pro active Space addition:Space is being regularly added.
7 Check alert log for ORA- and warn messages.
8 Major wait events (latch/enqueue/Lib cache pin) No major wait events
9 Max Sessions
10 Long running Jobs 6 inactive sessions running for more than 8 hrs
11 Invalid objects 185
12 Analyze Jobs ( once in a week )
13 Temp usage / Rollback segment usage Normal
14 Nologging Indexes
15 Hotbackup/Coldbackup Gone fine
16 Redo generation normal
17 PQ proceses Normal
18 I/O Generation Under normal threshold
19 2 PC Pending transactions 0
DR / backup
1 Sync arch Normal
2 Purge arch Normal
3 Recovery status Normal
20)DATABASE HEALTH CHECK SCRIPT: Showing locks and Archive generation details

In Detail DATABASE Health check:
OPERATING SYSTEM:

1)Physical memory/ Load:
1) Free:free command displays amount of total, free and used physical memory (RAM) in the system as well as showing information on shared memory, buffers, cached memory and swap space used by the Linux kernel.
Usage:
$ free -m

2) vmstat:vmstat reports report virtual memory statistics, which has information about processes, swap, free, buffer and cache memory, paging space, disk IO activity, traps, interrupts, context switches and CPU activity
Usage:
$vmstat 5

3) top:top command displays dynamic real-time view of the running tasks managed by kernel and in Linux system. The memory usage stats by top command include real-time live total, used and free physical memory and swap memory with their buffers and cached memory size respectively
Usage:
$top
4) ps :ps command reports a snapshot on information of the current active processes. ps will show the percentage of memory resource that is used by each process or task running in the system. With this command, top memory hogging processes can be identified.
Usage:
$ps aux

2) OS Space threshold ( archive, ora_dump etc.. ):
Checking the OS space is available in all filesystems,specially the location which is having archive logs ,oracle Database files.We can use the below OS commands:
$df –h
$du –csh *
3) Top 10 process consuming memory:
We can Displaying top 10 memory consuming processes as follows:

ps aux|head -1;ps aux|sort -m

We can use the top command, and press M which orders the process list by memory usage.

4) Free volumes available:

We have to make sure Sufficient disk space is available on the mount points on each OS servers where the Database is up and running.

$df –h

5)Filesystem space:

Under normal threshold.Check the filesystem in the OS side whether the sufficient space is available at all mount points.

DATABASE :

6)Check extents / Pro active Space addition:
Check each of the Data,Index and temporary tablespaces for extend and blocks
Allocation details.

SET LINES 1000
SELECT SEGMENT_NAME,TABLESPACE_NAME,EXTENTS,BLOCKS
FROM DBA_SEGMENTS;

SELECT SEGMENT_NAME,TABLESPACE_NAME,EXTENTS,BLOCKS
FROM DBA_SEGMENTS WHERE TABLESPACE_NAME=’STAR01D’;

7) Check alert log for ORA- and warn messages:

Checking the alert log file regulary is a vital task we have to do.In the alert log files we have to looks for the following things:

1) Look for any of the oracle related errors.
Open the alert log file with less or more command and search for ORA-
This will give you the error details and time of occurrence.

2) Look for the Database level or Tablespace level changes
Monitor the alert log file and search the file for each Day activities happening
In the Database either whether it is bouncing of Database.Increase in the size of the tablespaces,Increase in the size of the Database parameters.In the 11g Database we can look for TNS errors in the alert log file.

8) Major wait events (latch/enqueue/Lib cache pin):

We can check the wait events details with the help of below queries:

SELECT s.saddr, s.SID, s.serial#, s.audsid, s.paddr, s.user#, s.username,
s.command, s.ownerid, s.taddr, s.lockwait, s.status, s.server,
s.schema#, s.schemaname, s.osuser, s.process, s.machine, s.terminal,
UPPER (s.program) program, s.TYPE, s.sql_address, s.sql_hash_value,
s.sql_id, s.sql_child_number, s.sql_exec_start, s.sql_exec_id,
s.prev_sql_addr, s.prev_hash_value, s.prev_sql_id,
s.prev_child_number, s.prev_exec_start, s.prev_exec_id,
s.plsql_entry_object_id, s.plsql_entry_subprogram_id,
s.plsql_object_id, s.plsql_subprogram_id, s.module, s.module_hash,
s.action, s.action_hash, s.client_info, s.fixed_table_sequence,
s.row_wait_obj#, s.row_wait_file#, s.row_wait_block#,
s.row_wait_row#, s.logon_time, s.last_call_et, s.pdml_enabled,
s.failover_type, s.failover_method, s.failed_over,
s.resource_consumer_group, s.pdml_status, s.pddl_status, s.pq_status,
s.current_queue_duration, s.client_identifier,
s.blocking_session_status, s.blocking_instance, s.blocking_session,
s.seq#, s.event#, s.event, s.p1text, s.p1, s.p1raw, s.p2text, s.p2,
s.p2raw, s.p3text, s.p3, s.p3raw, s.wait_class_id, s.wait_class#,
s.wait_class, s.wait_time, s.seconds_in_wait, s.state,
s.wait_time_micro, s.time_remaining_micro,
s.time_since_last_wait_micro, s.service_name, s.sql_trace,
s.sql_trace_waits, s.sql_trace_binds, s.sql_trace_plan_stats,
s.session_edition_id, s.creator_addr, s.creator_serial#
FROM v$session s
WHERE ( (s.username IS NOT NULL)
AND (NVL (s.osuser, ‘x’) <> ‘SYSTEM’)
AND (s.TYPE <> ‘BACKGROUND’) AND STATUS=’ACTIVE’
)
ORDER BY “PROGRAM”;

The following query provides clues about whether Oracle has been waiting for library cache activities:

Select sid, event, p1raw, seconds_in_wait, wait_time
From v$session_wait
Where event = ‘library cache pin’
And state = ‘WAITING’;

The below Query gives details of Users sessions wait time and state:

SELECT NVL (s.username, ‘(oracle)’) AS username, s.SID, s.serial#, sw.event,
sw.wait_time, sw.seconds_in_wait, sw.state
FROM v$session_wait sw, v$session s
WHERE s.SID = sw.SID
ORDER BY sw.seconds_in_wait DESC;

9) Max Sessions:
There should not be more than 6 inactive sessions running for more than 8 hours in a Database in order to minimize the consumption of CPU and I/O resources.

a)Users and Sessions CPU consumption can be obtained by below query:

Set lines 1000
select ss.username, se.SID,VALUE/100 cpu_usage_seconds
from v$session ss, v$sesstat se, v$statname sn
where se.STATISTIC# = sn.STATISTIC#
and NAME like ‘%CPU used by this session%’
and se.SID = ss.SID and ss.status=’ACTIVE’
and ss.username is not null
order by VALUE desc;

b) Users and Sessions CPU and I/O consumption can be obtained by below query:

— shows Day wise,User wise,Process id of server wise- CPU and I/O consumption
set linesize 140
col spid for a6
col program for a35 trunc
select p.spid SPID,to_char(s.LOGON_TIME,’DDMonYY HH24:MI’) date_login,s.username,decode(nvl(p.background,0),1,bg.description, s.program ) program,
ss.value/100 CPU,physical_reads disk_io,(trunc(sysdate,’J’)-trunc(logon_time,’J’)) days,
round((ss.value/100)/(decode((trunc(sysdate,’J’)-trunc(logon_time,’J’)),0,1,(trunc(sysdate,’J’)-trunc(logon_time,’J’)))),2) cpu_per_day
from V$PROCESS p,V$SESSION s,V$SESSTAT ss,V$SESS_IO si,V$BGPROCESS bg
where s.paddr=p.addr and ss.sid=s.sid
and ss.statistic#=12 and si.sid=s.sid
and bg.paddr(+)=p.addr
and round((ss.value/100),0) > 10
order by 8;

10) Long running Jobs:

We can find out long running jobs with the help of the below query:

col username for a20
col message for a50
col remaining for 9999
select username,to_char(start_time, ‘hh24:mi:ss dd/mm/yy’) started,
time_remaining remaining, message
from v$session_longops
where time_remaining = 0
order by time_remaining desc;

11) Invalid objects:

We can check the invalid objects with the help of the below query:

select owner||’ ‘||object_name||’ ‘||created||’ ‘||status from dba_objects where status=’INVALID’;

12) Analyze Jobs ( once in a week ):

We need to analyze the jobs that are running once in a week as a golden rule.
The below steps can be considered for analyzing jobs.

Analyzing a Running Job
The status of a job or a task changes several times during its life cycle. A job can have the following as its status:
Scheduled: The job is created and will run at the specified time.
Running: The job is being executed and is in progress.
Initialization Error: The job or step could not be run successfully. If a step in a job fails initialization, the job status is Initialization Error.
Failed: The job was executed but failed.
Succeeded: The job was executed completely.
Stopped: The user canceled the job.
Stop Pending: The user has stopped the job. The already running steps are completing execution.
Suspended: This indicates that the execution of the job is deferred.
Inactive: This status indicates that the target has been deleted.
Reassigned: The owner of the job has changed.
Skipped: The job was not executed at the specified time and has been omitted.
The running jobs can be found out by the help of below query:

select sid, job,instance from dba_jobs_running;

We can find out the failed jobs and Broken jobs details with the help of the Below query:

select job||’ ‘||schema_user||’ ‘||Broken||’ ‘||failures||’ ‘||what||’ ‘||last_date||’ ‘||last_sec from dba_jobs;

13) Temp usage / Rollback segment/PGA usage:

We can get information of temporary tablespace usage details with the help of below query:
Set lines 1000
SELECT b.tablespace,
ROUND(((b.blocks*p.value)/1024/1024),2)||’M’ “SIZE”,
a.sid||’,’||a.serial# SID_SERIAL,
a.username,
a.program
FROM sys.v_$session a,
sys.v_$sort_usage b,
sys.v_$parameter p
WHERE p.name = ‘db_block_size’
AND a.saddr = b.session_addr
ORDER BY b.tablespace, b.blocks;

We can get information of Undo tablespace usage details with the help of the below query:
set lines 1000
SELECT TO_CHAR(s.sid)||’,’||TO_CHAR(s.serial#) sid_serial,
NVL(s.username, ‘None’) orauser,
s.program,
r.name undoseg,
t.used_ublk * TO_NUMBER(x.value)/1024||’K’ “Undo”
FROM sys.v_$rollname r,
sys.v_$session s,
sys.v_$transaction t,
sys.v_$parameter x
WHERE s.taddr = t.addr
AND r.usn = t.xidusn(+)
AND x.name = ‘db_block_size’;

We can get the PGA usage details with the help of the below query:
select st.sid “SID”, sn.name “TYPE”,
ceil(st.value / 1024 / 1024/1024) “GB”
from v$sesstat st, v$statname sn
where st.statistic# = sn.statistic#
and sid in
(select sid from v$session where username like UPPER(‘&user’))
and upper(sn.name) like ‘%PGA%’
order by st.sid, st.value desc;
Enter value for user: STARTXNAPP
14)Validating the Backup:

We have to verify the Hotbackup/Coldbackup(or any physical or logical backup) of all the Production and non-production Databases went fine.Make sure you are having a valid backups of all the Databases.Check the Backup locations to make sure the Backup completed on time with the required Backup data.

14)Hotbackup/Coldbackup:
Validating the backup of Database.It should complete on time with the required data for restoring and recovery purpose if required.

15) Redo generation/Archive logs generation details:
We should make sure there should not be frequent log switch happening in a Database.If there are frequent log switches than archive logs might generate more which may decrease the performance of the Database however in a production Database log switches could vary depending upon the Server configuration between 5 to 20.

We can the log switch details with the help of the below query:

Redolog switch Datewise and hourwise:
——————————-
set lines 120;
set pages 999;
select to_char(first_time,’DD-MON-RR’) “Date”,
to_char(sum(decode(to_char(first_time,’HH24′),’00’,1,0)),’99’) ” 00″,
to_char(sum(decode(to_char(first_time,’HH24′),’01’,1,0)),’99’) ” 01″,
to_char(sum(decode(to_char(first_time,’HH24′),’02’,1,0)),’99’) ” 02″,
to_char(sum(decode(to_char(first_time,’HH24′),’03’,1,0)),’99’) ” 03″,
to_char(sum(decode(to_char(first_time,’HH24′),’04’,1,0)),’99’) ” 04″,
to_char(sum(decode(to_char(first_time,’HH24′),’05’,1,0)),’99’) ” 05″,
to_char(sum(decode(to_char(first_time,’HH24′),’06’,1,0)),’99’) ” 06″,
to_char(sum(decode(to_char(first_time,’HH24′),’07’,1,0)),’99’) ” 07″,
to_char(sum(decode(to_char(first_time,’HH24′),’08’,1,0)),’99’) ” 08″,
to_char(sum(decode(to_char(first_time,’HH24′),’09’,1,0)),’99’) ” 09″,
to_char(sum(decode(to_char(first_time,’HH24′),’10’,1,0)),’99’) ” 10″,
to_char(sum(decode(to_char(first_time,’HH24′),’11’,1,0)),’99’) ” 11″,
to_char(sum(decode(to_char(first_time,’HH24′),’12’,1,0)),’99’) ” 12″,
to_char(sum(decode(to_char(first_time,’HH24′),’13’,1,0)),’99’) ” 13″,
to_char(sum(decode(to_char(first_time,’HH24′),’14’,1,0)),’99’) ” 14″,
to_char(sum(decode(to_char(first_time,’HH24′),’15’,1,0)),’99’) ” 15″,
to_char(sum(decode(to_char(first_time,’HH24′),’16’,1,0)),’99’) ” 16″,
to_char(sum(decode(to_char(first_time,’HH24′),’17’,1,0)),’99’) ” 17″,
to_char(sum(decode(to_char(first_time,’HH24′),’18’,1,0)),’99’) ” 18″,
to_char(sum(decode(to_char(first_time,’HH24′),’19’,1,0)),’99’) ” 19″,
to_char(sum(decode(to_char(first_time,’HH24′),’20’,1,0)),’99’) ” 20″,
to_char(sum(decode(to_char(first_time,’HH24′),’21’,1,0)),’99’) ” 21″,
to_char(sum(decode(to_char(first_time,’HH24′),’22’,1,0)),’99’) ” 22″,
to_char(sum(decode(to_char(first_time,’HH24′),’23’,1,0)),’99’) ” 23″
from v$log_history
group by to_char(first_time,’DD-MON-RR’)
order by 1
/
Archive logs generations is directly proportional to the number of log switches happening in a Database. If there are frequent log switches than archive logs might generate more which can affect the performance of Database.

We can use the below queries for archive logs generation details:

a)Archive logs by dates:
set lines 1000
select to_char(first_time,’DD-MON-RR’) “Date”,
to_char(sum(decode(to_char(first_time,’HH24′),’00’,1,0)),’99’) ” 00″,
to_char(sum(decode(to_char(first_time,’HH24′),’01’,1,0)),’99’) ” 01″,
to_char(sum(decode(to_char(first_time,’HH24′),’02’,1,0)),’99’) ” 02″,
to_char(sum(decode(to_char(first_time,’HH24′),’03’,1,0)),’99’) ” 03″,
to_char(sum(decode(to_char(first_time,’HH24′),’04’,1,0)),’99’) ” 04″,
to_char(sum(decode(to_char(first_time,’HH24′),’05’,1,0)),’99’) ” 05″,
to_char(sum(decode(to_char(first_time,’HH24′),’06’,1,0)),’99’) ” 06″,
to_char(sum(decode(to_char(first_time,’HH24′),’07’,1,0)),’99’) ” 07″,
to_char(sum(decode(to_char(first_time,’HH24′),’08’,1,0)),’99’) ” 08″,
to_char(sum(decode(to_char(first_time,’HH24′),’09’,1,0)),’99’) ” 09″,
to_char(sum(decode(to_char(first_time,’HH24′),’10’,1,0)),’99’) ” 10″,
to_char(sum(decode(to_char(first_time,’HH24′),’11’,1,0)),’99’) ” 11″,
to_char(sum(decode(to_char(first_time,’HH24′),’12’,1,0)),’99’) ” 12″,
to_char(sum(decode(to_char(first_time,’HH24′),’13’,1,0)),’99’) ” 13″,
to_char(sum(decode(to_char(first_time,’HH24′),’14’,1,0)),’99’) ” 14″,
to_char(sum(decode(to_char(first_time,’HH24′),’15’,1,0)),’99’) ” 15″,
to_char(sum(decode(to_char(first_time,’HH24′),’16’,1,0)),’99’) ” 16″,
to_char(sum(decode(to_char(first_time,’HH24′),’17’,1,0)),’99’) ” 17″,
to_char(sum(decode(to_char(first_time,’HH24′),’18’,1,0)),’99’) ” 18″,
to_char(sum(decode(to_char(first_time,’HH24′),’19’,1,0)),’99’) ” 19″,
to_char(sum(decode(to_char(first_time,’HH24′),’20’,1,0)),’99’) ” 20″,
to_char(sum(decode(to_char(first_time,’HH24′),’21’,1,0)),’99’) ” 21″,
to_char(sum(decode(to_char(first_time,’HH24′),’22’,1,0)),’99’) ” 22″,
to_char(sum(decode(to_char(first_time,’HH24′),’23’,1,0)),’99’) ” 23″
from v$log_history
group by to_char(first_time,’DD-MON-RR’)
order by 1
/
b)Archive log generation details Day-wise :

select to_char(COMPLETION_TIME,’DD-MON-YYYY’),count(*)
from v$archived_log group by to_char(COMPLETION_TIME,’DD-MON-YYYY’)
order by to_char(COMPLETION_TIME,’DD-MON-YYYY’);

c) Archive log count of the day:

select count(*)
from v$archived_log
where trunc(completion_time)=trunc(sysdate);

count of archived logs generated today on hourly basis:
——————————————————-
select to_char(first_time,’DD-MON-RR’) “Date”,
to_char(sum(decode(to_char(first_time,’HH24′),’00’,1,0)),’99’) ” 00″,
to_char(sum(decode(to_char(first_time,’HH24′),’01’,1,0)),’99’) ” 01″,
to_char(sum(decode(to_char(first_time,’HH24′),’02’,1,0)),’99’) ” 02″,
to_char(sum(decode(to_char(first_time,’HH24′),’03’,1,0)),’99’) ” 03″,
to_char(sum(decode(to_char(first_time,’HH24′),’04’,1,0)),’99’) ” 04″,
to_char(sum(decode(to_char(first_time,’HH24′),’05’,1,0)),’99’) ” 05″,
to_char(sum(decode(to_char(first_time,’HH24′),’06’,1,0)),’99’) ” 06″,
to_char(sum(decode(to_char(first_time,’HH24′),’07’,1,0)),’99’) ” 07″,
to_char(sum(decode(to_char(first_time,’HH24′),’08’,1,0)),’99’) ” 08″,
to_char(sum(decode(to_char(first_time,’HH24′),’09’,1,0)),’99’) ” 09″,
to_char(sum(decode(to_char(first_time,’HH24′),’10’,1,0)),’99’) ” 10″,
to_char(sum(decode(to_char(first_time,’HH24′),’11’,1,0)),’99’) ” 11″,
to_char(sum(decode(to_char(first_time,’HH24′),’12’,1,0)),’99’) ” 12″,
to_char(sum(decode(to_char(first_time,’HH24′),’13’,1,0)),’99’) ” 13″,
to_char(sum(decode(to_char(first_time,’HH24′),’14’,1,0)),’99’) ” 14″,
to_char(sum(decode(to_char(first_time,’HH24′),’15’,1,0)),’99’) ” 15″,
to_char(sum(decode(to_char(first_time,’HH24′),’16’,1,0)),’99’) ” 16″,
to_char(sum(decode(to_char(first_time,’HH24′),’17’,1,0)),’99’) ” 17″,
to_char(sum(decode(to_char(first_time,’HH24′),’18’,1,0)),’99’) ” 18″,
to_char(sum(decode(to_char(first_time,’HH24′),’19’,1,0)),’99’) ” 19″,
to_char(sum(decode(to_char(first_time,’HH24′),’20’,1,0)),’99’) ” 20″,
to_char(sum(decode(to_char(first_time,’HH24′),’21’,1,0)),’99’) ” 21″,
to_char(sum(decode(to_char(first_time,’HH24′),’22’,1,0)),’99’) ” 22″,
to_char(sum(decode(to_char(first_time,’HH24′),’23’,1,0)),’99’) ” 23″
from v$log_history
where to_char(first_time,’DD-MON-RR’)=’16-AUG-10′
group by to_char(first_time,’DD-MON-RR’)
order by 1
/

16)I/O Generation:
We can find out CPU and I/O generation details for all the users in the Database with the help of the below query:
— Show IO per session,CPU in seconds, sessionIOS.
set linesize 140
col spid for a6
col program for a35 trunc
select p.spid SPID,to_char(s.LOGON_TIME,’DDMonYY HH24:MI’) date_login,s.username,decode(nvl(p.background,0),1,bg.description, s.program ) program,
ss.value/100 CPU,physical_reads disk_io,(trunc(sysdate,’J’)-trunc(logon_time,’J’)) days,
round((ss.value/100)/(decode((trunc(sysdate,’J’)-trunc(logon_time,’J’)),0,1,(trunc(sysdate,’J’)-trunc(logon_time,’J’)))),2) cpu_per_day
from V$PROCESS p,V$SESSION s,V$SESSTAT ss,V$SESS_IO si,V$BGPROCESS bg
where s.paddr=p.addr and ss.sid=s.sid
and ss.statistic#=12 and si.sid=s.sid
and bg.paddr(+)=p.addr
and round((ss.value/100),0) > 10
order by 8;
To know what the session is doing and what kind of sql it is using:

— what kind of sql a session is using
set lines 9999
set pages 9999

select s.sid, q.sql_text from v$sqltext q, v$session s
where q.address = s.sql_address
and s.sid = &sid order by piece;

eg: sid=1853

17)Sync arch:
In a Dataguard environment we have to check primary is in sync with the secondary Database.This we can check as follows:
The V$ MANAGED_STANDBY view on the standby database site shows you the activities performed by
both redo transport and Redo Apply processes in a Data Guard environment
SELECT PROCESS, CLIENT_PROCESS, SEQUENCE#, STATUS FROM V$MANAGED_STANDBY;
In some situations, automatic gap recovery may not take place and you will need to perform gap recovery manually. For example, you will need to perform gap recovery manually if you are using logical standby databases and the primary database is not available.
The following sections describe how to query the appropriate views to determine which log files are missing and perform manual recovery.
On a physical standby database
To determine if there is an archive gap on your physical standby database, query the V$ARCHIVE_GAP view as shown in the following example:
SQL> SELECT * FROM V$ARCHIVE_GAP;

If it displays no rows than the primary Database is in sync with the standy Database.If it display any information with row than manually we have to apply the archive logs.

After you identify the gap, issue the following SQL statement on the primary database to locate the archived redo log files on your primary database (assuming the local archive destination on the primary database is LOG_ARCHIVE_DEST_1):
Eg:
SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD#=1 AND DEST_ID=1 AND SEQUENCE# BETWEEN 7 AND 10;
Copy these log files to your physical standby database and register them using the ALTER DATABASE REGISTER LOGFILE statement on your physical standby database. For example:
SQL> ALTER DATABASE REGISTER LOGFILE
‘/physical_standby1/thread1_dest/arcr_1_7.arc’;
SQL> ALTER DATABASE REGISTER LOGFILE
‘/physical_standby1/thread1_dest/arcr_1_8.arc’;

After you register these log files on the physical standby database, you can restart Redo Apply. The V$ARCHIVE_GAP fixed view on a physical standby database only returns the next gap that is currently blocking Redo Apply from continuing. After resolving the gap and starting Redo Apply, query the V$ARCHIVE_GAP fixed view again on the physical standby database to determine the next gap sequence, if there is one. Repeat this process until there are no more gaps.

On a logical standby database:
To determine if there is an archive gap, query the DBA_LOGSTDBY_LOG view on the logical standby database. For example, the following query indicates there is a gap in the sequence of archived redo log files because it displays two files for THREAD 1 on the logical standby database. (If there are no gaps, the query will show only one file for each thread.) The output shows that the highest registered file is sequence number 10, but there is a gap at the file shown as sequence number 6:
SQL> COLUMN FILE_NAME FORMAT a55
SQL> SELECT THREAD#, SEQUENCE#, FILE_NAME FROM DBA_LOGSTDBY_LOG L
2> WHERE NEXT_CHANGE# NOT IN
3> (SELECT FIRST_CHANGE# FROM DBA_LOGSTDBY_LOG WHERE L.THREAD# = THREAD#)
4> ORDER BY THREAD#,SEQUENCE#;

THREAD# SEQUENCE# FILE_NAME
———- ———- ———————————————–
1 6 /disk1/oracle/dbs/log-1292880008_6.arc
1 10 /disk1/oracle/dbs/log-1292880008_10.arc

Copy the missing log files, with sequence numbers 7, 8, and 9, to the logical standby system and register them using the ALTER DATABASE REGISTER LOGICAL LOGFILE statement on your logical standby database. For example:
SQL> ALTER DATABASE REGISTER LOGICAL LOGFILE ‘/disk1/oracle/dbs/log-1292880008_10.arc’;

After you register these log files on the logical standby database, you can restart SQL Apply.

The DBA_LOGSTDBY_LOG view on a logical standby database only returns the next gap that is currently blocking SQL Apply from continuing. After resolving the identified gap and starting SQL Apply, query the DBA_LOGSTDBY_LOG view again on the logical standby database to determine the next gap sequence, if there is one. Repeat this process until there are no more gaps.
Monitoring Log File Archival Information:
Step 1 Determine the current archived redo log file sequence numbers.
Enter the following query on the primary database to determine the current archived redo log file sequence numbers:
SQL> SELECT THREAD#, SEQUENCE#, ARCHIVED, STATUS FROM V$LOG
WHERE STATUS=’CURRENT’;
Step 2 Determine the most recent archived redo log file.
Enter the following query at the primary database to determine which archived redo log file contains the most recently transmitted redo data:
SQL> SELECT MAX(SEQUENCE#), THREAD# FROM V$ARCHIVED_LOG GROUP BY THREAD#;
Step 3 Determine the most recent archived redo log file at each destination.
Enter the following query at the primary database to determine which archived redo log file was most recently transmitted to each of the archiving destinations:
SQL> SELECT DESTINATION, STATUS, ARCHIVED_THREAD#, ARCHIVED_SEQ#
2> FROM V$ARCHIVE_DEST_STATUS
3> WHERE STATUS <> ‘DEFERRED’ AND STATUS <> ‘INACTIVE’;

DESTINATION STATUS ARCHIVED_THREAD# ARCHIVED_SEQ#
—————— —— —————- ————-
/private1/prmy/lad VALID 1 947
standby1 VALID 1 947
The most recently written archived redo log file should be the same for each archive destination listed. If it is not, a status other than VALID might identify an error encountered during the archival operation to that destination.
Step 4 Find out if archived redo log files have been received.
You can issue a query at the primary database to find out if an archived redo log file was not received at a particular site. Each destination has an ID number associated with it. You can query the DEST_ID column of the V$ARCHIVE_DEST fixed view on the primary database to identify each destination’s ID number.
Assume the current local destination is 1, and one of the remote standby destination IDs is 2. To identify which log files are missing at the standby destination, issue the following query:
SQL> SELECT LOCAL.THREAD#, LOCAL.SEQUENCE# FROM
2> (SELECT THREAD#, SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=1)
3> LOCAL WHERE
4> LOCAL.SEQUENCE# NOT IN
5> (SELECT SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=2 AND
6> THREAD# = LOCAL.THREAD#);

THREAD# SEQUENCE#
——— ———
1 12
1 13
1 14

18)Purge arch:
We have to make sure the archive logs files are purged safely or move to Tape drive or any other location in order to make space for new archive logs files in the Archive logs destination locations.

19)Recovery status:
In order to do recover make sure you are having latest archive logs,so that you can restore and do the recovery if required.

20) MY DATABASE HEALTH CHECK SCRIPT:
/* SCRIPT FOR MONITORING AND CHECKING HEALTH OF DATABASE-USEFUL FOR PRODUCTION DATABASES */

— SHOWS RUNNING JOBS
select ‘RUNNING JOBS’, sid, job,instance from dba_jobs_running;
set lines 1000
— SHOWS ARCHIVE LOGS GENERAION DETAILS HOURLY AND DATE WISE BASIS
select ‘ARCHIVE LOG REPORT’,to_char(first_time,’DD-MON-RR’) “Date”,
to_char(sum(decode(to_char(first_time,’HH24′),’00’,1,0)),’99’) ” 00″,
to_char(sum(decode(to_char(first_time,’HH24′),’01’,1,0)),’99’) ” 01″,
to_char(sum(decode(to_char(first_time,’HH24′),’02’,1,0)),’99’) ” 02″,
to_char(sum(decode(to_char(first_time,’HH24′),’03’,1,0)),’99’) ” 03″,
to_char(sum(decode(to_char(first_time,’HH24′),’04’,1,0)),’99’) ” 04″,
to_char(sum(decode(to_char(first_time,’HH24′),’05’,1,0)),’99’) ” 05″,
to_char(sum(decode(to_char(first_time,’HH24′),’06’,1,0)),’99’) ” 06″,
to_char(sum(decode(to_char(first_time,’HH24′),’07’,1,0)),’99’) ” 07″,
to_char(sum(decode(to_char(first_time,’HH24′),’08’,1,0)),’99’) ” 08″,
to_char(sum(decode(to_char(first_time,’HH24′),’09’,1,0)),’99’) ” 09″,
to_char(sum(decode(to_char(first_time,’HH24′),’10’,1,0)),’99’) ” 10″,
to_char(sum(decode(to_char(first_time,’HH24′),’11’,1,0)),’99’) ” 11″,
to_char(sum(decode(to_char(first_time,’HH24′),’12’,1,0)),’99’) ” 12″,
to_char(sum(decode(to_char(first_time,’HH24′),’13’,1,0)),’99’) ” 13″,
to_char(sum(decode(to_char(first_time,’HH24′),’14’,1,0)),’99’) ” 14″,
to_char(sum(decode(to_char(first_time,’HH24′),’15’,1,0)),’99’) ” 15″,
to_char(sum(decode(to_char(first_time,’HH24′),’16’,1,0)),’99’) ” 16″,
to_char(sum(decode(to_char(first_time,’HH24′),’17’,1,0)),’99’) ” 17″,
to_char(sum(decode(to_char(first_time,’HH24′),’18’,1,0)),’99’) ” 18″,
to_char(sum(decode(to_char(first_time,’HH24′),’19’,1,0)),’99’) ” 19″,
to_char(sum(decode(to_char(first_time,’HH24′),’20’,1,0)),’99’) ” 20″,
to_char(sum(decode(to_char(first_time,’HH24′),’21’,1,0)),’99’) ” 21″,
to_char(sum(decode(to_char(first_time,’HH24′),’22’,1,0)),’99’) ” 22″,
to_char(sum(decode(to_char(first_time,’HH24′),’23’,1,0)),’99’) ” 23″
from v$log_history
group by to_char(first_time,’DD-MON-RR’)
order by 1
/
— WHAT ALL THE SESSIONS ARE GETTING BLOCKED
select ‘SESSIONS BLOCKED’,process,sid, blocking_session from v$session where blocking_session is not null;
— WHICH SESSION IS BLOCKING WHICH SESSION
set lines 9999
set pages 9999
select s1.username || ‘@’ || s1.machine
|| ‘ ( SID=’ || s1.sid || ‘ ) is blocking ‘
|| s2.username || ‘@’ || s2.machine || ‘ ( SID=’ || s2.sid || ‘ ) ‘ AS blocking_status
from v$lock l1, v$session s1, v$lock l2, v$session s2
where s1.sid=l1.sid and s2.sid=l2.sid
and l1.BLOCK=1 and l2.request > 0
and l1.id1 = l2.id1
and l2.id2 = l2.id2 ;
— SHOWS BLOCK CHANGES DETAILS AND PHYSICAL READS DETAIL
select a.sid,b.username,block_gets,consistent_gets,physical_reads,block_changes
from V$SESS_IO a,V$SESSION b
where a.sid=b.sid and block_changes > 10000 order by block_changes desc;
— show IO per session / CPU in seconds. sessionIOS.sql
set linesize 140
col spid for a6
col program for a35 trunc
select p.spid SPID,to_char(s.LOGON_TIME,’DDMonYY HH24:MI’) date_login,s.username,decode(nvl(p.background,0),1,bg.description, s.program ) program,ss.value/100 CPU,physical_reads disk_io,(trunc(sysdate,’J’)-trunc(logon_time,’J’)) days,round((ss.value/100)/(decode((trunc(sysdate,’J’)-trunc(logon_time,’J’)),0,1,(trunc(sysdate,’J’)-trunc(logon_time,’J’)))),2) cpu_per_day
from V$PROCESS p,V$SESSION s,V$SESSTAT ss,V$SESS_IO si,V$BGPROCESS bg
where s.paddr=p.addr and ss.sid=s.sid
and ss.statistic#=12 and si.sid=s.sid
and bg.paddr(+)=p.addr
and round((ss.value/100),0) > 10
order by 8;
— SCRIPT TO IDENTIFY LONG RUNNING STATEMENTS
rem LONGOPS.SQL
rem Long Running Statements
rem Helmut Pfau, Oracle Deutschland GmbH
set linesize 120
col opname format a20
col target format a15
col units format a10
col time_remaining format 99990 heading Remaining[s]
col bps format 9990.99 heading [Units/s]
col fertig format 90.99 heading “complete[%]”
select sid,
opname,
target,
sofar,
totalwork,
units,
(totalwork-sofar)/time_remaining bps,
time_remaining,
sofar/totalwork*100 fertig
from v$session_longops
where time_remaining > 0
/
— ACTIVE SESSIONS IN DATABASE
select ‘ACTIVE SESSION’, sid, serial#,machine, osuser,username,status from v$session where username!=’NULL’ and status=’ACTIVE’;
— WHAT SQL A SESSION IS USING
set lines 9999
set pages 9999
select s.sid, q.sql_text from v$sqltext q, v$session s
where q.address = s.sql_address
and s.sid = &sid order by piece;

eg:SID=1844
I would like to add one more script which will tell me details regarding the Size of the Database used,occupied and available and Tablespace usage
details along with hit ratio of various SGA components which can be very helpfull
to monitor the performance of the Databases.

Database_monitor.sql:

ttitle “1. :============== Tablespace Usage Information ==================:” skip 2
set linesize 140
col Total format 99999.99 heading “Total space(MB)”
col Used format 99999.99 heading “Used space(MB)”
col Free format 99999.99 heading “Free space(MB)”
break on report
compute sum of Total space(MB) on report
compute sum of Used space(MB) on report
compute sum of Free space(MB) on report
select a.tablespace_name, round(a.bytes/1024/1024,2) Total,
round( nvl( b.bytes,0)/1024/1024,2) Used,
round(nvl(c.bytes, 0)/1024/1024,2) Free ,
round(nvl(b.bytes,0)*100/nvl(a.bytes,0),2) “% Used”
from sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c
where a.tablespace_name=b.tablespace_name(+)
and b.tablespace_name=c.tablespace_name(+);

ttitle “2. :============== Hit Ratio Information ==================:” skip 2
set linesize 80
clear columns
clear breaks
set pagesize 60 heading off termout off echo off verify off
REM
col val1 new_val lib noprint
select 100*(1-(SUM(Reloads)/SUM(Pins))) val1
from V$LIBRARYCACHE;

ttitle off
col val2 new_val dict noprint
select 100*(1-(SUM(Getmisses)/SUM(Gets))) val2
from V$ROWCACHE;

ttitle off
col val3 new_val phys_reads noprint
select Value val3
from V$SYSSTAT
where Name = ‘physical reads’;

ttitle off
col val4 new_val log1_reads noprint
select Value val4
from V$SYSSTAT
where Name = ‘db block gets’;

ttitle off
col val5 new_val log2_reads noprint
select Value val5
from V$SYSSTAT
where Name = ‘consistent gets’;

ttitle off
col val6 new_val chr noprint
select 100*(1-(&phys_reads / (&log1_reads + &log2_reads))) val6
from DUAL;

ttitle off
col val7 new_val avg_users_cursor noprint
col val8 new_val avg_stmts_exe noprint
select SUM(Users_Opening)/COUNT(*) val7,
SUM(Executions)/COUNT(*) val8
from V$SQLAREA;
ttitle off
set termout on
set heading off
ttitle –
center ‘SGA Cache Hit Ratios’ skip 2

select ‘Data Block Buffer Hit Ratio : ‘||&chr db_hit_ratio,
‘ Shared SQL Pool ‘,
‘ Dictionary Hit Ratio : ‘||&dict dict_hit,
‘ Shared SQL Buffers (Library Cache) ‘,
‘ Cache Hit Ratio : ‘||&lib lib_hit,
‘ Avg. Users/Stmt : ‘||
&avg_users_cursor||’ ‘,
‘ Avg. Executes/Stmt : ‘||
&avg_stmts_exe||’ ‘
from DUAL;

ttitle “3. :============== Sort Information ==================:” skip 2

select A.Value Disk_Sorts,
B.Value Memory_Sorts,
ROUND(100*A.Value/
DECODE((A.Value+B.Value),0,1,(A.Value+B.Value)),2)
Pct_Disk_Sorts
from V$SYSSTAT A, V$SYSSTAT B
where A.Name = ‘sorts (disk)’
and B.Name = ‘sorts (memory)’;

ttitle “4. :============== Database Size Information ==================:” skip 2

select sum(bytes/1024/1024/1024) Avail from sm$ts_avail union all select sum(bytes/1024/1024/1024) Used from sm$ts_used union all select sum(bytes/1024/1024/1024) Free from sm$ts_free;

Find out database growth in a year

Script

select to_char(creation_time, ‘RRRR Month’) “Month”,sum(bytes)/1024/1024“Growth in Meg” from sys.v_$datafile where creation_time > SYSDATE-365 group by to_char(creation_time, ‘RRRR Month’);

Steps To check whether forms is running in Socket Mode or Servlet Mode

a) Look for the line in jserv.conf file under $IAS_ORACLE_HOME/Apache/Jserv/etc/

#ApJServGroup FormsGroup 1 1 /u02/oracle/visora/iAS/Apache/Jserv/etc/forms.properties

If using servlets, above line will be uncommented.

b) Check the appsweb.cfg under OA_HTML/bin for the following line

if using Servlets ,below line will be uncommented.

; serverURL=/forms/formservlet

STEPS To resolve Yellow bar Issue in Oracle appplications

STEPS To resolve Yellow bar Issue

The Yellow Warning Bar is a warning that your applet is not running in a trusted mode

1. Create the digital certificate.

1a.Go to the master web server and set up your environment pointing to the web server’s APPL_TOP.

1b.Enter the following command:

adjkey -initialize

You are prompted for an entity name and an organization name.

adjkey takes the following actions:

– Creates a certificate (.cer file) in the admin directory under your APPL_TOP.

– Imports this certificate into the identitydb.obj file, which is located in the

user’s home directory

– Creates adsign.txt in the admin directory of your APPL_TOP.

This file is used to pass arguments to JRI for signing jar files.

*****************************************************************************

NOTE: If you have multiple web servers in your Release 11i environment, you must copy identitydb.obj and adsign.txt

to the appropriate directories on all other web servers.

DO NOT re-run the adjkey command on the other web servers. All Applications Java code should be signed using one digital certificate, unique to your site.Running adjkey multiple times will produce multiple certificates,

causing each web server to have JAR files with different signatures.

******************************************************************************

2. Repackage JInitiator with the new digital certificate.

This step modifies JInitiator so that it recognizes your digital signature as a trusted entity.  This must be done each time you create a new digital certificate.

During this step you run the adjbuild.sh script. Please follow the instructions on how to do this in the  “Repackage JInitiator with your digital certificate” section of Chapter 6 in Installing Oracle Applications,Release 11i.

******************************************************************************

NOTE: If you have multiple web servers in your Release 11i environment, you must copy the resulting oajinit.exe

file from the $OA_HTML (%OA_HTML% if on Windows NT) directory to the $OA_HTML (or %OA_HTML%) directory of all your other Release 11i web servers.

******************************************************************************

3. Regenerate jar files

3a.  Run AD Administration on each one of your Release 11i web servers

3b.  Select “Maintain Applications Files” from the main menu

3c.  Select “Generate product jar files” from the next menu.

This will regenerate and sign all the jar files using your new digital certificate, which your newly repackaged JInitiator client software will recognize.

******************************************************************************

NOTE: At this point, if your users attempt to connect to the Applications,they will see the yellow warning banner in their Applications windows indicating that the Java security authorization has failed.

This is because none of the clients have yet received the new certificate bundled with JInitiator. Continue to the next step to correct this.

******************************************************************************

4. Install the new JInitiator on your client PCs.

The oajinit.exe file is the file users will download to install and configure the newly repackaged JInitiator.

Before installing the new JInitiator, the users should deinstall their current JInitiator.

This is a two step process:

– Close all browser sessions and windows.

– Deinstall JInitiator using the Windows Control Panel,Add/Remove Programs applet.

a) Jinitiator needs to be completely removed from the machine using Control

Panel -> Add/Remove programs -> Remove Jinitiator  1.1.7.27 Export

b) Make sure the browser is completely shutdown – e.g. for Netscape, check the Taskbar to make sure all netscape.exe processes finish

c) Delete the whole Jinitiator directory from c:\ Program Files\Oracle\ to make sure all files are removed

d) Start Apps client and download a fresh version of Jinitiator

These are located on the Middle Tier, webserver  –  should be owned by APPLMGR

ADCERT.txt     (certificate directive file)

UNIX    :     $APPL_TOP/admin/adcert.txt

ADSIGN.txt     (used to pass arguments to JRI for signing JAR files.)

UNIX    :     $APPL_TOP/admin/adsign.txt

APPLTOP.cer    (Certificate file that gets imported into the identitydb.obj

UNIX    :     $APPL_TOP/admin/appltop.cer

OAJINIT.exe    (Repackaged Jinitiator executeable that includes identitydb.obj)

UNIX    :     $OA_HTML/oajinit.exe

IDENTITYDB.obj (Identity Database File that holds trusted digital certificates)

UNIX    :     $HOME/identitydb.obj

Questions on Auto Config

Questions and Answers

1.      What is AutoConfig?

AutoConfig is a configuration tool that automates the configuration of an Oracle Applications system. The information required for configuring an Applications system is collected into a repository, called the Applications Context; there is one Applications Context for each application tier, and one for the database tier. When AutoConfig runs, it uses information from the Applications Context file to generate all configuration files and update database profiles.

2.      What is the difference between the application tier and the database tier?

Before we can answer that, let’s define a few terms in the context of the Release 11i architecture:

  • A node or machine is a computer.
  • A server is a collection of one or more computer processes that perform a specific function.
  • A tier is a logical grouping of one or more servers or computer processes.

Now let’s answer the question.

  • The application tier (also called the middle tier) consists of a number of servers, such as the concurrent processing server, web server, forms server, and administration server, that process the transactions of the Release 11i system, as well as provide communication between the desktop tier and the database tier. (Such servers are also referred to as application tier servers. Likewise, the nodes on which such servers run are also referred to as application tier server nodes.)
  • The database tier consists of the database server, which stores all the data of the Release 11i system.
  • The primary location of the files used by the application tier servers is the APPL_TOP, whereas the primary location of the files used by the database server is the Oracle8i or Oracle9i ORACLE_HOME.

3.      How can I identify the application tier and the database tier in a multi-node system?

      A node can contain one or more servers, and can therefore belong to one or more tiers.

  • In a single node system, that node belongs to both the application tier and the database tier, since all servers are contained on that single node.
  • In a multi-node system, each node contains one or more servers, and therefore belongs to one or both tiers. If the node contains any of the application tier servers, including the web server, forms server, concurrent processing server, or administration server, which means that there is an APPL_TOP on the node, then the node belongs to the application tier, and is considered an application tier server node. If the node contains the database server, which means that there is an Oracle8i or Oracle9i ORACLE_HOME and the Applications database instance on the node, then the node belongs to the database tier, and is considered a database server node.
  • Let’s analyze a common configuration where the database server and the concurrent processing server exist on one node (Node 1), and the other servers exist on a second node (Node 2). Since Node 1 contains both an application tier server (the concurrent processing server) and the database server, Node 1 belongs to both the database tier and the application tier. But since Node 2 contains only application tier servers, Node 2 belongs only to the application tier.

4.      How do I configure AutoConfig for a multi-node system?

The AutoConfig patch is applied using AutoPatch. Therefore, it must be applied to each application tier server node, which means to each node that contains an APPL_TOP.

If the database server node contains only the database server and no other servers, then you would not apply an AutoConfig patch on that node.

Once all the application tier servers have been updated by the AutoConfig patch, there is a separate process for updating the database server, which is documented in Metalink Note 165195.1. This process consists of running the admkappsutil utility on one (only one) application tier, copying the generated appsutil.zip file to the database tier and unzipping the appsutil.zip file into the RDBMS ORACLE HOME.

Example 1:
The system has two nodes.
Node 1 = administration server, concurrent processing server, database server
Node 2 = forms server, web server

Since both nodes are application tier server nodes, the AutoConfig patches need to be applied to both nodes. Once the patches are applied, you have to update the database server Node1 by running the admkappsutil utility from the APPL_TOP on Node1, copying the generated appsutil.zip to your RDBMS ORACLE_HOME on Node1 and unzipping the appsutil.zip file into the RDBMS ORACLE_HOME.

Example 2:
The system has two nodes.
Node 1 = database server
Node 2 = administration server, concurrent processing server, forms server, web server

Since Node 2 is the only application tier server node, the AutoConfig patch needs only be applied to Node 2. Once the patch is applied, you have to update the database server Node1 by running the admkappsutil utility from the APPL_TOP on Node2, copying the generated appsutil.zip to your RDBMS ORACLE_HOME on Node1 and unzipping the appsutil.zip file into the RDBMS ORACLE_HOME.

Example 3:
The system has three nodes.
Node 1 = database server
Node 2 = administration server, concurrent processing server
Node 3 = forms server, web server

Since Node 2 and Node 3 are application tier server nodes, the AutoConfig patch needs to be applied to Node 2 and Node3. Once the patches are applied, you have to update the database server Node1 by running the admkappsutil utility either from the APPL_TOP on Node1 or Node2 (it does not matter on which Node you run the admkappsutil utility), copying the generated appsutil.zip to your RDBMS ORACLE_HOME on Node1 and unzipping the appsutil.zip file into the RDBMS ORACLE_HOME.

5.      What user do I log in as to use AutoConfig in a typical multi-node system?

For nodes running Windows, there is only one user that owns both the application tier servers and the database server, so you would log in as that user.

For nodes running UNIX or Linux, if you want to configure the application tier servers, log in as the user that owns the application tier servers (sometimes referred to as the applmgr user). If you want to configure the database server, log in as the user that owns the database server (sometimes referred to as the oracle user).

6.      How do I determine if AutoConfig is enabled?

Check for the script adcfginfo.sh (adcfginfo.cmd on Windows) under <AD_TOP>/bin. If it exists, use it to check whether AutoConfig is enabled.
For the APPL_TOP:

adcfginfo.sh contextfile=<CONTEXT>

For products:

adcfginfo.sh contextfile=<CONTEXT> show=enabled

If adcfginfo.sh doesn’t exist, look in any configuration file in your APPL_TOP. If the file header contains the following, AutoConfig has been run on your instance :
################################################################
#
# AutoConfig automatically generates this file. It will be read and
# overwritten. If you were instructed to edit this file, or if you are not
# able to use the settings created by AutoConfig, refer to Metalink
# document 165195.1 for assistance.
#
################################################################

Note: If you manually changed any file containing this file header, it is no longer considered as officially AutoConfig enabled!

7.      Is AutoConfig compatible with Oracle Applications 11.5.x?

Answer:
Yes, it is compatible with all 11i releases. You can use AutoConfig to configure and maintain any Oracle Applications 11i  environment.

Release 11.5.1 – 11.5.6 (all tiers):
Apply the latest AutoConfig consolidated patch to obtain the AutoConfig utility.

Release 11.5.7 and higher (application tier):
AutoConfig is included in new Applications installations and in the associated maintenance packs.

Release 11.5.9 and higher (database tier):
AutoConfig is included in new Applications installations and in the associated maintenance packs.

Note: If you upgrade from a maintenance pack version that does not include AutoConfig to a maintenance pack version that includes AutoConfig (for example you upgrade from 11.5.3 to 11.5.10), you have to separately migrate to AutoConfig as part of the pre-upgrade process. Follow the instructions of the corresponding maintenance pack.

8.      What does the term “Context_name” mean?

The “Context_name” is the logical name for your Context. The default value for Context_name is <SID>_<hostname>. In earlier versions of AutoConfig the default was set to <SID>.

9.      What are the basic components of AutoConfig?

Components Location Description
Applications Context On the application tier:
<APPL_TOP>/adminOn the database tier:
<RDBMS ORACLE_HOME>/appsutil
An XML repository (<Context_name>.xml) contains information specific to that Applications instance. Can be updated by running the Context Editor.
Do not manually update this file!
AutoConfig Template Files On the application tier:
<PROD_TOP>/admin/template
For example:
<AD_TOP>/admin/template
<FND_TOP>/admin/templateOn the database tier:
<RDBMS ORACLE_HOME>/appsutil/template
Include named tags which are replaced with instance-specific information from the Applications Context. There is one template file for each configuration file.
For example:
apps_nt.conf
apps_ux.conf
AutoConfig File Driver On the application tier:
<PROD_TOP>/admin/driver
For example:
<AD_TOP>/admin/driver/adtmpl.drv
<FND_TOP>/admin/driver/fndtmpl.drvOn the database tier:
<RDBMS ORACLE_HOME>/appsutil/template
Used by AutoConfig to list the AutoConfig Template Files, their destination locations, and the commands to be executed, for example, the commands to update profile options. Every Product Top contains its own AutoConfig File Driver.
AutoConfig Scripts On the application tier:
<AD_TOP>/binOn the database tier:
<RDBMS ORACLE_HOME>/appsutil/bin
Provide a simplified
interface to the AutoConfig APIs.
For example:
adautocfg.sh / adautocfg.cmd
adconfig.sh / adconfig.cmd

10.  What are the different AutoConfig scripts and what do they do?

The scripts are listed in the following table.

Note: .sh scripts are for UNIX users and .cmd scripts are for Windows users.
Scripts Location Description
adautocfg.shadautocfg.cmd On the application tier:
<COMMON_TOP>/admin/scripts/
<Context_name>On the database tier:
<RDBMS ORACLE_HOME>/appsutil/
scripts/ <Context_name>
A wrapper script that calls adconfig.sh/ adconfig.cmd. Instantiates template files with values specific to the instance (taken from the Applications Context). Updates configuration files and profile options.
adconfig.shadconfig.cmd On the application tier:
<AD_TOP>/binOn the database tier:
<RDBMS ORACLE_HOME>/appsutil/bin/
A wrapper script that calls adconfig.pl. In earlier versions of AutoConfig adconfig.sh/adconfig.cmd used to call the Java API to start AutoConfig.
adconfig.pl On the application tier:
<AD_TOP>/binOn the database tier:
<RDBMS ORACLE_HOME>/appsutil/bin
A wrapper script that calls the Java API to start AutoConfig.
adbldxml.shadbldxml.cmd On the application tier:
<AD_TOP>/binOn the database tier:
<RDBMS ORACLE_HOME>/appsutil/bin
Creates the Applications Context File. Before running this script, you need to source the environment.
On the application tier:
Source APPS<Context_name>.env (or APPSORA.env if APPS<Context_name>.env doesn’t exist).
On the database tier:
Source <Context_name>.env
adchkcfg.shadchkcfg.cmd On the application tier:
<AD_TOP>/binOn the database tier:
<RDBMS ORACLE_HOME>/appsutil/bin
Generates a report that highlights differences between the original config files and AutoConfig-generated config files. The report is named cfgcheck.html. It is located under:
On the application tier:
<APPL_TOP>/admin/
<Context_name>/out/<MMDDhhmm>
On the database tier:
<RDBMS ORACLE_HOME>/appsutil/out/
<Context_name>/<MMDDhhmm>

AutoConfig pre-requisites

11.  Do I need to upgrade to Apache 1.3.12s?

If you are applying the AutoConfig patch to an instance created with a Rapid Install version lower than Release 11.5.5, upgrade to Apache 1.3.12s.

Refer to Metalink Document 161779.1 on OracleMetalink.

Note: Rapid Install for versions 11i7 and higher installs Oracle HTTP Server 1.3.19 from iAS 1.0.2.2

The Context file

12.  How will the adbldxml utility name the Applications Context file it generates?

When adbldxml generates the Context file, it first checks for the existence of an Applications Context file conforming to specific requirements in the <APPL_TOP>/admin directory on the application tier and in the <RDBMS ORACLE_HOME>/appsutil directory on the database tier.
If an xml file exists, adbldxml creates the Applications Context file using the same name.
Specific requirements are:

  • The Context file refers to the hostname for which we generate the file.
  • The Context file refers to the Database SID for which we generate the file.

The default name for the Context file is <Context_name>.xml.

13.  How can I make changes to the Applications Context file?

Go to the OAM Login page. Sign in and navigate to Site Map. Click on AutoConfig. Use this link to update your Applications Context file.

Note: Manually editing the Applictions Context file is not supported. Many context variables have dependencies between each other. The OAM AutoConfig resolves all these dependencies when changing the value of a variable. By manually editing the Applications Context file you will bring the data into an inconsistent state.

14.  I want to execute the adbldxml utility on a fresh RDBMS Oracle Home. How can I build the Context file, when the database environment file is not present?

The adbldxml utility requires the following environment variables to be set:

  • ORACLE_HOME
  • ORACLE_SID (LOCAL on Windows)
  • TNS_ADMIN

Set the variables according to your instance. For example:

  • On UNIX
    export ORACLE_SID=PROD
  • On Windows
    set LOCAL=PROD

15.  I was instructed to change the value of the context variables s_adperlprg and s_perl5lib. How can I achieve that?

Apply the latest AutoConfig patch, then perform the following steps depending on your use case:

  • You were instructed to use a certain perl version. You have perl and its libraries installed in the perl standard location for your os (e.g. /usr/lib/perl5 on Linux) and perl is in your PATH:
  1. unset PERL5LIB
  2. perl $AD_TOP/bin/adconfig.pl
  3. Source the environment file (APPS<Context_name>.env)
  4. Review your Applications Context file; s_adperlprg and s_perl5lib will now point to your system perl location.
  • You were instructed to use a certain perl version. You installed perl and its libraries into a custom – non perl standard location (e.g. perl is installed at /u03/myperl/bin and the perl libraries at /u03/myperl/lib).
  1. PERL5LIB=<location of the new PERL5LIB that you want to use>
  2. export PERL5LIB
  3. <location of the new perl you want to use> <AD_TOP>/bin/adconfig.pl
  4. Source the environment file (APPS<Context_name>.env)
  5. Review your Applications Context file; s_adperlprg and s_perl5lib will now point to your customized perl location.

Example:

  • PERL5LIB=/u03/myperl/lib/5.00503:/u03/myperl/lib/site_perl/5.005
  • export PERL5LIB
  • /u03/myperl/bin/perl $AD_TOP/bin/adconfig.pl

AutoConfig will update the context variables in the context file accordingly. After the AutoConfig run subsequent utilities and tools can use the context variables s_adperlprg and s_perl5lib.

Running AutoConfig

16.  When should I run AutoConfig?

You should run AutoConfig in the event of the following cases:

  • You did updates to your Applications Context file.
  • An Oracle Metalink Note instructs you to run AutoConfig as part of an upgrade, migration, cloning and/or configuration process.
  • The Readme of an Oracle patch instructs you to run AutoConfig after the application of the patch.
  • You apply any ADX Product patch.
Note: When you have AD.I or higher applied on your system, then adpatch will automatically invoke AutoConfig if the patch that you apply requires AutoConfig to run.

17.  Which files / profile options get changed when I run AutoConfig?

Run the adchkcfg utility to get an html report that lists all the files and profile options that get changed when you run AutoConfig.

If you have AD.I or higher applied and you want to see the list of files and profile options that will get changed when adpatch is run, then run adpatch with the apply=no option before applying the patch.

18.  Where is the log file located that AutoConfig creates?

The log file that AutoConfig creates is located at:

On the application tier:
<APPL_TOP>/admin/<Context_name>/log/<MMDDhhmm>/adconfig.log

On the database tier:
<RDBMS ORACLE_HOME>/appsutil/log/<Context_name>/<MMDDhhmm>/adconfig.log

where: <MMDDhhmm> = (month, day, hour, and minute of the AutoConfig run)

19.  Which directories based on the Context_name will AutoConfig create?

AutoConfig creates the following directories based on the Context_name:

Install Scripts : <COMMON_TOP>/admin/install/<Context_name>
Control Scripts : <COMMON_TOP>/admin/scripts/<Context_name>
Log files : <COMMON_TOP>/admin/log/<Context_name>

Beginning with Release 11.5.7, Oracle Applications comes with the modified directory structure.

20.  I see multiple directories under <COMMON_TOP>/admin/scripts – which one do I use?

Previously, AutoConfig generated the directory <SID> in <COMMON_TOP>/admin/scripts. To provide support for a shared APPL_TOP, AutoConfig now creates the directory <SID>_<hostname>.
If your system contains both directory names, use the scripts under <SID>_<hostname>. You can safely delete directories named <SID>, after backing them up.

21.  How can I roll back an AutoConfig session?

All backup configuration files from each AutoConfig session are stored in:
On the application tier:
<APPL_TOP>/admin/<Context_name>/out/<MMDDhhmm>/

On the database tier:
<RDBMS ORACLE_HOME>/appsutil/out/<Context_name>/<MMDDhhmm>/

where: <MMDDhhmm> = (month, day, hour, and minute of the AutoConfig run)

You can run restore.sh (Unix) or restore.cmd (Windows) to roll back an AutoConfig session.

22.  How does AutoConfig know which scripts to create for service controls?

The following variables in the Applications Context File let AutoConfig know which scripts to create:

Context Variable Action
s_isAdmin If set to Yes, create administration service scripts
s_isConc If set to Yes, create concurrent processing and reports service scripts
s_isWeb If set to Yes, create web service scripts
s_isForms If set to Yes, create forms service scripts

The variables are set according to your configuration when you create the Applications Context file:

Single-node system: All the service control scripts are present on the same node. Therefore, all variables are set to “YES” in the Applications Context file.

Multi-node system:

Example

Node 1 = forms server, web server
Node 2 = concurrent processing server, administration server, database server

On Node 1 only the forms and web service control scripts are created. On Node 2 only the admin and concurrent processing service control scripts are created. The Applications Context files contain the following values:

Context Variable Node 1 Node 2
Value Value
s_isAdmin NO YES
s_isConc NO YES
s_isWeb YES NO
s_isForms YES NO

23.  How does AutoConfig know what application tier node type the APPL_TOP supports?

The AD Utilities such as AutoPatch and AD Administration patch and maintain files based on the application tier node type that the APPL_TOP supports. The following variables in the Applications Context file define which files are patched and maintained for the APPL_TOP:

Context Variable Action
s_isAdAdmin If set to Yes, the APPL_TOP contains binaries and scripts used to maintain the Applications system.
s_isAdConc If set to Yes, the APPL_TOP can be used to provide the CP and Reports services. All binaries, scripts, reports and other files related to these services exist in the APPL_TOP.
s_isAdWeb If set to Yes, the APPL_TOP contains the necessary files to provide Oracle HTTP services
s_isAdForms If set to Yes, the APPL_TOP contains the necessary files to provide Forms services

The variables are set according to your configuration when you create the Applications Context file:

Single-node system: All the application tier types are present on the same node and there is only one APPL_TOP. All variables are set to “YES” in the Applications Context file.

Multi-node system sharing the same APPL_TOP: A shared APPL_TOP contains all the necessary software components to run any service. All variables are set to “YES” in the Applications Context files sharing the APPL_TOP.

Multi-node system, where every node has a separate APPL_TOP:

Example:

Node 1 = forms server, web server
Node 2 = concurrent processing server, administration server, database server

Every node has its own APPL_TOP that only patches and maintains the files specific to the node. The Applications Context files contains the following values:

Context Variable Node 1 Node 2
Value Value
s_isAdAdmin NO YES
s_isAdConc NO YES
s_isAdWeb YES NO
s_isAdForms YES NO

Customizations

24.  What do I do when a patch or Oracle documentation instructs me to manually modify an AutoConfig-maintained file?

Contact Oracle Support to incorporate the necessary changes in the AutoConfig templates:

  1. Identify the patch or the note that is requesting the manual change.
  2. Log a Service Request with Oracle Support, providing the same information.

Patching AutoConfig

25.  How do I get the latest changes to AutoConfig?

Updates to AutoConfig are delivered in the ADX product patch. The latest patch at the time of this writing are patch number 3453499.

26.  How do I apply the latest AutoConfig patch?

Perform the following steps in the order listed:

  • Review the pre-requisites as documented in Metalink Note 165195.1.
  • Apply the AutoConfig patch
    Update the Oracle Applications file system with the AutoConfig files by applying patch 3453499. to all application tier nodes in the Applications instance.
  • Copy AutoConfig to the RDBMS ORACLE_HOME
    If you enabled AutoConfig on the Database Tier, update the RDBMS ORACLE_HOME file system with the AutoConfig files by performing the following steps:
  • On the Application Tier (as the APPLMGR user):
  • Log in to the APPL_TOP environment (source the environment file)
  • Create appsutil.zip file
    perl <AD_TOP>/bin/admkappsutil.pl
  • This will create appsutil.zip in $APPL_TOP/admin/out .
  • On the Database Tier (as the ORACLE user):
  • Copy or FTP the appsutil.zip file to the <RDBMS ORACLE_HOME>
  • cd <RDBMS ORACLE_HOME>
    unzip -o appsutil.zip
  • Run AutoConfig on the Database Tier
    If you enabled AutoConfig on the Database Tier, run AutoConfig on the database tier node.
Attention: The database server must remain available during the AutoConfig run. All the other database tier services should be shut down.
  • Run AutoConfig on the Application Tiers
    Run AutoConfig on all application tier nodes.
Attention: The database server must remain available during the AutoConfig run. Only the application tier servers should be shut down.

27.  What mechanism is used to generate the tnsnames.ora file?

In ADX.D and earlier, AutoConfig instantiates the tnsnames.ora file based on an AutoConfig template. To support enhanced configuration scenarios (for example RAC), the adgentns.pl script dynamically generates the tnsname.ora file. It generates the tnsnames.ora based on the information in the Net Services Topology Data Model. The adgentns.pl script was introduced with ADX.E. Refer to the following matrix to understand when tnsnames.ora is generated from a template or from the adgentns.pl script:

PRE ADX.E ADX.E and higher
FND_NODES.NODE_ID column is present FND_NODES.NODE_ID column is not present TXK.G and FND_NODES.NODE_ID column is present Exceptions like database not available
AutoConfig on database tier template adgentns.pl template adgentns.pl template
AutoConfig on application tier template adgentns.pl template template template

Database connectivity

28.  Should the database server remain available during the AutoConfig run?

Yes. The database server and the database listener must remain available during the AutoConfig run. This is true when running AutoConfig on the application tier, as well when running AutoConfig on the database tier. If you run AutoConfig on the application tier, then the 806 database listener must remain available also.

29.  What is the use of the context variable s_apps_jdbc_connect_descriptor?

The s_apps_jdbc_connect_descriptor stores the connect string for jdbc connections. All jdbc connections are done using this context variable. The value for this context variable is generated by AutoConfig.

When the value is reset (empty), AutoConfig tries to connect to the database using the s_dbSid, s_dbhost and s_dbport context variables.

30.  When do I need to reset (empty) the context variable s_apps_jdbc_connect_descriptor?

You should reset the value for s_apps_jdbc_connect_descriptor to an empty value (” “), when one of the following value changes:

  • Database Host
  • Database Port

31.  What steps do I need to follow to maintain my database connectivity when I migrate my database from one host/platform to another?

Perform the steps in the order listed:

  • Before the migration:
  1. Deregister the database tier from the Net Services Topology Data Model. Refer to the question “How do I deregister a database tier from the Net Services Topology Data Model?”
    If you haven’t enabled AutoConfig on the database tier, you can ignore this step.
  • After the migration:
  1. Reset the context variable s_apps_jdbc_connect_descriptor in the context file for the application tier to an empty string.
  2. Update the context variables s_dbhost and s_dbport in the context file for the application tier to reflect the new values in the middle tier context file.

32.  I migrated my database tier to a new host/platform, but the application tier still tries to connect to the old database. How can I fix this situation, so that the application tier connects to the new database?

Your old database tier is still registered in the Net Services Topology Data Model. Perform the following steps:

  • You have to clean up the data model by following the steps described in the question: “How do I purge the complete Net Services Topology Data Model?”.
  • Perform the step described in the question: “How do I seed the Net Service Topology Data Model?”

Troubleshooting

33.  What should I do if my AutoConfig script exits with non-zero status?

If AutoConfig exits with non-zero status, open the adconfig.log and check for the reported errors:

  • Errors in the instantiation phase: Check to see if the template files listed in the error summary exist in your file system. If they do not exist, the AutoConfig File Driver of the product is faulty. Report the problem to Oracle Support.
    If the template files exist, check for permission issues. If you cannot fix the issue, report the problem to Oracle Support.
  • Error encountered in the SETUP/PROFILE/APPLY phase: Check the adconfig.log file to see the reason for the failure. If you cannot fix the issue, report the problem to Oracle Support.
Note: Refer to the question “Where is the log file located that AutoConfig creates?” for the location of the log file.

34.  How do I configure AutoConfig to start the TCF servlet?

Perform the following steps:

  1. Apply the Thin Client Framework (TCF) Servlet Implementation patch.
  2. Apply TXK.A or higher.
  3. Verify that the s_tcfstatus variable is set to “disabled” in your <Context_name>.xml file.
  4. If set to “enabled”, use the Context Editor to update the TCF Process Status to “disabled” and save the changes.
  5. Stop all application tier services.
  6. Run AutoConfig to update the configuration files.
  7. Make additional updates based on your system configuration (see Note 164942.1).
  8. Restart all application tier services.

35.  How can I resolve TNS-12500 while trying to start GSM?

Change the profile option CONC_GSM_ENABLED to N until GSM is configured. If GSM is configured, check listener.ora located in
<8.0.6 ORACLE_HOME>/network/admin/<Context_name>

AutoConfig depends on the CONC_GSM_ENABLED profile option to create entries for FNDSM in the listener.ora file. If listener.ora contains entries for FNDSM and the corresponding executable is not found, the listener will not to start.

Apply the latest AutoConfig patch. The patch creates the FNDSM entry in listener.ora.

36.  My concurrent managers don’t start after running AutoConfig? How do I resolve this issue?

Look in the file APPLSYS_ux.env (Unix) or APPLSYS_nt.env (Windows) located in <AD_TOP>/admin/template. If the version of the file is 115.15 or lower, your environment file hard codes variables, which prevent the concurrent manager to start. Apply the latest AutoConfig patch to get the templates that use Application Context variables.

37.  How do I resolve a FileNotFoundException while running adupdts.sh?

If the script adupdts.sh fails with a “FileNotFoundException”, apply the latest AutoConfig patch.