SlideShare a Scribd company logo
Session ID:
Prepared by:
Remember to complete your evaluation for this session within the app!
10755
Simplifying EBS 12.2
ADOP
1/12/2019
Alfredo Krieg
Senior Cloud Performance Architect
Viscosity North America
@alfredokrieg
Simplifying EBS 12.2 ADOP - Collaborate 2019
@ViscosityNAviscosityna.com
Leverage what Makes Viscosity Different
Our Mission:
•We Enable Business Transformation at a Time
when Companies must Change to Survive
@ViscosityNAviscosityna.com
Viscosity is a team of experts specializing in
Oracle Cloud and Engineered Systems.
We are lot more than just Oracle
SharePlex Platinum Partner
MongoDB Consulting Partner
Neo4J Consulting Partner
Kyriba - Treasury Management
We’ve written 22 books on Data, Cloud, and Oracle…
Industry Experts
o Viscosity founders hold 27+ years each
in the Oracle space
o Authors of 22 books in the Oracle
space
o 5 ACE Directors, only 36 in the United
States. 1 Oracle ACE
o Direct connections to Oracle support
and Product Managers support
o Expertise in Engineered Systems, ZFS,
ODA, Oracle 11g, 12c, 18c, RAC/ASM,
Data Guard, Performance Tuning &
Oracle Licensing
o Hire only best of the best
@ViscosityNAviscosityna.com 6
Viscosity Pillars
And Delivery Models
Database
InfrastructureAppsData
Data Integration
IAAS / PAAS
Data Warehousing
Analytics
GoldenGate
SAAS / PAAS
CX ERP SCM HCM
PAAS
Web Applications
Mobility
EBS / JDE / PS
IAAS
Public Cloud
Bare Metal Cloud
AWS Azure Bluemix
Engineered Systems
Exa- ZFS @Customer
X86 / Sparc
Workshops Assessments
Proof of
Concepts
Training Turnkey Projects
Managed
Services
@ViscosityNAviscosityna.com
Performance
Health Checks
How’s it running?
Apps
SaaS/PaaS,
Mobility, Application
Development
DBA
Services
Remote and
On-site
On-Call Support
Managed
Services
ZERO DOWNTIME
Migrations
Professional
Services
Where you need it most
Staff Aug
Workforce Capacity on
Demand
Oracle License Management
Get the most out of your Oracle
investment
7
@ViscosityNAviscosityna.com 8
@ViscosityNAviscosityna.com 9
@ViscosityNAviscosityna.com 1
@ViscosityNAviscosityna.com 1
Alfredo Krieg
• Oracle ACE
• Senior Cloud Performance Architect at Viscosity North America
• Database Performance Tuning, Exadata, OEM and EBS
• Oracle Technologies since 2004
• Blog www.alfredokriegdba.com
• alfredo.krieg@viscosityna.com
@alfredokrieg
Disclaimer
• The opinions expressed in this presentation are solely mine, and not that of my
employer.
Agenda
• ADOP concepts
– ADOP phases
• Best Practices
• ETCC
• ADOP and DB Patches
• Issues and troubleshooting
• Final Recommendations
ADOP – How did I get here?
• Upgrade to 12.2 from 11i, 12.0 or 12.1
• Fresh install of 12.2
Photo by Caleb Jones on Unsplash
ADOP Concepts
• ADOP stands for AD Online Patching
• Used to apply patches to EBS 12.2 (adpatch prior releases)
• Capable of storing multiple application editions in the DB (EBR)
• Dual application tier file system (fs1 & fs2 “or” run & patch)
• 4 new environment variables
– $FILE_EDITION
– $RUN_BASE
– $PATCH_BASE
– $NE_BASE
ADOP Concepts
• ADOP stages
– Prepare
– Apply
– Finalize
– Cutover
– Cleanup
• Special
– Abort
– Fs_clone
ADOP Concepts - Prepare
• Optional Checks
– Before running prepare
• $ adop -validate
– Run from primary (master) node, adop will perform the validation on all the available nodes
– Run on a secondary (slave) node, adop will only run there
– Checks for free space in the system
» SYSTEM – min 25 GB free
» APPS_TS_SEED – min 5 GB free
– Run while a patching cycle is in progress
• Validation will take place for the cutover phase
• Prepare synchronizes patch filesystem from run filesystem
ADOP – 100% Online?
• Is it ADOP 100% online?
– No
• How many tasks can be done online?
– It depends
• How much downtime to incur while patching?
– It depends
Photo by bruce mars on Unsplash
ADOP Concepts - Prepare
• ADOP actions during prepare
– Checks weather to perform a cleanup
– Validates system configuration
– Checks if DB is ready
• APPS is edition-enabled (exits immediately)
• Patch service (fix attempt)
• Logon trigger (fix attempt)
• DB data dictionary integrity (exist immediately)
• ETCC
– Checks all application nodes
– "Online Patching In Progress" (ADZDPATCH) concurrent program
– Invokes the TXK script $AD_TOP/patch/115/bin/txkADOPPreparePhaseSynchronize.pl
– Checks the database for the existence of a patch edition
– Calls the $AD_TOP/patch/115/bin/txkADOPPreparePhaseSanityCheck.pl
Photo by Shane Aldendorff on Unsplash
ADOP Concepts - Prepare
• Synchronization options
– Just execute adop phase=prepare (DEFAULT)
• Identify patches already applied to run APPL_TOP
• Apply patches silently to patch APPL_TOP
• skipsyncerror parameter
– Create a new patch filesystem adop phase=fs_clone
• Executed before prepare
• Option force=yes
– Delta?
• adop phase=prepare sync_mode=delta
• Delta synchronization of filesystems
• Implemented using rsync on Unix and RoboCopy on Windows
• Customizable
ADOP Concepts - Prepare
• Synchronization Customizations
– Patch synchronization - apply missing patches
– Delta (file) synchronization - copy file changes
– fs_clone synchronization - clone entire file system
• Examples of patching actions that are not synchronized by default include:
– Compiling user-defined JSPs
– Copying some third-party libraries
– Copying and compiling user-defined concurrent programs
– Copying and generating user-defined forms
ADOP Concepts - Prepare
• $APPL_TOP_NE/ad/custom/adop_sync.drv
#Begin Customization
...
#End Customization
– The adop_sync.drv file is not currently reset to its template file at any point
– You must check that the contents still meet your requirements
• Multi-node
– Execute on primary (Admin Server) node
– ssh between primary and secondary nodes
– If node is inaccessible it will be mark as abandonded
ADOP Concepts - Prepare
• Configuration changes
– If any configuration changes detected
• Clone configuration from run to patch
• Execute autoconfig on patch fs
09:46:46 00:00:00 ad.bin.adop EVENT Detecting configuration
changes.
09:46:46 00:00:00 ad.bin.adop PROCEDURE [START] Looking for file
system configuration changes
09:46:46 00:00:00 ad.bin.adop EVENT. File system configuration
changes detected.
ADOP Concepts - Apply
• ADOP applies specified patches to patch edition of DB and filesystem
– adop phase=apply patchtop=<$PATCH_TOP>
– merge=yes, listed patches will automatically be merged
– Multiple patches can be applied with one command
• adop phase=apply patches=2455636,2348464
– Apply patch and NLS
• adop phase=apply patches=2454666,2454666_ESA:u245466.drv
– Restart a failed patch
• adop phase=apply patches=2455636,2348464 restart=yes
• What about the failed worker?
– Analytics. Generates in-depth reports
• adop phase=apply analytics=yes
ADOP Concepts - Finalize
• Used to perform any remaining processing needed to ensure the fastest possible
cutover
– Pre-compute DDL that needs to be run at cutover.
– Compile all invalid objects.
– Validate that the system is ready for cutover.
– If finalize_mode=full, compute statistics for key data dictionary tables for improved
performance.
$ adop phase=finalize
ADOP Concepts - Cutover
• Critical phase – application is down
• Key actions
– Shutdown concurrent managers. ADOP signals ICM to shutdown but wait for running
requests
• cm_wait=<maximum_minutes_to_wait>
• Recommendations
– Production - do not specify cm_wait
– Non-Prod – specify cm_wait to limit the waiting time
– Shutdown application tier services
– Cutover database
– Cutover file system
– Terminate old database sessions
– Start application tier services
ADOP Concepts - Cutover
• $ adop phase=cutover
• Deferring application tier restart
– adop phase=cutover mtrestart=no
• If failed and restarted cutover will continue at the failure point
• JAR files
– JAR files are stored in the $APPL_TOP/admin/<SID>/out directory and uploaded to the DB
during cutover.
• Autoconfig is executed
ADOP Concepts - Cleanup
• If you fail to run cleanup phase explicitly it will be run during the next prepare
• Drops (removes/cleans) obsolete
– Crossedition triggers
– Seed data
– Editioned code objects (covered objects)
– Indexes
– Columns
– Editions
• 3 modes
– cleanup_mode=quick
– cleanup_mode=standard (default)
– cleanup_mode=full
ADOP Concepts - Abort
• Cancels/Terminates/Abandons the current patching cycle
• It won’t apply any patches to the run FS (live)
• It can only be used before the cutover phase
• It drops the patch edition in the DB
• Need to execute cleanup and fs_clone after abort
$ adop phase=abort
$ adop phase=abort,cleanup cleanup_mode=full
Photo by Clem Onojeghuo on Unsplash
ADOP Concepts - FS_CLONE
• fs_clone phase clones the run filesystem to the patch filesystem
• Executed:
– After ADOP Abort
– At the end of the patch cycle
– After implementing customizations on run filesystem
$ adop phase=abort
$ adop phase=fs_clone
$ adop phase=prepare
ADOP Concepts - ACTUALIZE_ALL
• Drop old database editions
• Editions are accumulated after patch cycles
• Recommended when 25 or more editions
• This procedure will take large amount of time
WARNING There are 25 existing editions. For optimum performance, there should be no more than
20.
WARNING To remove unneeded editions, run the actualize_all phase and then perform a full
cleanup.
EVENT Validating system is ready to prepare.
$ adop phase=prepare
$ adop phase=actualize_all
$ adop phase=finalize finalize_mode=full
$ adop phase=cutover
$ adop phase=cleanup cleanup_mode=full
Best Practices
• Apply all recommended database and AD-TXK patches.
How to Find E-Business Suite Recommended Patches (Doc ID 1400757.1)
• Run ETCC and ensure the system is up to date
• Disconnect any 3rd party applications prior the cutover phase
• Use prepare sync_mode=delta
$ adop phase=prepare sync_mode=delta
• Be sure there’s no active patching cycle before running adpreclone
• Turn the DB recycle bin off
######### # # recyclebin parameter #
# The database recyclebin 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.
# #########
Best Practices
• EBS Installation Configuration Management (ICM) Application DBA Online
Patching (ADOP) Analyzer (Doc ID 2379656.1)
ETCC
• E-Business Suite Technology Codelevel Checker (ETCC)
• Helps identify overlay patches needed to be applied
• Obtain ETCC Patch 17537119
Configuration Changes and Patching
• Online configuration changes (recommended)
– Execute prepare
– Perform configuration changes to the patch filesystem
• Weblogic configuration
• HTTP (Apache) configuration
• Filesystem changes
– Execute cutover to promote those changes
– Execute fs_clone
• Offline configuration changes
– Verify that no patching cycle is currently active
– Shutdown application services
– Perform configuration changes to run filesystem
Hot Patching?
• NO!
• 1987947.1, Granting Privileges On An Object May Cause Invalidations
Photo by Gemma Evans on Unsplash
DB Patches
• Most of the DB patches require the DB services to be down in the OH
• Rolling patches if running a RAC DB
• Recommend to install the DB patches after cutover
$ adop phase=prepare sync_mode=delta
$ adop phase=apply patches=4558512
$ adop phase=finalize
$ adop cutover mtrestart=no
SQL> shutdown immediate
$ opatch apply
SQL> startup
$ adstrtal.sh
DR Patching
• Most DB patches are DG Standby First Installable (README)
• Install patch to your DR Standby DB first
• Start ADOP Cycle
• Install DB patch to primary after cutover
• Install EBS patches to DR application
• Run ADOP Cleanup
Issues
• ADOP cycle slow
– Verify if AD_ZD_DDL_HANDLER table is fragmented
• Execute ADZDTABRDF.sql <owner> <table>
• Gather table stats
– SQL>exec dbms_stats.gather_table_stats('APPLSYS','AD_ZD_DDL_HANDLER’);
– Old Data in ADOP repository tables
• SQL>exec ad_zd_fixer.clear_adop_repo_tables;
• Cutover Fails
– Cutover_status=3
– 'Invalid Credentials' error
– database patch edition has already been promoted to be the new run edition
$ adop phase=cutover action=nodb
Blocking locks and Prepare
Error on session xx:
Creating database patch edition.
Log: @ADZDSHOWLOG.sql
Failed to execute SQL statement:
declare
result varchar2(10);
begin
ad_zd.PREPARE('Y’);
…
Error Message: ORA-20001: Error while calling ad_zd.prepare.ORA-04021:
timeout occurred while waiting to lock object
ORA-06512: at line 9 (DBD ERROR: OCIStmtExecute) [UNEXPECTED]Error creating
patch edition.
[UNEXPECTED]Error calling runCheckAndCreatePatchEdition subroutine.
[ERROR] Prepare phase has failed.
Blocking locks and Apply
• adop phase=apply error
– Adop worker timeout
– By looking at OEM huge red graph
– This was a runaway Endeca session
• Terminate the Endeca session
• Restart the worker using adctrl (option 2)
• Restart adop phase=apply
• adop phase=apply completed correctly
Cutover Issues
• Cutover hung
– Verify if cutover is waiting for long requests to complete
– See if those requests could be terminated
• Cutover failing due to bug 27883586
– Issue with Mviews
http://www.alfredokriegdba.com/2018/11/ebs-adop-phase-failing-due-to-ora-600.html
• Cutover fails – Timeout while starting services on secondary node
– $ adop phase=cutover mtrestart=no
ADOP Cutover Fails, Timeout While Starting Services On Secondary Node (Doc
ID 2411800.1)
Final Recommendations
• Always, always! Keep your system up-to date with ETCC
• Execute actualize_all regularly to cleanup old editions
• Make use of adop phase=prepare sync_mode=delta
• Be sure 3rd party applications are down before starting the prepare and apply if possible
• Decided to shutdown concurrent managers before running cutover
• Decided to execute cutover with mtrestart=no
• Plan ahead and be prepared
Session ID:
Remember to complete your evaluation for this session within the app!
10755
alfredo.krieg@viscosityna.com

More Related Content

PDF
EBS-technical_upgrade_best_practices 12.1 or 12.2
PDF
New Generation Oracle RAC Performance
PDF
Zero Data Loss Recovery Appliance - Deep Dive
PPTX
New Features for Multitenant in Oracle Database 21c
PDF
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
PDF
Oracle e-business suite (ebs) r12.2.6 - new functionality
PDF
Maximum Availability Architecture - Best Practices for Oracle Database 19c
PPSX
Oracle Performance Tuning Fundamentals
EBS-technical_upgrade_best_practices 12.1 or 12.2
New Generation Oracle RAC Performance
Zero Data Loss Recovery Appliance - Deep Dive
New Features for Multitenant in Oracle Database 21c
DB Time, Average Active Sessions, and ASH Math - Oracle performance fundamentals
Oracle e-business suite (ebs) r12.2.6 - new functionality
Maximum Availability Architecture - Best Practices for Oracle Database 19c
Oracle Performance Tuning Fundamentals

What's hot (20)

PDF
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
PDF
Oracle db performance tuning
PDF
Mfsc1
PPTX
Automating Your Clone in E-Business Suite R12.2
PDF
MongoDB Administration 101
PDF
Under the Hood of a Shard-per-Core Database Architecture
PPTX
Understanding my database through SQL*Plus using the free tool eDB360
PDF
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
PDF
Understanding oracle rac internals part 2 - slides
PDF
Exadata master series_asm_2020
PDF
Same plan different performance
PDF
TFA Collector - what can one do with it
PDF
MySQL Administrator 2021 - 네오클로바
PDF
Tanel Poder - Performance stories from Exadata Migrations
PPTX
Sharding Methods for MongoDB
PDF
MySQL Shell for Database Engineers
PDF
Oracle Database performance tuning using oratop
PPTX
Presentation upgrade, migrate &amp; consolidate to oracle database 12c &amp...
PDF
Oracle RAC in the Oracle Cloud
PDF
Oracle 11g Database Administration
GoldenGateテクニカルセミナー3「Oracle GoldenGate Technical Deep Dive」(2016/5/11)
Oracle db performance tuning
Mfsc1
Automating Your Clone in E-Business Suite R12.2
MongoDB Administration 101
Under the Hood of a Shard-per-Core Database Architecture
Understanding my database through SQL*Plus using the free tool eDB360
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Understanding oracle rac internals part 2 - slides
Exadata master series_asm_2020
Same plan different performance
TFA Collector - what can one do with it
MySQL Administrator 2021 - 네오클로바
Tanel Poder - Performance stories from Exadata Migrations
Sharding Methods for MongoDB
MySQL Shell for Database Engineers
Oracle Database performance tuning using oratop
Presentation upgrade, migrate &amp; consolidate to oracle database 12c &amp...
Oracle RAC in the Oracle Cloud
Oracle 11g Database Administration
Ad

Similar to Simplifying EBS 12.2 ADOP - Collaborate 2019 (20)

PPT
Staged Patching Approach in Oracle E-Business Suite
PPTX
E business suite r12.2 changes for database administrators
PPTX
E business suite r12.2 changes for database administrators
PDF
Oracle EBS Release 12: Tips for Patching
PPTX
SAOUG 2018 - Rapid Home Provisioning
PPTX
DevOps for database
PPTX
Collaborate2
PPT
Deployment and Management of Hadoop Clusters
PDF
Next Generation Hadoop Operations
PPTX
6 Ways of Solve Your Oracle Dev-Test Problems Using All-Flash Storage and Cop...
PDF
Online patching ebs122_aioug_appsdba_nov2017
PDF
Tips and Tricks for SAP Sybase ASE
PPTX
Ceph Deployment at Target: Customer Spotlight
PPTX
Ceph Deployment at Target: Customer Spotlight
PPT
Adop and maintenance task presentation 151015
PDF
Ceph Goes on Online at Qihoo 360 - Xuehan Xu
PDF
A Different Way to Perform zOS Maintenance.pdf
PDF
Performance tuning with zend framework
PPT
Anatomy of Autoconfig in Oracle E-Business Suite
PDF
Avoid boring work_v2
Staged Patching Approach in Oracle E-Business Suite
E business suite r12.2 changes for database administrators
E business suite r12.2 changes for database administrators
Oracle EBS Release 12: Tips for Patching
SAOUG 2018 - Rapid Home Provisioning
DevOps for database
Collaborate2
Deployment and Management of Hadoop Clusters
Next Generation Hadoop Operations
6 Ways of Solve Your Oracle Dev-Test Problems Using All-Flash Storage and Cop...
Online patching ebs122_aioug_appsdba_nov2017
Tips and Tricks for SAP Sybase ASE
Ceph Deployment at Target: Customer Spotlight
Ceph Deployment at Target: Customer Spotlight
Adop and maintenance task presentation 151015
Ceph Goes on Online at Qihoo 360 - Xuehan Xu
A Different Way to Perform zOS Maintenance.pdf
Performance tuning with zend framework
Anatomy of Autoconfig in Oracle E-Business Suite
Avoid boring work_v2
Ad

More from Alfredo Krieg (11)

PDF
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
PDF
Exadata SMART Monitoring - OEM 13c
PDF
Collaborate 2019 - How to Understand an AWR Report
PPTX
Oracle database 12.2 new features
PPTX
Where did my day go?: Oracle Enterprise Manager 12c/13c Administration
PPTX
Performance Management in Oracle 12c
PDF
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
PPTX
Where did my day go?: OEM 12c Administration #em12c #C15LV @IOUG
PPTX
Oracle SPM 12c. IOUG #C15LV
PDF
Oracle database performance are database users telling me the truth
PDF
553: Oracle Database Performance: Are Database Users Telling Me The Truth?
Clone Oracle Databases In Minutes Without Risk Using Enterprise Manager 13c
Exadata SMART Monitoring - OEM 13c
Collaborate 2019 - How to Understand an AWR Report
Oracle database 12.2 new features
Where did my day go?: Oracle Enterprise Manager 12c/13c Administration
Performance Management in Oracle 12c
Monitor Engineered Systems from a Single Pane of Glass: Oracle Enterprise Man...
Where did my day go?: OEM 12c Administration #em12c #C15LV @IOUG
Oracle SPM 12c. IOUG #C15LV
Oracle database performance are database users telling me the truth
553: Oracle Database Performance: Are Database Users Telling Me The Truth?

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
Teaching material agriculture food technology
PPTX
Cloud computing and distributed systems.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Big Data Technologies - Introduction.pptx
PDF
Machine learning based COVID-19 study performance prediction
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
MYSQL Presentation for SQL database connectivity
Diabetes mellitus diagnosis method based random forest with bat algorithm
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Teaching material agriculture food technology
Cloud computing and distributed systems.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation_ Review paper, used for researhc scholars
Big Data Technologies - Introduction.pptx
Machine learning based COVID-19 study performance prediction
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation
Building Integrated photovoltaic BIPV_UPV.pdf
NewMind AI Weekly Chronicles - August'25 Week I
MYSQL Presentation for SQL database connectivity

Simplifying EBS 12.2 ADOP - Collaborate 2019

  • 1. Session ID: Prepared by: Remember to complete your evaluation for this session within the app! 10755 Simplifying EBS 12.2 ADOP 1/12/2019 Alfredo Krieg Senior Cloud Performance Architect Viscosity North America @alfredokrieg
  • 3. @ViscosityNAviscosityna.com Leverage what Makes Viscosity Different Our Mission: •We Enable Business Transformation at a Time when Companies must Change to Survive
  • 4. @ViscosityNAviscosityna.com Viscosity is a team of experts specializing in Oracle Cloud and Engineered Systems. We are lot more than just Oracle SharePlex Platinum Partner MongoDB Consulting Partner Neo4J Consulting Partner Kyriba - Treasury Management
  • 5. We’ve written 22 books on Data, Cloud, and Oracle… Industry Experts o Viscosity founders hold 27+ years each in the Oracle space o Authors of 22 books in the Oracle space o 5 ACE Directors, only 36 in the United States. 1 Oracle ACE o Direct connections to Oracle support and Product Managers support o Expertise in Engineered Systems, ZFS, ODA, Oracle 11g, 12c, 18c, RAC/ASM, Data Guard, Performance Tuning & Oracle Licensing o Hire only best of the best
  • 6. @ViscosityNAviscosityna.com 6 Viscosity Pillars And Delivery Models Database InfrastructureAppsData Data Integration IAAS / PAAS Data Warehousing Analytics GoldenGate SAAS / PAAS CX ERP SCM HCM PAAS Web Applications Mobility EBS / JDE / PS IAAS Public Cloud Bare Metal Cloud AWS Azure Bluemix Engineered Systems Exa- ZFS @Customer X86 / Sparc Workshops Assessments Proof of Concepts Training Turnkey Projects Managed Services
  • 7. @ViscosityNAviscosityna.com Performance Health Checks How’s it running? Apps SaaS/PaaS, Mobility, Application Development DBA Services Remote and On-site On-Call Support Managed Services ZERO DOWNTIME Migrations Professional Services Where you need it most Staff Aug Workforce Capacity on Demand Oracle License Management Get the most out of your Oracle investment 7
  • 12. Alfredo Krieg • Oracle ACE • Senior Cloud Performance Architect at Viscosity North America • Database Performance Tuning, Exadata, OEM and EBS • Oracle Technologies since 2004 • Blog www.alfredokriegdba.com • alfredo.krieg@viscosityna.com @alfredokrieg
  • 13. Disclaimer • The opinions expressed in this presentation are solely mine, and not that of my employer.
  • 14. Agenda • ADOP concepts – ADOP phases • Best Practices • ETCC • ADOP and DB Patches • Issues and troubleshooting • Final Recommendations
  • 15. ADOP – How did I get here? • Upgrade to 12.2 from 11i, 12.0 or 12.1 • Fresh install of 12.2 Photo by Caleb Jones on Unsplash
  • 16. ADOP Concepts • ADOP stands for AD Online Patching • Used to apply patches to EBS 12.2 (adpatch prior releases) • Capable of storing multiple application editions in the DB (EBR) • Dual application tier file system (fs1 & fs2 “or” run & patch) • 4 new environment variables – $FILE_EDITION – $RUN_BASE – $PATCH_BASE – $NE_BASE
  • 17. ADOP Concepts • ADOP stages – Prepare – Apply – Finalize – Cutover – Cleanup • Special – Abort – Fs_clone
  • 18. ADOP Concepts - Prepare • Optional Checks – Before running prepare • $ adop -validate – Run from primary (master) node, adop will perform the validation on all the available nodes – Run on a secondary (slave) node, adop will only run there – Checks for free space in the system » SYSTEM – min 25 GB free » APPS_TS_SEED – min 5 GB free – Run while a patching cycle is in progress • Validation will take place for the cutover phase • Prepare synchronizes patch filesystem from run filesystem
  • 19. ADOP – 100% Online? • Is it ADOP 100% online? – No • How many tasks can be done online? – It depends • How much downtime to incur while patching? – It depends Photo by bruce mars on Unsplash
  • 20. ADOP Concepts - Prepare • ADOP actions during prepare – Checks weather to perform a cleanup – Validates system configuration – Checks if DB is ready • APPS is edition-enabled (exits immediately) • Patch service (fix attempt) • Logon trigger (fix attempt) • DB data dictionary integrity (exist immediately) • ETCC – Checks all application nodes – "Online Patching In Progress" (ADZDPATCH) concurrent program – Invokes the TXK script $AD_TOP/patch/115/bin/txkADOPPreparePhaseSynchronize.pl – Checks the database for the existence of a patch edition – Calls the $AD_TOP/patch/115/bin/txkADOPPreparePhaseSanityCheck.pl Photo by Shane Aldendorff on Unsplash
  • 21. ADOP Concepts - Prepare • Synchronization options – Just execute adop phase=prepare (DEFAULT) • Identify patches already applied to run APPL_TOP • Apply patches silently to patch APPL_TOP • skipsyncerror parameter – Create a new patch filesystem adop phase=fs_clone • Executed before prepare • Option force=yes – Delta? • adop phase=prepare sync_mode=delta • Delta synchronization of filesystems • Implemented using rsync on Unix and RoboCopy on Windows • Customizable
  • 22. ADOP Concepts - Prepare • Synchronization Customizations – Patch synchronization - apply missing patches – Delta (file) synchronization - copy file changes – fs_clone synchronization - clone entire file system • Examples of patching actions that are not synchronized by default include: – Compiling user-defined JSPs – Copying some third-party libraries – Copying and compiling user-defined concurrent programs – Copying and generating user-defined forms
  • 23. ADOP Concepts - Prepare • $APPL_TOP_NE/ad/custom/adop_sync.drv #Begin Customization ... #End Customization – The adop_sync.drv file is not currently reset to its template file at any point – You must check that the contents still meet your requirements • Multi-node – Execute on primary (Admin Server) node – ssh between primary and secondary nodes – If node is inaccessible it will be mark as abandonded
  • 24. ADOP Concepts - Prepare • Configuration changes – If any configuration changes detected • Clone configuration from run to patch • Execute autoconfig on patch fs 09:46:46 00:00:00 ad.bin.adop EVENT Detecting configuration changes. 09:46:46 00:00:00 ad.bin.adop PROCEDURE [START] Looking for file system configuration changes 09:46:46 00:00:00 ad.bin.adop EVENT. File system configuration changes detected.
  • 25. ADOP Concepts - Apply • ADOP applies specified patches to patch edition of DB and filesystem – adop phase=apply patchtop=<$PATCH_TOP> – merge=yes, listed patches will automatically be merged – Multiple patches can be applied with one command • adop phase=apply patches=2455636,2348464 – Apply patch and NLS • adop phase=apply patches=2454666,2454666_ESA:u245466.drv – Restart a failed patch • adop phase=apply patches=2455636,2348464 restart=yes • What about the failed worker? – Analytics. Generates in-depth reports • adop phase=apply analytics=yes
  • 26. ADOP Concepts - Finalize • Used to perform any remaining processing needed to ensure the fastest possible cutover – Pre-compute DDL that needs to be run at cutover. – Compile all invalid objects. – Validate that the system is ready for cutover. – If finalize_mode=full, compute statistics for key data dictionary tables for improved performance. $ adop phase=finalize
  • 27. ADOP Concepts - Cutover • Critical phase – application is down • Key actions – Shutdown concurrent managers. ADOP signals ICM to shutdown but wait for running requests • cm_wait=<maximum_minutes_to_wait> • Recommendations – Production - do not specify cm_wait – Non-Prod – specify cm_wait to limit the waiting time – Shutdown application tier services – Cutover database – Cutover file system – Terminate old database sessions – Start application tier services
  • 28. ADOP Concepts - Cutover • $ adop phase=cutover • Deferring application tier restart – adop phase=cutover mtrestart=no • If failed and restarted cutover will continue at the failure point • JAR files – JAR files are stored in the $APPL_TOP/admin/<SID>/out directory and uploaded to the DB during cutover. • Autoconfig is executed
  • 29. ADOP Concepts - Cleanup • If you fail to run cleanup phase explicitly it will be run during the next prepare • Drops (removes/cleans) obsolete – Crossedition triggers – Seed data – Editioned code objects (covered objects) – Indexes – Columns – Editions • 3 modes – cleanup_mode=quick – cleanup_mode=standard (default) – cleanup_mode=full
  • 30. ADOP Concepts - Abort • Cancels/Terminates/Abandons the current patching cycle • It won’t apply any patches to the run FS (live) • It can only be used before the cutover phase • It drops the patch edition in the DB • Need to execute cleanup and fs_clone after abort $ adop phase=abort $ adop phase=abort,cleanup cleanup_mode=full Photo by Clem Onojeghuo on Unsplash
  • 31. ADOP Concepts - FS_CLONE • fs_clone phase clones the run filesystem to the patch filesystem • Executed: – After ADOP Abort – At the end of the patch cycle – After implementing customizations on run filesystem $ adop phase=abort $ adop phase=fs_clone $ adop phase=prepare
  • 32. ADOP Concepts - ACTUALIZE_ALL • Drop old database editions • Editions are accumulated after patch cycles • Recommended when 25 or more editions • This procedure will take large amount of time WARNING There are 25 existing editions. For optimum performance, there should be no more than 20. WARNING To remove unneeded editions, run the actualize_all phase and then perform a full cleanup. EVENT Validating system is ready to prepare. $ adop phase=prepare $ adop phase=actualize_all $ adop phase=finalize finalize_mode=full $ adop phase=cutover $ adop phase=cleanup cleanup_mode=full
  • 33. Best Practices • Apply all recommended database and AD-TXK patches. How to Find E-Business Suite Recommended Patches (Doc ID 1400757.1) • Run ETCC and ensure the system is up to date • Disconnect any 3rd party applications prior the cutover phase • Use prepare sync_mode=delta $ adop phase=prepare sync_mode=delta • Be sure there’s no active patching cycle before running adpreclone • Turn the DB recycle bin off ######### # # recyclebin parameter # # The database recyclebin 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. # #########
  • 34. Best Practices • EBS Installation Configuration Management (ICM) Application DBA Online Patching (ADOP) Analyzer (Doc ID 2379656.1)
  • 35. ETCC • E-Business Suite Technology Codelevel Checker (ETCC) • Helps identify overlay patches needed to be applied • Obtain ETCC Patch 17537119
  • 36. Configuration Changes and Patching • Online configuration changes (recommended) – Execute prepare – Perform configuration changes to the patch filesystem • Weblogic configuration • HTTP (Apache) configuration • Filesystem changes – Execute cutover to promote those changes – Execute fs_clone • Offline configuration changes – Verify that no patching cycle is currently active – Shutdown application services – Perform configuration changes to run filesystem
  • 37. Hot Patching? • NO! • 1987947.1, Granting Privileges On An Object May Cause Invalidations Photo by Gemma Evans on Unsplash
  • 38. DB Patches • Most of the DB patches require the DB services to be down in the OH • Rolling patches if running a RAC DB • Recommend to install the DB patches after cutover $ adop phase=prepare sync_mode=delta $ adop phase=apply patches=4558512 $ adop phase=finalize $ adop cutover mtrestart=no SQL> shutdown immediate $ opatch apply SQL> startup $ adstrtal.sh
  • 39. DR Patching • Most DB patches are DG Standby First Installable (README) • Install patch to your DR Standby DB first • Start ADOP Cycle • Install DB patch to primary after cutover • Install EBS patches to DR application • Run ADOP Cleanup
  • 40. Issues • ADOP cycle slow – Verify if AD_ZD_DDL_HANDLER table is fragmented • Execute ADZDTABRDF.sql <owner> <table> • Gather table stats – SQL>exec dbms_stats.gather_table_stats('APPLSYS','AD_ZD_DDL_HANDLER’); – Old Data in ADOP repository tables • SQL>exec ad_zd_fixer.clear_adop_repo_tables; • Cutover Fails – Cutover_status=3 – 'Invalid Credentials' error – database patch edition has already been promoted to be the new run edition $ adop phase=cutover action=nodb
  • 41. Blocking locks and Prepare Error on session xx: Creating database patch edition. Log: @ADZDSHOWLOG.sql Failed to execute SQL statement: declare result varchar2(10); begin ad_zd.PREPARE('Y’); … Error Message: ORA-20001: Error while calling ad_zd.prepare.ORA-04021: timeout occurred while waiting to lock object ORA-06512: at line 9 (DBD ERROR: OCIStmtExecute) [UNEXPECTED]Error creating patch edition. [UNEXPECTED]Error calling runCheckAndCreatePatchEdition subroutine. [ERROR] Prepare phase has failed.
  • 42. Blocking locks and Apply • adop phase=apply error – Adop worker timeout – By looking at OEM huge red graph – This was a runaway Endeca session • Terminate the Endeca session • Restart the worker using adctrl (option 2) • Restart adop phase=apply • adop phase=apply completed correctly
  • 43. Cutover Issues • Cutover hung – Verify if cutover is waiting for long requests to complete – See if those requests could be terminated • Cutover failing due to bug 27883586 – Issue with Mviews http://www.alfredokriegdba.com/2018/11/ebs-adop-phase-failing-due-to-ora-600.html • Cutover fails – Timeout while starting services on secondary node – $ adop phase=cutover mtrestart=no ADOP Cutover Fails, Timeout While Starting Services On Secondary Node (Doc ID 2411800.1)
  • 44. Final Recommendations • Always, always! Keep your system up-to date with ETCC • Execute actualize_all regularly to cleanup old editions • Make use of adop phase=prepare sync_mode=delta • Be sure 3rd party applications are down before starting the prepare and apply if possible • Decided to shutdown concurrent managers before running cutover • Decided to execute cutover with mtrestart=no • Plan ahead and be prepared
  • 45. Session ID: Remember to complete your evaluation for this session within the app! 10755 alfredo.krieg@viscosityna.com