So, you are interested in getting started with Fleet Patching and Provisioning (FPP)? That is excellent news! The good news is that you don’t need to download anything extra as it is part of RAC Grid Infrastructure. In this series, you will see that the commands and naming of components refer to the former name of the product, Rapid Home Provisioning (RHP). I will cover the rhpserver & rhpclient as well as the main command-line interface (rhpctl) later in detail in more detail.

I want to start by tackling some essential concepts and terminology.

Concepts and Terminology

Gold Image :

The source copy of an Oracle Software Home ( Oracle Database, Grid Infrastructure, or Exadata) is stored centrally in read-only format on an ACFS file system on the FPP Server ( see more about this below).

Working Copy :

Once deployed on an FPP Client or one of the FPP target type platforms listed below, the gold image is referred to as a working copy. This could be an actual ORACLE_HOME or GRID_HOME software installation from which your Oracle Database and Grid Installation will run.

FPP Target Types :

FPP Target Types Graphic

In-place patching :

Patching would occur in the same file system as the unpatched system. You will need to stop the databases or Grid Infrastructure before applying the patch. Within the Oracle home, you will need to repeat this for each node in the cluster. This increases the likelihood of errors and downtime. In addition, the rollback phase is often cumbersome if things go wrong.

Out-of-place patching :

When using out-of-place patching, you keep your original database/grid home but add a new patched home. Once complete, you can switch instances or grid nodes to the new home instance by instance. In case of errors, you move back to the old home.

FPP uses out-of-place patching. You deploy a new working copy ( oracle_home) and move the database instances and new grid version to that working copy.

In-place versus out-of-place patching diagram

 

Architecture

The picture hereunder depicts the components of a 19c-21c FPP installation.

FPP Server Architecture Diagram

Let’s go over the components one by one.

RHPSERVER

The RHPSERVER (a.k.a. the “FPP Server”) is the core managing server instance for FPP. It runs in a Java Catalina container and is the orchestrator and coordinator of the tasks invoking external processes and services. By default, the server listens on ports 8894 (HTTPS REST) and 8896 (JMX – RMI).

HELPER

The Helper is a component present on all FPP Servers and FPP Clients. Its job is to execute local tasks as instructed by the RHPSERVER.

Tasks may consist of but are not limited to:

  • Stopping/Starting Databases, Services
  • Getting Databases or Cluster Information
  • Moving Databases to new homes
  • Merging .ora files
  • Patching databases
  • Running SW configuration
  • ….

GNS

The Grid Naming Service (GNS) runs on the FPP Server. It doesn’t need an entire GNS server configuration as the subnet, forwarding, and IP reserved addresses are not required.  It is used to resolve the FPP Servers IP addresses. It uses the UDP 53 port.

ACFS

Gold Images are stored in a read-only fashion in Oracle ASM Cluster File System (ACFS). A mount point (name can be customized) is created for this. Information about the tasks and details to make an FPP process resumable are stored in the GHCKPT directory within ACFS.

MGMTDB

FPP stores its metadata in the MGMTDB, in the GHS19USER schema.

I have now covered most of the conceptual theory, architecture, and terminology around getting started with FPP. In the next part of this series, I will put theory into practice and walk you through how to install the FPP Server (RHPSERVER).

 

Further Reading :

Fleet Patching & Provisioning by Example Intro

Fleet Patching & Provisioning by Example Part 1 : Architecture – Concepts

Fleet Patching & Provisioning by Example Part 2 : FPP Server Installation

Fleet Patching & Provisioning by Example Part 3 : Creating Gold Images

www.oracle.com/goto/FPP