Drop Down MenusCSS Drop Down MenuPure CSS Dropdown Menu

Friday, June 17, 2022

ADOP Interview Questions:

 Does Online Patching increase the network port requirements on an Oracle E-Business Suite instance?

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.

What is Actualize all, How it works?

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.

How to execute an empty patching cycle?


adop fails a lot, especially when you’re building a regression test environment.  Remember the old DOS days when you yanked out the floppy disk but still had a: on the screen and DOS said (a)bort, (r)etry, (f)ail?  And abort and fail always seemed like the same thing, but somehow they weren’t?  Same thing with adop, only it calls them abandon and restart.

adop defaults to abandon=no restart=yes if not specified, but to me, that’s still a bit unclear.  For example, what the heck would abandon=yes restart=no do?  Here’s what I came up with

(1) abandon and cleanup (I strongly urge you to do a full cleanup, or you may be asking for trouble)

adop phase=abort,cleanup cleanup_mode=full

adop phase=fs_clone

(2) fix the problem via whatever means (adctrl in the patch environment, drop the index the patch is trying to re-create, etc) and retry from where it failed

adop phase=apply patches=17020683 restart=yes [abandon=no is implied and not required]

(3) fix what’s wrong but retry from the beginning of the patch, or try a new patch (why you would do the latter, I have no idea)

adop phase=apply patches=17020683 abandon=yes [restart=yes is implied and not required]   (same patch)

adop phase=apply patches=17893964,18497540 abandon=yes          (new patch)


adop cleanup :

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

Drop indexes that are no longer in use

Drop old data 

Old Database editions  

Drop cross-editions triggers

Recover Space


full: 

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

Performs all possible cleanup actions to recover the maximum amount of database space.

Drops old database editions, unused columns, and all obsolete storage objects.

Mandatory if an online patching cycle was aborted,


quick :

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

Performs the bare minimum cleanup needed to finish the patching cycle.

Removes unneeded seed data and cross-edition triggers.


Standard Mode:

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

The default mode of the cleanup phase

Perform minimum cleanup ( delete old data, objects etc)

Recover system tablespace

Command: adop phase=cleanup



adop phase=cleanup cleanup_mode=full deletes obsolete code, data, and unused columns to recover maximum disk space.


adop phase=actualize_all updates and moves non-modified editioned objects up to the current active edition so that old, 

accumulated database editions can be safely retired and dropped.



difference between adop prepare and fs_clone?

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

prepare is part of the standard adop lifecycle (prepare, apply, finalize, cutover, cleanup).


fs_clone is usually an independent, on-demand command to recover the patch file system.


prepare attempts to synchronize incrementally (copying only changed files). 

fs_clone forces a complete, full synchronization (re-cloning everything).


If prepare detects that the patch file system cannot be incrementally synchronized 

(e.g., if it's too different from the run system), it will internally call fs_clone.


Prepare  – Starts a new patching cycle.

FS clone mode can be only executed when there is no active patching cycle going on in the system.


PREPARE phase does not synchronize Technology Stack so if you have applied any Tech stack patches using

OPatch or Smart update then PREPARE phase will not sync that. 



how to make Fs_clone fast in process?

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

1. Use Delta Synchronization (Recommended) 

Starting from AD-TXK Delta 8, a "delta" mode is available which is much faster than the default method as

it only copies changed files. 


Command: adop phase=prepare sync_mode=delta

Method: This uses rsync and delta-style synchronization, which is significantly quicker than a full fs_clone. 


2. Optimize JVM and Memory Settings 

If fs_clone is hanging or slow, it may be running out of memory, causing extensive Java garbage collection.



export CONFIG_JVM_ARGS="-Xms2048m -Xmx4096m -XX:MaxPermSize=2048m"

3. Use 'dualfs' Cloning 

If you are doing a full cloning operation, use the dualfs option to clone both file systems 

simultaneously rather than individually. 

Command: adop phase=fs_clone options=dualfs


4. Reduce Data Volume and Clean Up 


Pre-Cleanup: Always run adop phase=cleanup before fs_clone to remove unnecessary files and minimize the synchronization load.

Remove Old Logs: Clear out old log files in $INST_TOP/logs/ and temp files to reduce file counting overhead.


5. Validate System and Environment

Check Disk Space: Ensure high-speed disk space is available. Insufficient space in /tmp (requires at least 15G)

 or $COMMON_TOP can cause fs_clone to hang or fail.

 

Update Snapshots: Run the "Update current view snapshot" in AD Administration to ensure file system tracking is up to date.

Ensure No Dangling Processes: Check for orphaned adop or java processes from previous failed sessions.


6. Skip Initial Validation (Use with Caution)


If you are confident the system state is good and want to skip some checks, you can use:

adop phase=fs_clone skipsyncerror=yes.


Summary Checklist for Speed

Run adop phase=cleanup

Export CONFIG_JVM_ARGS (higher heap)

Use sync_mode=delta in prepare phase.

Ensure >15GB Free Space on the file system. 

Use dualfsclone


Wednesday, June 8, 2022

what happens in cutover phase of adop in R12.2:

 Cutover phase of adop is downtime phase of Online patching cycle. Once cutover is complete, it is not possible to revert to the previous edition.

Cutover phase  of adop has following steps:

1.Shut down internal concurrent manager: 

cm_wait=<maximum_minutes_to_wait> 

$FND_TOP/bin/txkADOPCutOverPhaseCtrlScript.pl script

2.Shut down application tier services:

$FND_TOP/bin/txkADOPCutOverPhaseCtrlScript.pl script


3.Cutover database: Promote patch database edition to become the new run database edition, using adzdpmgr.pl script.

This task is performed by $FND_TOP/bin/txkADOPCutOverPhaseCtrlScript.pl script 


4.Cutover file system: Promote patch file system to become the new run file system, switching the $FILE_EDITION values in the patch and run enviroments. The current patch APPL_TOP becomes the new run APPL_TOP, and the current run APPL_TOP becomes the new patch APPL_TOP.This task is completed by Autoconfig.


5.Terminate old database sessions: Terminate any database connections to the old run edition of the database.

This task is performed by $FND_TOP/bin/txkADOPCutOverPhaseCtrlScript.pl script


6.Start application tier services: Application tier services are restarted, on the new run edition. The system is now available again to users.

This task is performed by $FND_TOP/bin/txkADOPCutOverPhaseCtrlScript.pl script


Refrence:

https://techgoeasy.com/happens-cutover-phase-adop-r12-2/

How to rollback the patch after failed cutover phase in R12.2:

There may be scenario  when  cutover phase failed . It is possible to go back to previous state of cutover(rollback the patch) ,if flashback database is either enabled in the database or we have taken full backup prior to cutover:

We having Flashback enabled in the database:

SQL>select FLASHBACK_ON from v$database;

Scenario1:

You are running an Online Patching cycle:

$ adop phase=prepare

$ adop phase=apply patches=99999999

$ adop phase=finalize

$ adop phase=cutover

Cutover fails, and you need to go back to the state of the system before you ran the cutover phase.

If you had not run the cutover phase, you would have been able to roll back the patch by running the adop abort phase. However, this is not possible once cutover has been run.

Two main parts to rollback the patch:

(1) Database Restore : Here we can use either Flashback or database restore technique.

Flashing Back the Database:

First, shut down the database, then start it up in mount state:

SQL>shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>startup mount

ORACLE instance started.

Restore the flashback to the specified time.

SQL>flashback database to time to_data(<time before teh cutover>;

Start the database in read-only mode:

Shut down the database, start it up in mount state, then open it with the resetlogs option:

SQL>shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>startup mount

ORACLE instance started.

Database mounted.

SQL>alter database open resetlogs;

Database altered.

2) Filesystem restore:

check  whether cutover failed before the file systems were switched. referring to the cutover logs.

Case 1:

If  cutover failed before the file systems were switched,then clean shutdown of any services that are running. Then restart all the services using the normal startup script.

Case 2 :

If cutover failed after the file systems were switched:

Shut down services started from new run file system, in multi-node environment, repeat  on all nodes.

Switch file systems back onall nodes:

$ perl $AD_TOP/patch/115/bin/txkADOPCutOverPhaseCtrlScript.pl \

-action=ctxupdate \

-contextfile=<full path to new run context file> \

-patchcontextfile=<full path to new patch file system context file> \

-outdir=<full path to out directory>

Start up all services from the old run file system.

After the restore is complete:

For example:

$ adop phase=prepare

$ adop phase=apply patches=9999999

$ adop phase=abort

$ adop phase=cleanup cleanup_mode=full

$ adop phase=fs_clone

$ adop phase=abort,cleanup cleanup_mode=full


Refrence:

https://techgoeasy.com/rollback-patch-cutover-phase-r12-2/