Back to Research & Articles
Latest Insights
Patching
June 1, 2026
7 min read
99 views

Oracle Database Fleet Patching

Fleet provides transparent, flexible, and simple administration while reducing human error. Grid and Database patching or rollback can be performed with minimal downtime, helping improve SLA. Quarterly PSU patching now takes minutes instead of hours, with reliable patching and less dependency on highly experienced DBAs. Patch jobs can be restarted from the failed step.


The Software Standardization Advisor analyzes environments, increases standardization, and reduces configuration variations. It recommends appropriate patch levels across the estate. Fleet supports non-RAC/RAC, Oracle Restart, Standby, PDB, CDB, and ODA, including Exadata firmware. Grid and Databases can be patched from Oracle 11.2.0.4 onwards. Supported operating systems include Linux, Sun Solaris, and AIX (HP-UX not supported). As an Oracle product, it has no dependency on any individual.


Requirements:

  • Additional storage is required due to out-of-place patching. 
  • Database Lifecycle Management Pack license is mandatory for Fleet patching. 
  • OEM 13c agent must be installed on both reference and target hosts. 
  • Sufficient space must be available in the OEM software library. 
  • Reference and target hosts must be discovered in OEM 13c. 
  • Named and privileged credentials must be created for users performing Fleet operations. 
  • Grid and Database Home names must be verified in OEM. 
  • Temporary directory structures must be created on reference and target hosts, along with new ORACLE_HOME directories on target hosts. 
  • Input files must be created before starting patch activities. Patch levels and OS versions of reference and target hosts must be verified.


GRID and DB patch level on the target database before update:

- Jan 2016 PSU patch set was applied on the target server.


[grid@target OPatch]$./opatch lsinventory|grep -i applied

patch 21948354   :applied on Fri Feb 12 16:37:32 GMT 2016

patch 21948344   :applied on Fri Feb 12 16:36:32 GMT 2016

patch 21948341   :applied on Fri Feb 12 16:36:00 GMT 2016

patch 21436941   :applied on Fri Feb 12 16:34:56 GMT 2016


GRID and DB patch level on the reference target database:

- July 2018 PSU patch set applied on the reference target server.


[grid@reftarget OPatch]$./opatch lsinventory|grep -i applied

patch 27762277    :applied on Fri Oct 12 14:09:10 GMT 2018

patch 27762253    :applied on Fri Oct 12 14:06:59 GMT 2018

patch 27547374    :applied on Fri Oct 12 14:04:58 GMT 2018

patch 26983807    :applied on Sat Jul 21 16:35:19 GMT 2018


[grid@reftarget OPatch]$./opatch lspatches

27762277; ACFS PATCH SET UPDATE 12.1.0.2.180717 (27762277)

27762253; OCW PATCH SET UPDATE 12.1.0.2.180717 (27762253)

27547374; Database Bundle Patch : 12.1.0.2.180717(27547374)

26983807; WLM Patch Set Update: 12.1.0.2.180116(26983807)


High-Level Patching Plan for HAS and Database:


HAS Patching:

  • Create named credentials in OEM
  • Create HAS input file
  • Create Gold Image
  • Subscribe target
  • Deploy target
  • Update HAS Home
  • Rollback HAS Home
  • Cleanup old HAS Home


Database Patching:

  • Create named credentials in OEM
  • Create DB input file
  • Create Gold Image
  • Subscribe target
  • Deploy target
  • Update DB Home
  • Rollback DB Home
  • Cleanup old DB Home


HAS Patching:


1] Create Input File:

Log in to OMS host and create input files for HAS and Database Gold Images using emcli.


[oracle@omshost bin]$./emcli login –username=SYSMAN


Create input_has.txt file to create gold image.


[oracle@omshost bin]$ cat /tmp/input_has.txt

IMAGE_NAME=12.1.0.2 Oracle Restart

IMAGE_DESCRIPTION=Gold Image for 12102 Restart Homes

REF_TARGET_NAME=ORACLE_GI_HOME_12102_grid_1_1_reftarget.demo.com_5863

IMAGE_SWLIB_LOC=default_loc/12.1.0.2.0/linux_x86_64

STORAGE_TYPE_FOR_SWLIB=OmsShared

STORAGE_NAME_FOR_SWLIB=default_loc

REF_GI_CREDENTIALS=SIHA:SYSMAN

WORKING_DIRECTORY=/u02/Fleet_tmp

VERSION_NAME=12102180116


[oracle@reftarget bin]$./emctl config agent listtargets


2] Create Gold Image:

Use emcli to create software images and monitor execution status.

[oracle@omshost bin]$./emcli db_software_maintenance -createSoftwareImage -input_file="data:/tmp/input_has.txt“


[oracle@omshost bin]$./emcli get_instance_status –exec=E57EC3C10773C54AE053341AF00AF218


3] Subscribe Target:

Subscribe target hosts to the created Gold Images and verify subscriptions.

[oracle@omshost bin]$./emcli db_software_maintenance -subscribeTarget –target_name=has_target –target_type=has –image_id= E57EC3C10773C54AE053341AF00AF218

[oracle@omshost bin]$./emcli db_software_maintenance –getImagesubscriptions –image_id= E57EC3C10773C54AE053341AF00AF218


4] Deploy Target:

Deploy software to new Oracle Homes using predefined input files.


[oracle@omshost bin]$vi /tmp/input_deploy_has.txt

NEW_ORACLE_HOME_LIST=/u02/app/12.1.0.2/grid_1

workingDir=/u02/fleet_tmp


[oracle@omshost bin]$./emcli db_software_maintenance -performOperation -name=deploy_has -purpose=DEPLOY_SIHA_SOFTWARE -target_type=has -target_list=has_target -normal_credential=GRID_target:9903785 -previlage_credential=ROOT_target:9903785 -input_file=“data:/tmp/input_deploy_has.txt”


[oracle@omshost bin]$./emcli get db_software_maintanence -get_images


5] Update HAS Target:

-During update, targets are placed in blackout mode.

-CRS configuration files are backed up, configuration files are copied to the new home.

-oratab entries are updated.

-Blackout is removed.


[oracle@omshost bin]$vi /tmp/input_update_has.txt

    NEW_ORACLE_HOME_LIST=/u02/app/12.1.0.2/grid_1

    workingDir=/u02/fleet_tmp


[oracle@omshost bin]$./emcli db_software_maintenance -performOperation -name=update_has -purpose=UPDATE_SIHA -target_type=has -target_list=has_target -normal_credintial=GRID_target:9903785 -privilage_credintial=ROOT_target:9903785


6] Rollback HAS:

-Targets are placed in blackout mode.

-oratab entries are updated.

-Blackout is removed.


[oracle@omshost bin]$emcli db_software_maintenance -performOperation -name=Rollback_has -purpose=ROLLBACK_SIHA -target_type=has  -target_list= has_target -normal_credential=GRID_target:9903785 -privilege_credential=ROOT_target:9903785


7] Cleanup HAS Software:

Clean up old HAS software using emcli cleanup operations.


[oracle@omshost bin]$./emcli db_software_maintenance -performOperation -name=cleanup_has -purpose=CLEANUP_SOFTWARE —target_list=has_target —target_type=has —normal_credential=GRID_target:9903785 —privilege_credential=ROOT_target:9903785 —workDir=/u02/Fleet_tmp


Database Patching:


1] Create Database input file:

[oracle@omshost bin]$ cat /tmp/input_db.txt

IMAGE_NAME=12.1.0.2 Oracle Database

IMAGE_DESCRIPTION=Gold Image for 12102 Database Homes

REF_TARGET_NAME=ORACLE_RDBMS_DBHOME_1_12102_2_reftarget.demo.com_1017

IMAGE_SWLIB_LOC=default_loc/12.1.0.2.0/linux_x86_64

STORAGE_TYPE_FOR_SWLIB=OmsShared

STORAGE_NAME_FOR_SWLIB=default_loc

REF_GI_CREDENTIALS=GRID_SIHA:9903785

WORKING_DIRECTORY=/u02/fleet_tmp

VERSION_NAME=12102180116


[oracle@reftarget bin]$./emctl config agent listtargets


2] Create Gold Image:

[oracle@omshost bin]$./emcli login –username=SYSMAN

[oracle@omshost bin]$./emcli db_software_maintenance -createSoftwareImage -input_file="data:/tmp/input_db.txt“


[oracle@omshost bin]$./emcli get_instance_status –exec =E58081D29E4298F8E053341AF00A7F3B


3] Subscribe Target:

[oracle@omshost bin]$./emcli db_software_maintenance -subscribeTarget –target_name=dbname_hostname –target_type=oracle_database –image_id= E58081D29E4298F8E053341AF00A7F3B


[oracle@omshost bin]$./emcli db_software_maintenance –getImagesubscriptions –image_id=E58081D29E4298F8E053341AF00A7F3B


4] Deploy Software:

[oracle@omshost bin]$vi /tmp/input_deploy_db.txt

NEW_ORACLE_HOME_LIST=/u02/app/oracle/product/12.1.0.2/db_REC_1

workingDir=/u02/fleet_tmp


[oracle@omshost bin]$./emcli db_software_maintenance -performOperation -name=deploy_database -purpose=DEPLOY_DB_SOFTWARE -target_type=oracle_database -target_list=dbname_hostname -normal_credential=ORACLE_target:9903785 -previlage_credential=ROOT_target:9903785 -input_file=“data:/tmp/input_deploy_db.txt”


[oracle@omshost bin]$./emcli get_instance_status –exec= E58081D29E4298F8E053341AF00A7F3B –details -xml


5] Update DB home:

-During updates and rollbacks, targets are placed in blackout mode.

-Configuration files are copied.

-oratab entries updated, and databases restarted.


[oracle@omshost bin]$./emcli db_software_maintenance -performOperation -name=update_db -purpose=UPDATE_DB -target_type=oracle_database -target_list=dbname_hostname_target -normal_credential=ORACLE_target:9903785 -privilage_credential=ROOT_target:9903785 database_credential=SYS_TARGET:9903785


6] Rollback DB home:

[oracle@omshost bin]$./emcli db_software_maintenance -performOperation -name=rollback_dbsoft -purpose=ROLLBACK_DB -target_type=oracle_database -target_list=dbname_target -normal_credential=ORACLE_target:9903785 -privilage_credential=ROOT_target:9903785 database_credential=SYS_TARGET:9903785


7] Clean up old DB software:

[oracle@omshost bin]$./emcli db_software_maintenance -performOperation -name=cleanup_dbsoft -purpose=CLEANUP_SOFTWARE -target_type=oracle_database —target_list=dbname_target —normal_credential=ORACLE_target:9903785 —privilege_credential=ROOT_target:9903785 —workDir=/u02/Fleet_tmp


HAS and database patch level on the target server after update:

Both HAS and Database homes patch level is July 2018 after successful updates.


Results:

[grid@target OPatch]$./opatch lsinventory|grep -i applied

patch 27762277    :applied on Wed Aug 10 17:29:10 GMT 2018

patch 27762253    :applied on Wed Aug 10 17:26:59 GMT 2018

patch 27547374    :applied on Wed Aug 10 17:23:38 GMT 2018

patch 26983807    :applied on Wed Aug 10 17:35:19 GMT 2018


[grid@target OPatch]$./opatch lspatches

27762277; ACFS PATCH SET UPDATE 12.1.0.2.180717 (27762277)

27762253; OCW PATCH SET UPDATE 12.1.0.2.180717 (27762253)

27547374; Database Bundle Patch : 12.1.0.2.180717(27547374)

26983807; WLM Patch Set Update: 12.1.0.2.180116(26983807)


Lessons Learned:

  • During Grid patching, an OMS bug was encountered where sudo from root to grid was not working. 
  • Oracle Support recommended updating OMS RU from 15 to 17; 
  • During DB home patching, a known datapatch bug from the 2018 PSU was encountered and resolved using an Oracle Support workaround.


Challenges:

  • Oracle indicated that additional space requirements could be more than twice the size of the Gold Image. 
  • All required credentials must be in place before starting patching activiti

Community Discussion

Post a thought as Guest
Be the first to share your thoughts on this technical deep dive.

Read Next

More articles you might find interesting