Grid Gold Image Creation and Deployment Guide

OS Environment: Oracle Linux 9.6 (64bit)

DB Environment: Oracle Database 19.28.0.0


Previously, I conducted a test of creating a DB engine as a gold image and cloning it. Reference: Cloning a DB Engine Using Oracle 19c Gold Image ( https://positivemh.tistory.com/1149 )

This article explains how to create and deploy a Grid Gold Image on a server where 19c Grid (Restart) is installed.

What is a Gold Image? Simply put, it’s a copy of the Oracle engine. You can also bundle the Oracle engine path using the tar command to clone or move it elsewhere. It works for a patched engine as well, and if the server OS is the same, it can be moved to another server. By creating a gold image of a clean Oracle installation, it’s suitable for deploying standardized installation images across multiple servers. It’s easy to manage and deploy, but custom settings (such as network/admin/.ora files and dbs/.ora files) or log files are not included, so these parts need to be managed separately. For reference, it is said that the gold images for Restart and RAC must be created separately because the components that make up the engine are different.


Usage

1. Check the existing Grid patch status

$ cd $GRID_HOME/OPatch
$ ./opatch lspatches -oh $GRID_HOME
38124772;TOMCAT RELEASE UPDATE 19.0.0.0.0 (38124772)
37962946;OCW RELEASE UPDATE 19.28.0.0.0 (37962946)
37962938;ACFS RELEASE UPDATE 19.28.0.0.0 (37962938)
37960098;Database Release Update : 19.28.0.0.250715 (37960098)
36758186;DBWLM RELEASE UPDATE 19.0.0.0.0 (36758186)
OPatch succeeded.

It’s version 19.28.

2. Stop all Oracle-related processes

# crsctl stop crs

3. Create Gold Image Create a directory to save the gold image:

$ mkdir -p /home/oracle/19c_img

Create the gold image:

$ cd $GRID_HOME
$ ./gridSetup.sh -createGoldImage \
   -destinationLocation /home/oracle/19c_img \
   -silent \
   -name gi_19_28_restart.zip
 
Successfully Setup Software.
Gold Image location: /home/oracle/19c_img/gi_19_28_restart.zip

Check the created file:

$ ls -al /home/oracle/19c_img/
total 5974040
drwxr-xr-x. 2 oracle oinstall         34 Dec 21 17:02 .
drwx------. 7 oracle oinstall       4096 Dec 21 17:01 ..
-rw-r--r--. 1 oracle oinstall 6117412183 Dec 21 17:02 gi_19_28_restart.zip

It was created normally.

4. Deploy Gold Image Copy the gold image to the new server:

$ cd /home/oracle/19c_img
$ scp gi_19_28_restart.zip 192.168.137.60:/app/media/

Grant permissions for the gold image on the new server:

# chown oracle:dba /app/media/gi_19_28_restart.zip

(Proceed after applying all prerequisites before installing Grid)

Create the engine path and unzip on the new server:

$ mkdir -p $GRID_HOME
$ cd $GRID_HOME
$ unzip -q /app/media/gi_19_28_restart.zip

Run gridSetup in silent mode:

$ cd $GRID_HOME
$ ./gridSetup.sh -silent \
INVENTORY_LOCATION=/app/oraInventory \
SELECTED_LANGUAGES=en \
ORACLE_BASE=/app/oracle \
oracle.install.option=HA_CONFIG \
oracle.install.asm.OSDBA=dba \
oracle.install.asm.OSOPER=dba \
oracle.install.asm.OSASM=dba \
oracle.install.crs.config.autoConfigureClusterNodeVIP=false \
oracle.install.asm.diskGroup.name=DATA \
oracle.install.asm.diskGroup.redundancy=EXTERNAL \
oracle.install.asm.diskGroup.diskDiscoveryString=ORCL:* \
oracle.install.asm.diskGroup.disks=ORCL:DATA \
oracle.install.asm.SYSASMPassword=oracle \
oracle.install.asm.monitorPassword=oracle \
-ignorePrereqFailure
 
#logs
Launching Oracle Grid Infrastructure Setup Wizard...
 
[WARNING] [INS-30011] The SYS password entered does not conform to the Oracle recommended standards.
   CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
   ACTION: Provide a password that conforms to the Oracle recommended standards.
[WARNING] [INS-30011] The ASMSNMP password entered does not conform to the Oracle recommended standards.
   CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
   ACTION: Provide a password that conforms to the Oracle recommended standards.
[WARNING] [INS-41808] Possible invalid choice for OSASM Group.
   CAUSE: The name of the group you selected for the OSASM group is commonly used to grant other system privileges (For example: asmdba, asmoper, dba, oper).
   ACTION: Oracle recommends that you designate asmadmin as the OSASM group.
[WARNING] [INS-41809] Possible invalid choice for OSDBA Group.
   CAUSE: The group name you selected as the OSDBA for ASM group is commonly used for Oracle Database administrator privileges.
   ACTION: Oracle recommends that you designate asmdba as the OSDBA for ASM group, and that the group should not be the same group as an Oracle Database OSDBA group.
[WARNING] [INS-41810] Possible invalid choice for OSOPER Group.
   CAUSE: The group name you selected as the OSOPER for ASM group is commonly used for Oracle Database administrator privileges.
   ACTION: Oracle recommends that you designate asmoper as the OSOPER for ASM group, and that the group should not be the same group as an Oracle Database OSOPER group.
[WARNING] [INS-41813] OSDBA for ASM, OSOPER for ASM, and OSASM are the same OS group.
   CAUSE: The group you selected for granting the OSDBA for ASM group for database access, and the OSOPER for ASM group for startup and shutdown of Oracle ASM, is the same group as the OSASM group, whose members have SYSASM privileges on Oracle ASM.
   ACTION: Choose different groups as the OSASM, OSDBA for ASM, and OSOPER for ASM groups.
[WARNING] [INS-13014] Target environment does not meet some optional requirements.
   CAUSE: Some of the optional prerequisites are not met. See logs for details. gridSetupActions2025-12-21_05-28-32PM.log
   ACTION: Identify the list of failed prerequisite checks from the log: gridSetupActions2025-12-21_05-28-32PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
 /app/grid/product/19c/install/response/grid_2025-12-21_05-28-32PM.rsp
 
You can find the log of this install session at:
 /tmp/GridSetupActions2025-12-21_05-28-32PM/gridSetupActions2025-12-21_05-28-32PM.log
 
 
As a root user, execute the following script(s):
        1. /app/oraInventory/orainstRoot.sh
        2. /app/grid/product/19c/root.sh
 
Execute /app/grid/product/19c/root.sh on the following nodes:
[oel9reco]
 
 
Successfully Setup Software with warning(s).
As install user, execute the following command to complete the configuration.
        /app/grid/product/19c/gridSetup.sh -executeConfigTools -responseFile /app/grid/product/19c/install/response/grid_2025-12-21_05-28-32PM.rsp [-silent]
Note: The required passwords need to be included in the response file.
 
 
Moved the install session logs to:
 /app/oraInventory/logs/GridSetupActions2025-12-21_05-28-32PM

Execute scripts as root user:

# /app/oraInventory/orainstRoot.sh
Changing permissions of /app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
 
Changing groupname of /app/oraInventory to oinstall.
The execution of the script is complete.
 
# /app/grid/product/19c/root.sh
Check /app/grid/product/19c/install/root_oel9reco_2025-12-21_17-34-44-259730534.log for the output of root script

Input password section in the rsp file:

$ vi /app/grid/product/19c/install/response/grid_2025-12-21_05-28-32PM.rsp
..
oracle.install.asm.SYSASMPassword=oracle
..
oracle.install.asm.monitorPassword=oracle

Re-execute gridSetup (use the rsp file generated at the end of the first gridSetup execution):

# su - oracle
$ /app/grid/product/19c/gridSetup.sh -silent -executeConfigTools -responseFile /app/grid/product/19c/install/response/grid_2025-12-21_05-28-32PM.rsp
Launching Oracle Grid Infrastructure Setup Wizard...
 
You can find the logs of this session at:
/app/oraInventory/logs/GridSetupActions2025-12-21_05-38-51PM
 
Successfully Configured Software.

Completed.

5. Check Grid status

$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       oel9reco                 STABLE
ora.LISTENER.lsnr
               ONLINE  OFFLINE      oel9reco                 STABLE
ora.asm
               ONLINE  ONLINE       oel9reco                 Started,STABLE
ora.ons
               OFFLINE OFFLINE      oel9reco                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       oel9reco                 STABLE
ora.diskmon
      1        OFFLINE OFFLINE                               STABLE
ora.evmd
      1        ONLINE  ONLINE       oel9reco                 STABLE
--------------------------------------------------------------------------------

Grid was installed well.

6. Check Grid patch status

$ cd $GRID_HOME/OPatch
$ ./opatch lspatches -oh $GRID_HOME
38124772;TOMCAT RELEASE UPDATE 19.0.0.0.0 (38124772)
37962946;OCW RELEASE UPDATE 19.28.0.0.0 (37962946)
37962938;ACFS RELEASE UPDATE 19.28.0.0.0 (37962938)
37960098;Database Release Update : 19.28.0.0.250715 (37960098)
36758186;DBWLM RELEASE UPDATE 19.0.0.0.0 (36758186)
 
OPatch succeeded.

It was well installed with version 19.28.

Afterward, mount the disk group, then proceed with the procedures such as DB engine installation and DB configuration.

This post is based on my personal experiences and opinions.
It does not represent the official position or views of my current or former employers.
If you have any questions, feel free to leave a comment or send me an email.
Thank you.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *