ADOP Interview
ADOP Interview
Note: Check the patch cycle log is important to fix any issues.
Location: $ADOP_LOG_HOME
Online patching is the most important new feature in Oracle E-Business Suite Release 12.2. It is the ability to
patch a running system without having to take the system down for a significant period of time while the
patches are applied.
In R12.2 there is a new directory location environment variable called $PATCH_TOP which points to
$NE_BASE/EBSapps/patch
$NE_BASE points to <Non-Editioned-filesystem-directory>
Download the patch into the patch top directory and unzip it. This is the default location where the adop will
look for patch files.
If you are planning to put patches in non-defualt location then you need to use adop parameter 'patchtop=
<patch_path>' to explicitly define this location.
adop will perform all the tasks required to apply the patch:
* Reads patch metadata to determine patch dependencies and requirements.
* Attempt to recover previously failed patching session (if any).
* Reads and validate the patch/product driver files.
* Compares version numbers of existing files against the patch files and Backs up all existing files that
will be changed by the patch.
* Copies files.
* Archive files in libraries.
* Relinks executables, Generates forms, reports, messages, graphics, and Java archive (JAR) files.
* Compiles JSP files and invalid database objects. Updates database objects.
* Runs AutoConfig if required.
* Saves patch information to the database.
Note: All the phases need to be completed and you can’t skip any of these. For example, if you try to skip
prepare phase, you may get error message like "Apply phase can only be run while in a patching cycle, i.e.
after prepare phase."
We must set the environment by executing the run file system environment file.
$ . ./ <run APPL_TOP path>/APPS<CONTEXT_NAME>.env
* adop phase=prepare
* adop phase=apply patches=<patch_number1>,<patch_number2> workers=<number_of_worker>
* adop phase=finalize workers=<number_of_worker> (called automatically)
* adop phase=cutover workers=<number_of_worker>
* adop phase=cleanup (called automatically)
During apply phase, Non-interactive patching is a way to save time by avoiding some of the prompts and
automating the patching process.
You can apply patches in non-interactive way by using a defaults file that contains much of the information
you would have supplied at the adop prompts and by creating another file known as input file. Then, when
you run adop, you specify the name of the input file. The location of the defaults file will also need to be
included in the input file.
Location of Default file on both the run APPL_TOP and patch APPL_TOP is:
$APPL_TOP/admin/<SID>_patch/adalldefaults.txt
Just in case this file gets corrupted or lost, you can run AutoConfig and it will automatically instantiate a new
copy.
Note: In R12.2, you don’t need to create this defaults file. The file is already created by oracle process.
However you need to create one ‘input file’ to use with adop (The defaults file is not specified on the adop
command line. It is the input file.)
adop phase=apply options=noautoconfig - if you are applying a number of patches in sequence and want to
run AutoConfig only once in the end.
adop phase=apply option=nocheckfile – To turn off the checkfile feature. Using checkfile adop skip some
actions which are already done.
adop phase=apply option=nocompiledb - when applying multiple NLS, documentations patches etc.
adop phase=apply option=nocompilejsp - when applying multiple NLS, documentations patches etc.
10. What are the key differences between the DBA_OBJECTS, DBA_OBJECTS_AE, and
AD_OBJECTS tables
Ans: DBA_OBJECTS shows object information for the current edition, but the STATUS column in this view
may show the object as VALID even if the object actually needs to be compiled before use.
DBA_OBJECTS_AE is similar to DBA_OBJECTS, but shows object information across all editions. This has
the drawback of showing objects in old editions that are no longer accessible to the application.
AD_OBJECTS is the Oracle E-Business Suite workaround to the unreliable STATUS column in
DBA_OBJECTS. AD_OBJECTS shows the correct status for each object visible in the current edition. It also
shows whether the object is “actual” (a real object) in the current edition, or a “stub” object (the object
definition was inherited from a previous edition). You can query AD_OBJECTS to locate objects that need to
be recompiled before use:
SQL>select owner, object_name, object_type from ad_objects where status = ‘INVALID’
order by 1,2,3
/
The same logic can be applied by running the script:
SQL>sqlplus apps/apps @$AD_TOP/sql/ADZDSHOWINVALID
11. Does Online Patching increase the network port requirements on an Oracle E-Business Suite
instance
Ans: Yes. Online patching requires an additional set of network ports for the Oracle WebLogic Server
managed servers on the second file system. During the cutover phase, the managed servers run
simultaneously on the patch file system and run file system for a brief period, in a rolling transition process.
Steps:
$ adop phase=apply
inputfile=myinputfile
https://www.funoracleapps.com/2021/11/ebs-122-adop-interview-questions.html 3/9
1/7/23, 10:53 AM EBS 12.2 ADOP Interview Questions With Scenarios
13. How to apply Application patch in hotpatch mode on run file system
adop phase=abort
Post step run below command
adop phase=cleanup cleanup_mode=full
adop phase=fs_clone
19. If the system crashes and unable to proceed the patch then what to do
Steps:
➢ Run the following statement to find out the session that is in running state:
select adop_session_id from ad_adop_sessions where status='R';
➢ Set the status to Completed 'C' for that session to re- try the phase that was interrupted
update ad_adop_sessions set status='C' where status='R’
select ADOP_SESSION_ID,NODE_NAME,
APPLTOP_ID,BUG_NUMBER,PATCH_TOP,DRIVER_FILE_NAME from ad_ADOP_session_patches
where ADOP_SESSION_ID=ID and APPLIED_FILE_SYSTEM_BASE like '%fs%';
https://www.funoracleapps.com/2021/11/ebs-122-adop-interview-questions.html 4/9
1/7/23, 10:53 AM EBS 12.2 ADOP Interview Questions With Scenarios
Solution:
Make sure the mount options are as per the above recommendations.
HTTP running on privileged port and hence the required permission not given to root user causing the failure
for cutover.
On a UNIX system, the TCP/IP port numbers below 1024 are special in that only processes with root
privileges are allowed to listen on those ports. If Oracle HTTP Server is configured to be run on a privileged
port, then need to follow additional steps when running an online patching cycle. These steps are required for
both SSL and non-SSL privileged ports
Steps:
1. Kindly log in as root and run below commands in both run and patch fs.
Even before and after running the prepare phase or the fs_clone phase, you must run above commands as
the root user on both the run file system and the patch file system.
2. Run below:
adop phase=cutover
OR
You can perform any additional steps that require the services to be shut down, and then start the application
tier services manually using the adstrtal.sh script.
adop phase=cleanup
https://www.funoracleapps.com/2021/11/ebs-122-adop-interview-questions.html 5/9
1/7/23, 10:53 AM EBS 12.2 ADOP Interview Questions With Scenarios
ADOP does not update or change profile options, therefor setting profile options with editioned path (fs1/fs2)
is not correct.
24. ADOP Cutover Phase Fails When Starting Application Tier Services
This is mostly not custover issue but due to some setting changes that application would not be starting.
Better to run
adop phase=cutover mtrestart=no
25. Adop Cutover Failing With [UNEXPECTED] Run AutoConfig On All Node
OR
26. ADOP Cutover Hangs with "Waiting for Internal Concurrent Manager to go down" when applying
patches
4. After a few minutes, the original Terminal which had the hanged phase=cutover will start progressing.
During adop Cutover phase validation, a cross reference between fs1/fs2 is detected. The
txkADOPValidation script fails.
a> cd /u01/oracle/VIS/fs2/FMW_Home/user_projects/domains/EBS_domain_VIS/config/
b> cp config.xml config.xml-BCK
2> Edit each of the following tags in the config.xml for the fs2 filesystem to only reference fs2
https://www.funoracleapps.com/2021/11/ebs-122-adop-interview-questions.html 6/9
1/7/23, 10:53 AM EBS 12.2 ADOP Interview Questions With Scenarios
/u01/oracle/VIS/fs1/EBSapps/comn/util/jdk64
/u01/oracle/VIS/fs1/FMW_Home/Oracle_EBS-app1/deployment_plans/oacore
/u01/oracle/VIS/fs1/FMW_Home/Oracle_EBS-app1/deployment_plans/forms
/u01/oracle/VIS/fs1/FMW_Home/Oracle_EBS-app1/deployment_plans/oafm
/u01/oracle/VIS/fs1/FMW_Home/Oracle_EBS-app1/deployment_plans/forms-c4ws
Example:
-----------------------------------------------
From: /u01/oracle/VIS/fs1/EBSapps/comn/util/jdk64
To: /u01/oracle/VIS/fs2/EBSapps/comn/util/jdk64
5> Retry
28. Adop Fs_clone Run For Days No Error Just Keep Running
1. Run the following scripts in a TEST environment first where adop is executed:
29. ADOP Apply Phase Error: You Must Be In Maintenance Mode To Apply Patches
The database local_listener parameter at the PDB level was set to the wrong value. It was pointing to an old
hostname. The value for local_listener was <oldhostname>.<domain> when it should have been
<newhostname>.<domain>. The value of local_listener is inherited from the CDB, so should not be set at all,
it has to be reset. Below is the instruction to check for the value of the database local_listener parameter:
sqlplus / as sysdba
SQL> alter session set container=<PDB_SID>;
SQL> show parameter listener; <--- Check the wrong value
SQL> alter system reset local_listener scope=both;
SQL> shutdown immediate;
SQL> startup
SQL> show parameter listener; <--- Confirm the correct value
Then, confirm you are able to successfully connect to the database using the APPS user.
30.Adop Cutover Failed by "[UNEXPECTED]Error occurred starting Admin Server" on Run File
System
https://www.funoracleapps.com/2021/11/ebs-122-adop-interview-questions.html 7/9
1/7/23, 10:53 AM EBS 12.2 ADOP Interview Questions With Scenarios
31. E-Business Suite Online Patching ADOP Prepare Phase Fails With Error
'[UNEXPECTED]Error occurred running /admin/scripts/adalnctl.sh start' And 'Error 1 occurred executing Start
Apps Listener'
$ADMIN_SCRIPTS_HOME
adstpall.sh
$ADMIN_SCRIPTS_HOME
adalnctl.sh start
$ADMIN_SCRIPTS_HOME
adstrtal.sh
33. What are different states which can be seen during cutover
These are the step by step action which the cutover performs.
https://www.funoracleapps.com/2021/11/ebs-122-adop-interview-questions.html 8/9
1/7/23, 10:53 AM EBS 12.2 ADOP Interview Questions With Scenarios
When the number of old database editions reaches 25 or more, we should consider dropping all old
database editions by running the adop actualize_all
Please change the the ulimit parameter for no of files to ulimit -n 9999 from unlimited and retry starting Admin
Server manually using adadminsrvctl.sh script.
38. Adop Cutover Failed with ORA-01422: exact fetch returns more than requested number of rows
1. Bounce the Database completely, ensure that all RAC nodes are down.
If it returns:
JOB_NAME STATE
-------------------------------------- ------------------------------------------
AD_COMPILE_INVALID_OBJECTS SCHEDULED
BEGIN
dbms_scheduler.drop_job(job_name => 'AD_COMPILE_INVALID_OBJECTS');
END;
https://www.funoracleapps.com/2021/11/ebs-122-adop-interview-questions.html 9/9