Showing posts with label APPSDBA_TECH_DOCS. Show all posts
Showing posts with label APPSDBA_TECH_DOCS. Show all posts

Saturday, April 3, 2021

R12.2 Forms Server Fails With "Could not reserve enough space for object heap" on OEL6

Issue :

Not able to start the forms managed server  with XMX as 2G.

Cause:

It was working fine. No changes has been made.

Solution:

Unlike oacore, Forms servers are running on top of 32 bit JVM. There is a bug (or) limitation on 32 bit libraries  to reserve the memory more than 1G.  Please see the output 32 and 64 bit  java output below.


$COMMON_TOP/util/jdk32/jre/bin/java  -Xms32m -Xmx3072m -XX:MaxPermSize=256m -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

 $COMMON_TOP/util/jdk64/jre/bin/java  -Xms32m -Xmx3072m -XX:MaxPermSize=256m -version
java version "1.7.0_85"
Java(TM) SE Runtime Environment (build 1.7.0_85-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.85-b06, mixed mode)


This is caused by the prelink command. It calculates shared library load addresses, and updates the shared libraries with them. Simplest thing to do is to undo what prelink did, and disable it.

By default prelinking is enabled on OEL6 (not receiving this error on OEL7) 

Disable prelink method

To disable prelinking

a. Login as root user & execute prelink -u --all



 b. Edit /etc/sysconfig/prelink and save.
    set PRELINKING=no

c. Now try to execute below command. It should not return any error.

$COMMON_TOP/util/jdk32/jre/bin/java  -Xms32m -Xmx3072m -XX:MaxPermSize=256m -version


Monday, March 16, 2020

EBS R12.2 | OAInfo.jsp returns HTTP 403 Forbidden | Security: Allowed Resources


Issue :

OAInfo.jsp is commonly used to setup a health Check On A BIG-IP Loadbalncer to monitor E-Business Suite JVM's . But please be aware that OAInfo.jsp has been deprecated in R12.1, the jsp is still functional for the purposes of health check.

But after we upgraded ebs t0 12.2.8, we are getting 403 message in access log.

"GET /OA_HTML/OAInfo.jsp HTTP/1.1" 403 54

Cause:
There is a significant difference in the security features from 12.2.6+ & It brings allowed Resources feature  which is part of 12.2.7+. Due to this enhancement, it disables all the deprecated jsps  which affects oainfo.jsp as well.

Solution:

Action Plan 1:

This  action plan will allow all the deprecated resources
.
a.       Access the page http://ebs.jay.com/OA_HTML/OAInfo.jsp  & it should return 403 error message  (or) Requested resource or page is not allowed in this site
b.       Please set profile option Security: Allowed Resources to  ALL  which will whitelist all the jsps
c.        Bounce the apache & oacore services.  (Please bounce the services  on all application tiers)
d.        Now try to access the http://ebs.jay.com/OA_HTML/OAInfo.jsp   &  it should display the page with below text which will return status code 200 in access log -

“This JSP is no longer supported. To view the information that this JSP provided, please log in to Oracle E-Business Suite, and select the About this Page link."”

Action Plan2:

This action plan will allow only oainfo.jsp page

a.       Access the page http://ebs.jay.com/OA_HTML/OAInfo.jsp & it should return 403 error message  (or) Requested resource or page is not allowed in this site
b.       cd $FND_TOP/secure & vi allowed_extensions_custom.conf
c.        Add the /OA_HTML/OAInfo.jsp entry in  allowed_extensions_custom.conf
d.       java oracle.apps.fnd.security.resource.WLDataMigration MODE=custom INPUT_FILE=$FND_TOP/secure/allowed_extensions_custom.conf  DBC=$FND_SECURE/{SID}.dbc
e.       Bounce the apache & oacore services. (Please bounce the services on all application tiers)
f.         Now try to access the http://ebs.jay.com/OA_HTML/OAInfo.jsp   &  it should display the page with below text which will return status code 200 in access log.
 
“This JSP is no longer supported. To view the information that this JSP provided, please log in to Oracle E-Business Suite, and select the About this Page link."”

Thursday, March 12, 2020

EBS R12 Workflow Mailer : Problem getting the HTML content: javax.net.ssl.SSLHandshakeException


Issue:

Workflow notificaiton mailer is not sending emails to recipients and getting below exception in logs.

 Problem getting the HTML content -> oracle.apps.fnd.wf.mailer.NotificationFormatter$FormatterSAXException:
Problem obtaining the HTML content -> oracle.apps.fnd.wf.common.HTTPClientException: Unable to invoke method HTTPClient.HTTPConnection.Get caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Cause:

Due to self-signed certificate

Solution:

a. copy the  root and intermediate certificates of  EBS login url (LB URL)  to app server.

b.  Import the certificate into cacerts

1.cd $COMMON_TOP/util/jdk32/jre/lib/security
2.chmod u+w cacerts
3.keytool -import -alias ApacheRootCA -file ca.crt -v -keystore cacerts
4.keytool -import -alias ApacheInterA -file ca.crt -v -keystore cacerts
5.chmod u-w cacerts

c. Please follow the step b (2-5) in the below locations as  well.

$COMMON_TOP/util/jdk64/jre/lib/security/
<s_fmw_jdktop>/jre/lib/security

s_fmw_jdktop - grep the value from context_file

d. Import the root & inter ca in the below file.

cat ca.crt >> <10.1.2 ORACLE_HOME>/sysman/config/b64InternetCertificate.txt
cat intca.crt >> <10.1.2 ORACLE_HOME>/sysman/config/b64InternetCertificate.txt

e. Bounce the workflow services.

Workaround:
Alternatively , We can Change the "WF: Workflow Mailer Framework Web Agent" [WF_MAIL_WEB_AGENT] profile option to point to the physical Web Server host address - http://<host>.<domain>:<port> and rebuild the workflow mailer queue.

Sunday, March 1, 2020

Import private key and certificate into JKS

a. Import (or)Convert the private key and certificate to PKCS12

openssl pkcs12 -export  -inkey /u02/certficates/private.key -in /u02/certficates/server.cer -certfile /u02/certficates/interCA.cer -out testkeystore.p12

Please provide the export password and re-enter to verify .

Note: you may receive an error like "Error unable to get issuer certificate getting chain."  if the certificate is self-signed. In this case, Please concatenate the openssl cacerts with your own root certificate (ca-cert) into one file and use that as parameter for -CAfile. Example:


cat ca-cert /etc/ssl/certs/ca-certificates.crt > consol_cacerts.crt
then use consol_cacerts.crt  as the parameter to the -CAfile option in the openssl comm
and
.


b. Convert p12 to JKS

keytool -importkeystore -srckeystore testkeystore.p12 -srcstoretype pkcs12 -destkeystore mwa.jks -deststoretype JKS

Please provide the JKS password and re-enter to verify.
Supply the export password which had been set in step a.


c. View the certificates and private key entry

keytool -list -v -keystore mwa.jks

Wednesday, October 24, 2018

R12 Sysadmin account got locked after N number of invalid attempts

Run this query and make sure the account got locked

SELECT DECODE (encrypted_user_password
             , 'INVALID', 'Account locked'
             , 'Account not locked')
  FROM fnd_user
WHERE user_name = '&username';


We can't unlock the account as similar to dba_users account. Please use below command to reset the password.

FNDCPASS apps/XXXXXXX 0 Y system/XXXXXX USER SYSADMIN XXXXXXXX

Tuesday, October 16, 2018

adop failed with "Patch service is not exist or running"

While applying the patch  ,getting the error "Patch service  is not exist or running".


validating system setup.
    Node registry is valid.
    Log: /u01/JAYPRE/fs1/inst/apps/JAYPRE_JJ10003/logs/appl/rgf/TXK/verifyssh.log
    Output: /u01/JAYPRE/fs1/inst/apps/JAYPRE_JJ10003/logs/appl/rgf/TXK/out.xml
    Remote execution is operational.
    [ERROR]     Patch service  is not exist or running
 
Package AD_ZD_PREP is invalid.
                
SQL> alter package apps.AD_ZD_PREP compile;

Warning: Package altered with compilation errors.

SQL> show errors package body apps.AD_ZD_PREP;
Errors for PACKAGE BODY APPS.AD_ZD_PREP:

LINE/COL ERROR
-------- -----------------------------------------------------------------
463/3    PL/SQL: SQL Statement ignored
463/19   PL/SQL: ORA-00942: table or view does not exist
467/5    PL/SQL: SQL Statement ignored
467/21   PL/SQL: ORA-00942: table or view does not exist
501/5    PL/SQL: SQL Statement ignored
501/21   PL/SQL: ORA-00942: table or view does not exist


Run adgrants.sql script
SQL> @adgrants.sql APPS

SQL>  alter package apps.AD_ZD_PREP compile;

Package altered.

Now retry adop.It should work.

Saturday, September 29, 2018

How to increase stuck thread timeout in weblogic?

a.Start the WebLogic Administration Console by typing http://[hostname]:[port]/console in the URL line of a web browser.
b.Under Change Center, click Lock & Edit.
c.Under Domain Structure, click Environment > Servers and, in the right pane, click the managed server name.
d.On the Configuration tab, click on the Tuning tab.
e.In the Stuck Thread Max Time box, type 1800 and then click Save.

How to avoid nodemanager passsword prompt everytime while starting/stopping OHS12c?

$DOMAIN_HOME/bin/startComponent.sh ohs1 storeUserConfig

Subsequent stop and start calls can be made without the extra parameter and without specifying any node manager password.

Thursday, March 15, 2018

adop cutover failed with [UNEXPECTED]Please complete Autoconfig on all nodes.

Issue:
=====
Cutover failed with error [UNEXPECTED]Please complete Autoconfig on all nodes.

Execute the below query:
===================
select count(*) from ad_adop_session_patches where adop_session_id = 82 and autoconfig_status <> 'Y'
and bug_number in ( select bug_number from ad_adop_session_patches where adop_session_id = 4 and autoconfig_status='Y' and bug_number <> 'CLONE' and bug_number <> 'CONFIG_CLONE' ) and node_name in ('node1','node2','node3');

If the query returns any row,then please follow below steps.

Solution:
=======
i. Source patch file system env file
ii.Run autoconfig and provide patch context file if prompted for context
iii.Update the ad_adop_session_patches table with below steps:
a. Take a backup of ad_adop_session_patches table
b. update ad_adop_session_patches set autoconfig_status='Y' where adop_session_id=82;"
c. commit;
iv. Rerun cutover again.

Saturday, December 9, 2017

R12.2 OHS was not coming up after unclean shutdown or due to server crash.

Issue: 

R12.2 OHS  was not coming up after unclean shutdown or due to server crash.

processes in Instance: EBS_web_TEST_OHS1
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
EBS_web_TEST                     | OHS                |   6194  | Stop 

OHS was in STOP state and we were not able to either bring down or bring up. It shows PID as 6194 which doens't exist in server.

In logs we were getting below errors.

Log file Location /u01/applmgr/TEST/fs1/FMW_Home/webtier/instances/EBS_web_TEST_OHS1/diagnostics/logs/OHS/EBS_web_TEST/

-- console~OHS~1.log:/u01/applmgr/TEST/fs1/FMW_Home/webtier/ohs/bin/apachectl hardstop: httpd (pid 6194?) not running.

EBS_web_TEST.log:[2017-12-08T14:24:32.4446+05:30] [OHS] [WARNING:32] [OHS-9999] [core.c] [host_id: acsebs.oracle.com] [host_addr: 192.168.1.8] [pid: 6194] [tid: 140126851569472] [user: applmgr] [VirtualHost: main]  pid file

/u01/applmgr/TEST/fs1/FMW_Home/webtier/instances/EBS_web_TEST_OHS1/diagnostics/logs/OHS/EBS_web_TEST/httpd.pid overwritten -- Unclean shutdown of previous Apache run?

Caution:
So it is very clear that OHS was not shutdown properly.Due to this some lock file or httpd.pid files with old pid exists. we have to remove this and  bring up.


Solution:
a. First shutdown opmn process using adopmnctl.sh stop
b. Remove httpd.pid file from /u01/applmgr/TEST/fs1/FMW_Home/webtier/instances/EBS_web_TEST_OHS1/diagnostics/logs/OHS/EBS_web_TEST/
c. cd /u01/applmgr/TEST/fs1/FMW_Home/webtier/instances/EBS_web_TEST_OHS1/config/OPMN/opmn/states
d. grep 6194 * -- You will get  the filename from this command.
e. Remove the file and try to start the OHS. It will come up.

Thursday, November 16, 2017

How to check If a patch is applied in R12.2

In eBusiness Suite (EBS) 12.2.x you cannot query the AD_BUGS table to check if patches have been applied.The AD_BUGS table may have entries for patches that were applied but later the patching cycle was aborted (not really applied).


To check whether a patch is really applied use the AD_PATCH.IS_PATCH_APPLIED pl/sql function.Using this API is an alternative method for users without access to Oracle Applications Manager's "Patching and Utilities" feature to determine if a certain patch is applied.



Query to Find in single app tier or shared application tier Environment:
select ad_patch.is_patch_applied('R12',-1,20034256) from dual;

Expected results:
EXPLICIT = applied
NOT APPLIED = not applied / aborted


To check Multiple patches,Please use below query:

SELECT adb.bug_number,ad_patch.is_patch_applied('R12',-1, adb.bug_number) FROM ad_bugs adb WHERE adb.bug_number in ('25820806','26720905',
'24591000','26482811','25828573','26400116','26720231','25994411');


To get output in human readable format:
set serveroutput on;
DECLARE
TYPE p_patch_array_type is varray(30) of varchar2(10);
p_patchlist p_patch_array_type;
p_patch_status varchar2(15);
p_appl_top_id number;
p_result varchar2(15);
p_instance varchar2(15);
procedure println(msg in varchar2)
is
begin
dbms_output.enable(1000000);
dbms_output.put_line(msg);
end;
BEGIN
p_patchlist:= p_patch_array_type('25820806','26720905','24591000','26482811','25828573','26400116','26720231','25994411','89989');
println('=============================');
for i in 1..p_patchlist.count
loop
p_patch_status := ad_patch.is_patch_applied('R12',-1,p_patchlist(i));
case p_patch_status
when 'EXPLICIT' then
p_result := 'APPLIED';
else
p_result := p_patch_status;
end case;
println('Patch ' || p_patchlist(i)|| ' - ' || ' - IS ' || p_result);
end loop;
println('.');
END;
/

Query to find patch information  for a specific node in a multinode environment (1045 is the APPL_TOP ID):
Syntax: select AD_PATCH.IS_PATCH_APPLIED(\'$release\',\'$appltop_id\',\'$patch_no\',\'$language\') from dual;

SELECT adb.bug_number,ad_patch.is_patch_applied('R12', 1045, adb.bug_number) FROM ad_bugs adb WHERE adb.bug_number in (20034256);

APPL_TOP_ID -->you cat gen  from ad_appl_tops table.

Tuesday, April 25, 2017

R12.2 Log file Locations

A change in Release 12.2 is that HTTP, Oracle WebLogic Server, and concurrent processing log files are not stored under $LOG_HOME as they were in previous releases:
  • HTTP log files are located under the native instance home.
  • Oracle WebLogic Server log files are located under the domain home.
  • Concurrent processing log files are located on the non-editioned file system (fs_ne)


Name
Location
OHS
$IAS_ORACLE_HOME/instances/EBS_web_${TWO_TASK}_OHS2/diagnostics/logs/OHS/EBS_web_${TWO_TASK}/EBS_web_${TWO_TASK}.log
Weblogic Managed Server logfile
$EBS_DOMAIN_HOME/servers/<managed_servername>/logs
Concurrent processing log files
$NE_BASE/inst/${CONTEXT_NAME}/logs/appl/conc/log
adop(patching logfile)
$NE_BASE/EBSapps/log/adop
Adadmin logs
$NE_BASE/EBSapps/log/adadmin/log
Autoconfig log
$INST_TOP/admin/log

Monday, March 20, 2017

R12.2 Upgrade Miscellaneous Stuffs

Autopatch Preinstall Mode:

Pre-install mode is generally used during the upgrade process to update AD utilities, apply pre-upgrade patches, or work around other patching issues. AutoPatch asks all startup questions except those relating to the database.

Note: Run AutoPatch in pre-install mode only if the patch readme instructs you to do so.
To run AutoPatch in pre-install mode, include preinstall=y on the AutoPatch command line. It performs the following actions:

  • Compares version numbers
  • Copies files
  • Relinks FND and AD executables
  • Saves patch information to the file system
Because AutoPatch does not read driver files in pre-install mode, it copies all product files in the patch to the APPL_TOP directory. Additionally, even if a file in the patch should be both in the APPL_TOP and in another directory (such as in $OA_HTML), AutoPatch copies the file only to the APPL_TOP.

Each patch run in pre-install mode will have its driver staged to a predetermined directory under the APPL_TOP. This allows AD Merge Patch to be run once for all pre-install updates, and merging with the upgrade driver only. See AD Merge Patch Enhancements for further details.

In preinstall mode, AutoPatch validates codelevels against the files Preinstall_Codelevel_AD.txt and Preinstall_Codelevel_MP.txt. These files are located in the $APPL_TOP/admin directory, and contain codelevel information about AD and other products registered in the database tables.

Since no database connection is available in pre-install mode, AutoPatch tries to validate whether the current patch should be applied based on the codelevel information in these two files, as follows:

  • If Preinstall_Codelevel_AD.txt is missing from the APPL_TOP, AutoPatch will apply the patch in pre-install mode without validating the patch for codelevel compatibility.
  • If Preinstall_Codelevel_MP.txt is missing from the APPL_TOP, AutoPatch will proceed with patch application without validating the patch for codelevel compatibility of the entities.
  • If both files are missing, AutoPatch will not validate codelevels in pre-install mode.


AD Merge Patch Enhancements:

-preinstall

This option is used to run AD Merge Patch in pre-install mode, where it will only merge the patch driver files present in the $APPL_TOP/admin/$TWO_TASK/preinstall directory. The -preinstall option implicitly enables the -driveronly option, and takes the source directory as $APPL_TOP/admin/$TWO_TASK/preinstall directory.

The -s option can be used in conjunction with the -preinstall option to specify the source directory and merge critical driver files. As pre-install upgrade driver files are copied to the pre-install directory when AutoPatch is used in pre-install mode, the combination of these options merges pre-install upgrade driver files with the master upgrade driver file.

The -preinstall option means that there are associated changes in how AutoPatch is used. These are described in Pre-Install Mode.

--master
This option is used to specify the master upgrade driver that is to be merged with the pre-install upgrade drivers. It is only valid with the -preinstall or -driveronly options.

-admode
AD Merge Patch is now restricted to merge either AD-only patches or non-AD patches. By default, AD Merge Patch will run in non-AD mode unless the –admode option is specified. In non-AD mode, AD Merge Patch will merge the non-AD patches present in either the source directory specified by the -s option, or the pre-install directory if -preinstall is specified.

Note: When merging patches, AD patches present in the source directory are ignored in non-AD mode.

Examples

Merging the non-AD patch driver files that are present under the patchtop:
admrgpch -s source -d dest -driveronly

Merging the non-AD patch driver files with the non-AD upgrade driver file found under upg:
admrgpch -s source -d dest -driveronly –master upg/upgrade.drv

Merging non-AD patch driver files present in the "preinstall" directory with non-AD upgrade driver files, in pre-install mode:
admrgpch -preinstall -d dest -master upg/upgrade.drv

Merging AD patch driver files with AD upgrade driver files in pre-install mode:
admrgpch -preinstall -d dest -master upgrade/upgrade.drv –admode 

Monday, March 6, 2017

How to Create Defaults file in R12 for adadmin?

Note: Default file location should be $APPL_TOP/admin/$TWO_TASK in R12.2

adadmin defaultsfile=$APPL_TOP/admin/DSDEV/adadmin_defaults.txt


Answer the questions below:

Your default directory is '/app/dsdev/fs1/EBSapps/appl'.
Is this the correct APPL_TOP [Yes] ? 

AD Administration records your AD Administration session in a text file
you specify.  Enter your AD Administration log file name or press [Return]
to accept the default file name shown in brackets.

Filename [adadmin.log] : 

You can be notified by email if a failure occurs.
Do you wish to activate this feature [No] ? 

Please enter the batchsize [1000] : 


Applications System Name [DSDEV] : DSDEV *


You are about to use or modify Oracle E-Business Suite product tables
in your ORACLE database 'DSDEV'
using ORACLE executables in '/app/dsdev/fs1/EBSapps/10.1.2'.

Is this the correct database [Yes] ? 

AD Administration needs the password for your 'SYSTEM' ORACLE schema
in order to determine your installation configuration.

Enter the password for your 'SYSTEM' ORACLE schema:  


The ORACLE username specified below for Application Object Library
uniquely identifies your existing product group: APPLSYS

Enter the ORACLE password of Application Object Library [APPS] :  

AD Administration is verifying your username/password.

Backing up restart files, if any......Done.

         Generate Applications Files
   ----------------------------------------

   1.    Generate message files

   2.    Generate form files

   3.    Generate report files

   4.    Generate product JAR files

   5.    Return to Main Menu


Now Press ctrl +c or ctrl+d

Here after you can use the below command to call adadmin

adadmin defaultsfile=$APPL_TOP/admin/DSDEV/adadmin_defaults.txt  logfile=arall.log

Types of Patches in Oracle Apps 11i/R12

E-Business Suite patching is very broad topic. so Decided to split it into two logical parts.


Part 1) Oracle E-Business Suite patch terminology

patch type hierarchy

patch naming convention

naming differences between 11i and R12


Part 2) Querying patches, patchsets, family packs

how to check if a patch was applied

what patchset am I on?

what family pack am I on?


Patch hierarchy in 11i:

One-off Patches:The One-off patch category was common in the older versions R11 (11.0.x) and early releases of 11i. Typically, they fix single or isolated set of bugs. They are less and less common these days. Unless they fix a very critical and isolated bug, Oracle won’t release patches as standalone, but will consolidate them into larger bundles.


Product Patchsets (formerly known as Minipacks):Standalone patchsets were common in early releases of 11i. They can enhance functionality and typically fix a large number of bugs for a single product. Once a patchset is applied, it increments the patchset level of a product (the product is sometimes also referred to as module). There are around 200 products integrated in EBS, and each product has specific patchset level. For most products, patchsets are no longer distributed as standalone (which means you won’t be able to download them from metalink), but are grouped into Family Packs.


Rollup Patches: Roll-up patches are a special kind that started to become more common as 11i matured. They are collection of bugfixes for a specific product and relate to specific patchset level. They are released outside of a patchset release cycle. If a particular patchset turns out to be buggy it can have several roll-up patches, which are usually cumulative. These patches are sometimes referred to as a number after a patchset letter, as in case of 11i.AD.I.4.


Family Packs:As the complexity and dependencies between individual products increased, it became more and more difficult to release isolated patchsets for each product. Oracle grouped all interrelated products into families fulfilling a specific functional purpose. Family packs are seta of product patchsets for a particular family (such as Financials, Project Suite, Applications Technology, and so on). The family pack’s advantage is that the patchset levels were tested together, and should therefore be more stable and require fewer pre-requisites. Despite that fact, applying a family pack is a major change to the system, and should be rolled out carefully.


Consolidated Updates: As the EBS product matured in version 11i, Oracle started to release consolidated updates. These are huge updates similar to maintenance packs. They introduce change the fourth version number. You can think of it as a set of compatible family packs. The best-known consolidated update is CU2 which upgrades your system to version 11.5.10.2.


Maintenance Packs (in R12 Release Update Packs):Maintenance packs deliver a new version of a product. Unlike major release upgrades, maintenance packs change the release number, which is the third number in a version name (for 11i). They are still considered patches, but the changes they introduce are system-wide. Often they also bring in brand new products.


Patch naming conventions:

Every patch, irrespective of kind, has an identifier in form of a seven-digit number, that particular identifier corresponds with a bug number. The bug can be just a placeholder for the consolidation of other patches that are eventually merged into a bigger patchset, family pack etc.

For one-off patches, the 7-digit number is their only identifier.

There are around 200 products in E-Business Suite, and each product has a specific product name and product abbreviation. The Patchset level naming convention has an alternative to the patch number for easier identification. It consists of version number, product abbreviation, and a letter.

For example: 11i.FND.H refers to patchset H for product FND for version 11i and it can be found under patch number 3262159.

Family packs add an additional component to the short name which is “_PF” after the product name abbreviation.

For example: the Application Technology family pack is referred to as 11i.ATG_PF.H (which corresponds with patch number 3438354), and the Financial suite family pack is referred to as 11.FIN_PF.G etc.

Consolidated updates were introduced after release 11.5.10. They append another number after the version number. So consolidated update 2 is referred to as 11.5.10.2 or simply CU2 (or as patch number 3480000).

Maintenance packs are the last piece in the puzzle. Their alternative names are same as the version number, so it’s 11.5.9, 11.5.10 etc.


Changes with R12 and new facts in the patch naming conventions

R12 introduces some new terms—codeline and codelevel—and changes the meaning of several established terms.

codeline: This refers to a point release. Every codeline delivers a unique set of features. So release 12.0 is a understood as codeline A; release 12.1 is understood as codeline B; release 12.2 will be understood as codeline C, and so on.

codelevel: Codelevel can resemble patchset level from 11i. For each codeline, there can be a set of updates, which deliver mostly bugfixes and reflects the particular product codelevel after the codeline letter.For example: R12.AP.A.4 means Account Payables product on codeline A (Release 12.0) on codelevel 4 (Part of release 12.0.4).

The important thing to understand is that if you install a specific R12 release such as 12.0.4, all products will not only be on the same codeline (A), but also on the same codelevel (4). Further updates for a specific codelevel are delivered in form of delta updates. So instead of going from 12.AD.A.4 to 12.AD.A.5 as you’d expect from 11i, you’d go from 12.AD.A.4 to 12.AD.A.4.delta1, 12.AD.A.4.delta2, and so on. The codelevel is incremented via Release Update Packs.


Release Update Packs:What was formerly known as a maintenance pack is now called a Release Update Pack with short name of RUP. This could be confused with another RUP (Roll-Up) as it was used in context of 11i. RUPs actually upgrade all products to higher codelevel. These point release upgrades can introduce substantial changes to the system, therefore need to be carefully planned.For example: RUP2 is equivalent to R12.0.2, RUP6 is equivalent to R12.0.6 etc.

The final note for R12 is that patch numbers no longer have to be unique: the same patch can be released in multiple shapes for different codelevels.

Friday, March 3, 2017

Installing EBS R12.2.6 on Linux

Please follow the steps from R12.2 Installation Document to install R12.2.0


Once we have installed R12.2.0,Please follow below steps to upgrade to R12.2.6.

HOW TO UPGRADE FROM R12.2.0 TO R12.2.6:

A) Upgrade Database to 11.2.0.4 or higher --> Our version is 12.1.0.2

B) Fusion Middleware Technology Stack (FMW) 11.1.1.7 (11gR1 PS6) or higher.

Note: We used StartCD 12.2.0.51. StartCD 51 installs Oracle Fusion Middleware 11g PS7 (11.1.1.9.0) & database 12.1.0.2.

C) Apply Required Database Patches

i) Before you apply the AD and TXK Delta 10 release update packs (RUPs), you must run the latest version (available via Patch 17537119) of the EBS Technology Codelevel Checker (ETCC). Use the command checkDBpatch.sh (on UNIX) or checkDBpatch.cmd (on Windows).

ii) Check that all the required database patches have been applied.To learn more about the prerequisite database patches needed for applying the Delta 8 RUPs, refer My Oracle Knowledge Document 1594274.1, Oracle E-Business Suite Release 12.2: Consolidated List of Patches and Technology Bug Fixes.

Note:Ensure all the required ETCC database objects will be found by the Delta 8 RUP installation process. This means that even if you already have all the required database patches installed, you must still run the latest version of ETCC on your database.

RUN ETCC on DB Tier:

mkdir $ORACLE_HOME/appsutil/etcc
cd $ORACLE_HOME/appsutil/etcc
unzip /home/oracle/1226/ETCC/p17537119_R12_GENERIC.zip
 ./checkDBpatch.sh contextfile=/u01/oracle/TEST/12.1.0/appsutil/TEST_acsebs.xml


It will give us list of patches which needs to be applied before we proceed with upgrade. Instead of downloading individual patches

you can  download Patch 26781264 [EBS RELEASE 12.2 CONSOLIDATED DATABASE FIXES FOR AUG 2017] which contains all the required patches.

Download and unzip under $ORACLE_HOME/appsutil/etcc. then apply the required patches after bringing down db & application.


D) Set Database Parameter

Oracle Database 12c Release 1 uses cost based optimization. If you are using Oracle Database 12.1.0.2, the following optimizerparameter should always be set to 'false'. This setting should be completed before proceeding with the next steps and should not be changed thereafter. Set it in spfile or pfile and bounce the database.

optimizer_adaptive_features=false


E) Apply Consolidated Seed Table Upgrade Patch

Note: This step is applicable only for new installation customers and customers upgrading from Oracle E-Business Suite Release 12.2.2 to Release 12.2.6.

Note: If the Release 12.2.0 Vision or PROD instance (New Installation) was created using startCD 12.2.0.51 (Patch22066363), you must apply Consolidated Seed Table Upgrade Patch 17204589:12.2.0 by merging with Patch21900871:12.2.0 on the run file system using adop hotpatch mode.

sh $ADMIN_SCRIPTS_HOME/adstpall.sh
sh $ADMIN_SCRIPTS_HOME/adadminsrvctl.sh start
adop phase=apply patches=17204589,21900871 merge=yes hotpatch=yes patchtop=/1226/SEED_TABLE_CUP


F) Apply latest AD & TXK Patches:

i) Run ETCC tool on application Tier and apply missing patches..It will list the patches for below components.

Oracle Forms and Reports 10.1.2.3.0
Oracle Fusion Middleware (FMW) - Web Tier.
Oracle Fusion Middleware (FMW) - oracle_common
Oracle WebLogic Server (WLS)

We have one consolidated  patch which will have all the mandatory patches. Apply the patches listed by ETCC.

 Patch 26328262 - EBS RELEASE 12.2 CONSOLIDATED FMW FIXES FOR JUL 2017

 a) Apply patches on 10.1.2 Home.by default our env will be pointing to 10.1.2 ORACLE_HOME.NO need to change anything.

 b) To Apply Patch in webtier home ,Set env variables below.
export ORACLE_HOME=$IAS_ORACLE_HOME;
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH 

 c)To apply patch in Fusion middleware ORACLE_COMMON home,Set env variables below
 export ORACLE_HOME=$FMW_HOME/oracle_common;
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

 d)Apply weblogic patches
 unzip patch $FMW_HOME/utils/bsu/cache_dir
 cd $FMW_HOME/utils/bsu
 ./bsu.sh -install -patch_download_dir=$FMW_HOME/utils/bsu/cache_dir -patchlist=K25M -prod_dir=$FMW_HOME/wlserver_10.3

 If there are any conflict ,You can use below syntax to remove conflict patches.
 ./bsu.sh -remove -patchlist=1LRI,2GYW,CW9T,VKXF,BLTG -prod_dir=$FMW_HOME/wlserver_10.3

iii) Apply latest  25820806 (R12.AD.C.Delta.10) and Patch 26720905:R12.AD.C in hotpatch mode.

Execute adgrants by following the instructions in the readme of Patch 25820806 (R12.AD.C.Delta.10).
adgrants.sql file in database tier before applying this patch

If Patch 25525148 (Rapid Install consolidated one-off bundle on top of startCD51) was not used while installing your Oracle E-Business Suite Release 12.2 system, apply the patches in the following order:

a. Apply Patch 25820806 (R12.AD.C.Delta.10)
adop phase=apply patches=25820806 hotpatch=yes patchtop=/shared/custom/1226/AD_TXK_LATEST workers=8

b. Apply Patch 26720905:R12.AD.C
adop phase=apply patches=26720905 hotpatch=yes patchtop=/shared/custom/1226/AD_TXK_LATEST workers=4

C. Apply AD crticical patches.
adop phase=apply patches=24591000,26482811 hotpatch=yes merge=yes patchtop=/shared/custom/1226/AD_TXK_LATEST workers=4

D. Apply TXK Delta 10 patch
adop phase=apply patches=25828573 hotpatch=yes patchtop=/shared/custom/1226/AD_TXK_LATEST workers=4

E.Apply TXK critical patches.
adop phase=apply patches=26400116,26720231,25994411 hotpatch=yes merge=yes patchtop=/shared/custom/1226/AD_TXK_LATEST workers=4

F. Run Middle Tier EBS Technology Codelevel Checker (MT-ETCC)
Execute the Middle Tier EBS Technology Codelevel Checker (MT-ETCC) utility checkMTpatch.sh

G. Stop Oracle WebLogic Server's Admin Server and Node Manager services.
sh $ADMIN_SCRIPTS_HOME/adadminsrvctl.sh stop
sh $ADMIN_SCRIPTS_HOME/adnodemgrctl.sh stop

H. Update database tier with the latest patches

i) Source Run File sysem.
ii) perl $AD_TOP/bin/admkappsutil.pl
iii) On the database tier (as the ORACLE user):

a. Source the environment for RDBMS ORACLE_HOME.
b.Copy or FTP the appsutil.zip(appstier) file to <RDBMS ORACLE_HOME>.
c.cd $ORACLE_HOME; cp -r appsutil appsutil.bkup.nov14;unzip -o appsutil.zip
d. Run Autoconfig on db & apps tier(run).
sh $ORACLE_HOME/appsutil/scripts/${CONTEXT_NAME}/adautocfg.sh
sh $INST_TOP/admin/scripts/adautocfg.sh


I. Apply R12.2.6   Release updatePack

 . /u01/applmgr/TEST/EBSapps.env run
sh $ADMIN_SCRIPTS_HOME/adadminsrvctl.sh stop
sh $ADMIN_SCRIPTS_HOME/adnodemgrctl.sh stop
adop phase=apply apply_mode=downtime patches=21900901

J. Start all application tier services on the run file system.
sh $ADMIN_SCRIPTS_HOME/adstrtal.sh

K. Perform adop cleanup action
adop phase=cleanup

L. Synchronize file systems
adop phase=fs_clone



Thursday, March 2, 2017

Reset Oracle Application User Password through API

DECLARE
flag_value BOOLEAN;
BEGIN
flag_value := fnd_user_pkg.changepassword(username=> 'RJAYANTH',newpassword => 'welcome1');
IF flag_value
THEN
DBMS_OUTPUT.PUT_LINE('The password reset successfully');
ELSE
DBMS_OUTPUT.PUT_LINE('The password reset has failed');
END IF;
END;
/
COMMIT;


Sunday, November 27, 2016

ADOP (Ad online patching utility) in R12.2

Adop(Ad online patching utility) is used in R12.2 to apply the patches online with out any downtimeit is the new utility which to apply patches in online patching mode .It is perl script and call adpatch internally to apply the patch. It is not recommended to apply the patches directly using adpatch in R12.2

For online patching to work Oracle Apps make use of 11g database feature called as “Edition Based Redefinition”, under this feature. On the Applications side, there will be two file systems, one called as patch and other called as run file system. Both are identical to each other and services will be running out of run file system. During patching process, patches are applied to patch file system, which does not require any downtime. For the patch changes to come to effect, patch file system is switched as run file system and vice versa, and services are restarted. In essence, Downtime will be only for the time duration during which services are restarted.

A complete patching cycle is following while applying the patches with adop. It consists of many phases

1.Prepare: This syncs the current patch file system with run file system, to make sure patch file system is up to date compared to run file system and ready for the patches to get applied. This also created a new patch edition in the database. This syncing process is incremental process to be efficient.

$ adop phase=prepare

2.Apply : Patches are applied to patch file system during this phase, we can apply as many patches we want during this phase. Changed code objects are from patch edition of database. Changes to tables are stored in new columns which are only visible from patch edition of the database.

$ adop phase=apply patches=

3.Finalize: This phase involves compiling of invalid objects etc.

$ adop phase=finalize

4.Cutover: This phase configures the patch file system as new run file system and patch edition of the database as new run edition. Restart application services from new run file system of Apps. This is where downtime is required.

$ adop phase=cutover

5.Cleanup: Deletes obsolete code objects and columns from earlier patch edition are removed at database.

$ adop phase=cleanup

Some more things about adop

1)Online Help
To obtain help about the basics of adop operation, enter the command:
adop -help

2) Enabling maintenance mode is not required in R12.2; it’s not applicable for online patching.

3) There are also three special phases, for use when needed.
Special phases:
abort – Abort the current patching cycle.
actualize_all – Create new copies of all code objects in the patch edition.
fs_clone – Copy the run file system to the patch file system.

4) The adop logfiles are located on the non-editioned file system (fs_ne), under:
s_ne_base/EBSapps/log/adop//__/ext_name>/log
For example, if s_ne_base was /u01/apps/R122_EBS/fs_ne, the session ID was 20, and the
was sunxx_test, the path to the adop log files from 1th July 2013 would resemble this:
/u01/apps/R122_EBS/fs_ne/EBSapps/log/adop/20/apply_20130701_112226/sunxx_te
stsys/log

5) You can obtain a brief report for the current patching session by running the command:
$adop -status
This will display information that includes phases completed and the time taken

Wednesday, November 16, 2016

Meaning of the Codes in the STATUS_CODE and PHASE_CODE Columns of FND_CONCURRENT_REQUESTS Table?

STATUS_CODE Column:

A Waiting
B Resuming
C Normal
D Cancelled
E Error
F Scheduled
G Warning
H On Hold
I Normal
M No Manager
Q Standby
R Normal
S Suspended
T Terminating
U Disabled
W Paused
X Terminated
Z Waiting

.
PHASE_CODE column
.
C Completed
I Inactive
P Pending
R Running

Tuesday, November 1, 2016

Oracle Apps DBA - Useful Queries


Status of Concurrent Manager & Requests:

How to Find Session Details of conurrent requet id:

select a.sid,a.event,a.sql_id,a.blocking_session,a.action from v$session a ,V$process b,apps.fnd_concurrent_requests c where a.paddr=b.addr and b.spid=c.oracle_process_id and c.request_id='&request_id';

How to Find  Running Concurrent Programs:

select user_concurrent_program_name from apps.fnd_conc_req_summary_v where status_code='R' and phase_code='R';


Concurrent Manager Status:

set verify off
set lines 256
set trims ON
set pages 60
col concurrent_queue_id format 99999 heading "QUEUE Id"
col concurrent_queue_name format a20 trunc heading "QUEUE Code"
col user_concurrent_queue_name format a30 trunc heading "Concurrent Queue Name"
col max_processes format 999 heading "Max"
col running_processes format 999 heading "Act"
col running format 999 heading "Run"
col target_node format a15 heading "Node"
col status format a12 trunc heading "Status"
col run format 9999 heading 'Run'
col pend format 9999 heading 'Pending'
col cmgr_program FOR a65;
SELECT 'Instance : '
||NAME instance_name
FROM v$database;
Prompt ===========================
Prompt concurrent manager status
Prompt ===========================
SELECT q.concurrent_queue_id,
q.concurrent_queue_name,
q.user_concurrent_queue_name,
q.target_node,
q.max_processes,
q.running_processes,
running.run running,
pending.pend,
Decode(q.control_code, 'D', 'Deactivating',
'E', 'Deactivated',
'N', 'Node unavai',
'A', 'Activating',
'X', 'Terminated',
'T', 'Terminating',
'V', 'Verifying',
'O', 'Suspending',
'P', 'Suspended',
'Q', 'Resuming',
'R', 'Restarting') status
FROM (SELECT concurrent_queue_name,
COUNT(phase_code) run
FROM fnd_concurrent_worker_requests
WHERE phase_code = 'R'
AND hold_flag != 'Y'
AND requested_start_date <= SYSDATE GROUP BY concurrent_queue_name) running, (SELECT concurrent_queue_name, COUNT(phase_code) pend FROM fnd_concurrent_worker_requests WHERE phase_code = 'P' AND hold_flag != 'Y' AND requested_start_date <= SYSDATE GROUP BY concurrent_queue_name) pending, apps.fnd_concurrent_queues_vl q WHERE q.concurrent_queue_name = running.concurrent_queue_name(+) AND q.concurrent_queue_name = pending.concurrent_queue_name(+) AND q.enabled_flag = 'Y' ORDER BY Decode(q.application_id, 0, Decode(q.concurrent_queue_id, 1, 1,4, 2)), Sign(q.max_processes) DESC,q.concurrent_queue_name, q.application_id;

List of Concurrent Requests Completed with Error in last two hours:

set linesize 200 pagesize 200 feedback on;
col USER_CONCURRENT_PROGRAM_NAME for a40
col COMPLETION_TEXT for a60

select a.user_concurrent_program_name , REQUEST_ID,DECODE(phase_code,'C','Completed',phase_code) phase_code, DECODE(status_code,'D', 'Cancelled' ,'E', 'Error' , 'G', 'Warning', 'H','On Hold' , 'T', 'Terminating', 'M', 'No Manager' , 'X','Terminated', 'C', 'Normal', status_code) status_code , to_char(ACTUAL_START_DATE,'DD-MON-YYYY HH24:MI:SS') START_DATE ,to_char(actual_completion_date,'DD-MON-YYYY HH24:MI:SS') END_DATE,COMPLETION_TEXT from fnd_concurrent_programs_tl a, fnd_concurrent_requests b where a.concurrent_program_id=b.concurrent_program_id and actual_completion_date > sysdate - (2/24) and phase_code = 'C' and status_code = 'E';


List of Concurrent Requests Completed with Warninng in last two hours:

set linesize 200 pagesize 200 feedback on;
col USER_CONCURRENT_PROGRAM_NAME for a40
col COMPLETION_TEXT for a50

select a.user_concurrent_program_name , REQUEST_ID
,PHASE_CODE , STATUS_CODE , to_char(ACTUAL_START_DATE,'DD-MON-YYYY HH24:MI:SS') START_DATE ,to_char(actual_completion_date,'DD-MON-YYYY HH24:MI:SS') END_DATE,COMPLETION_TEXT from fnd_concurrent_programs_tl a, fnd_concurrent_requests b where a.concurrent_program_id=b.concurrent_program_id and actual_completion_date > sysdate - (2/24) and phase_code = 'C' and status_code = 'G' order by actual_completion_date;

List of Long Running Requests:

set linesize 200 pagesize 200 feedback on;
col USER_CONCURRENT_PROGRAM_NAME for a40;

select a.user_concurrent_program_name , REQUEST_ID
,PHASE_CODE , STATUS_CODE , to_char(ACTUAL_START_DATE,'DD-MON-YYYY HH24:MI:SS') START_DATE ,to_char(actual_completion_date,'DD-MON-YYYY HH24:MI:SS') END_DATE,COMPLETION_TEXT from fnd_concurrent_programs_tl a, fnd_concurrent_requests b
where a.concurrent_program_id=b.concurrent_program_id and
actual_start_date > sysdate - 1 and phase_code = 'R' and status_code = 'R';

Determine which concurrent Manager ran the particular request:

col USER_CONCURRENT_QUEUE_NAME for a100

select b.USER_CONCURRENT_QUEUE_NAME from fnd_concurrent_processes a,
fnd_concurrent_queues_vl b, fnd_concurrent_requests c
where a.CONCURRENT_QUEUE_ID = b.CONCURRENT_QUEUE_ID
and a.CONCURRENT_PROCESS_ID = c.controlling_manager
and c.request_id = '&conc_reqid';

Determine the details of particular CM request:

set linesize 200 pagesize 200;
col USER_CONCURRENT_PROGRAM_NAME for a40
col completion_text for a50

SELECT request_id, user_concurrent_program_name, DECODE(phase_code,'C','Completed',phase_code)
phase_code, DECODE(status_code,'D', 'Cancelled' ,
'E', 'Error' , 'G', 'Warning', 'H','On Hold' , 'T', 'Terminating', 'M', 'No Manager' , 'X','Terminated', 'C', 'Normal', status_code) status_code, to_char(actual_start_date,'dd-mon-yy:hh24:mi:ss') Start_Date, to_char(actual_completion_date,'dd-mon-yy:hh24:mi:ss') completion_date,completion_text FROM apps.fnd_conc_req_summary_v WHERE request_id = '&req_id' ORDER BY 6 DESC;

TRACE Enabled Concurrent Porgrams:

select a.CONCURRENT_PROGRAM_ID, b.USER_CONCURRENT_PROGRAM_NAME "Program_Name", a.CONCURRENT_PROGRAM_NAME "Short_Name", a.APPLICATION_IDfrom apps.fnd_concurrent_programs a, apps.fnd_concurrent_programs_tl b where a.CONCURRENT_PROGRAM_ID=b.CONCURRENT_PROGRAM_ID and a.ENABLE_TRACE='Y';




Workflow Mailer:

Check the status of the componenet:

set pagesize 400
set linesize 120
set pagesize 50
column COMPONENT_NAME format a45
column STARTUP_MODE format a15
column COMPONENT_STATUS format a15
select fsc.COMPONENT_NAME,fsc.STARTUP_MODE,fsc.COMPONENT_STATUS
from APPS.FND_CONCURRENT_QUEUES_VL fcq, fnd_svc_components fsc
where fsc.concurrent_queue_id = fcq.concurrent_queue_id(+)
order by COMPONENT_STATUS , STARTUP_MODE , COMPONENT_NAME;


Find Workflow Mailer logfile:

select fl.meaning,fcp.process_status_code,
decode(fcq.concurrent_queue_name,'WFMLRSVC','maile r container','WFALSNRSVC','listener container',fcq.concurrent_queue_name),
fcp.concurrent_process_id,os_process_id, fcp.logfile_name
from fnd_concurrent_queues fcq, fnd_concurrent_processes fcp , fnd_lookups fl
where fcq.concurrent_queue_id=fcp.concurrent_queue_id and fcp.process_status_code='A'
and fl.lookup_type='CP_PROCESS_STATUS_CODE' and
fl.lookup_code=fcp.process_status_code
and concurrent_queue_name in('WFMLRSVC','WFALSNRSVC')
order by fcp.logfile_name;

Ready Count :
select msg_state,count(*) from applsys.aq$wf_notification_out group by msg_state;

Check The even't status in wf_deferred queue:

Ready = Activity is ready to be processed

Delayed = Activity will be processed later

Retained = Activity was already processed

Exception = Activity had an error

col event_name for a40
col state for  a13
select wfd.user_data.event_name EVENT_NAME,
      decode(wfd.state,
                   0, '0 = Ready',
                   1, '1 = Delayed',
                   2, '2 = Retained',
                   3, '3 = Exception',
      to_char(substr(wfd.state,1,12))) State,
      count(*) COUNT
      from applsys.wf_deferred wfd
      group by wfd.user_data.event_name, wfd.state
      order by 3 desc, 1 asc;
     
      select decode(wfd.state,
                   0, '0 = Ready',
                   1, '1 = Delayed',
                   2, '2 = Retained',
                   3, '3 = Exception',
                   to_char(substr(wfd.state,1,12))) State,
      count(*) COUNT
      from applsys.wf_deferred wfd
      group by wfd.state
      order by 2 desc, 1 asc;


R122 adop queries:  

adop session status:

set pagesize 200;
set linesize 160;
col PREPARE_STATUS format a15
col node_name format a30
col APPLY_STATUS format a15
col CUTOVER_STATUS format a15
col ABORT_STATUS format a15
col STATUS format a15
select NODE_NAME,ADOP_SESSION_ID, PREPARE_STATUS , APPLY_STATUS  ,CUTOVER_STATUS , CLEANUP_STATUS , ABORT_STATUS , STATUS from AD_ADOP_SESSIONS where ADOP_SESSION_ID=66;

Note: Y denotes that the phase is done

N denotes that the phase has not been completed

X denotes that the phase is not applicable

R denotes that the phase is running (in progress)

F denotes that the phase has failed

P (is applicable only to APPLY phase) denotes at least one patch is already applied for the session id

C denotes that the status of this ADOP session has completed



cutover statuses:

cutover_status='Y' 'COMPLETED'

cutover_status not in ('N','Y','X') and status='F' 'FAILED'

cutover_status='0' 'CUTOVER STARTED'

cutover_status='1' 'SERVICES SHUTDOWN COMPLETED'

cutover_status='3' 'DB CUTOVER COMPLETED'

cutover_status='D' 'FLIP SNAPSHOTS COMPLETED'

cutover_status='4' 'FS CUTOVER COMPLETED'

cutover_status='5' 'ADMIN STARTUP COMPLETED'

cutover_status='6' 'SERVICES STARTUP COMPLETED'

cutover_status='N' 'NOT STARTED'

cutover_status='X' 'NOT APPLICABLE'


fs_clone status:

set linesize 300
col node_name format a15
col clone_status format a20
col driver_file_name format a20
col clone_status format a20
select node_name,clone_status,driver_file_name,status,to_char(start_date,'DD-MON-YYYY HH:MI:SS PM'),to_char(end_date,'DD-MON-YYYY HH:MI:SS PM') from ad_adop_session_patches where adop_session_id=89;

To find the patches applied in the particular adop session:

select distinct BUG_NUMBER from AD_ADOP_SESSION_PATCHES  where adop_session_id='&session_id';

set linesize 300;
select distinct bug_number,node_name,to_char(start_date ,'DD-MON-YYYY HH24:MI:SS') START_DATE,to_char(end_date,'DD-MON-YYYY HH24:MI:SS')END_DATE from ad_adop_session_patches where adop_session_id=67 group by bug_number,node_name,start_date,end_date order by bug_number;

select distinct bug_number,node_name,to_char(start_date ,'DD-MON-YYYY HH24:MI:SS') START_DATE,to_char(end_date,'DD-MON-YYYY HH24:MI:SS')END_DATE from ad_adop_session_patches where adop_session_id=&session_id  and bug_number='&bug_number' group by bug_number,node_name,start_date,end_date order by bug_number;

AD,TXK VERSIONS:

SELECT abbreviation, codelevel FROM AD_TRACKABLE_ENTITIES WHERE abbreviation in ('txk','ad');

ETCC QUERIES:

set linesize 300;
col node_name format a10;
col database_name format a10;
col check_message format a50;
select database_name,node_name ,check_date ,component_name,component_version,check_message from apps.TXK_TCC_RESULTS where database_name='&DB_NAME';

How to Compile Forms , Reports & Custom.pll in R12.2

How to Compile Custom.pll   cd $AU_TOP/resource  cp CUSTOM.plx CUSTOM.plx_bkup  cp CUSTOM.pll CUSTOM.pll_bkup  frmcmp_batch module=CUSTOM.pl...