GSM Out-of-Place Update Examples

This example shows the steps required to apply the 19.18 Database Release Update (DBRU) to a 19.3 Oracle environment.

The following assumptions are made:

  • 19.18.0.0.0 DBRU on GDS catalog, two GSMs and two Pool Databases
  • A 19.3.0.0.0 GDS Catalog database exists on Host A
  • Two 19.3.0.0.0 GSMs (GSM1 and GSM2) exist on Host B. GSM1 is installed in ORACLE_HOME1 and GSM2 is installed in ORACLE_HOME2
  • A pair of 19.3.0.0.0 Oracle pool databases exist on Host C and Host D respectively.
  1. Stop the GDS catalog database and apply 19.18.0.0.0DBRU then start the GDS catalog database.

    $ORACLE_HOME/OPatch/opatch lspatches
    34765931;DATABASE RELEASE UPDATE : 19.18.0.0.230117 (REL-JAN230131) (34765931)
    29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
    
    OPatch succeeded.
    SQL> select PATCH_ID, PATCH_UID, INSTALL_ID, STATUS, ACTION, DESCRIPTION from DBA_REGISTRY_SQLPATCH;
    
      PATCH_ID  PATCH_UID INSTALL_ID STATUS                    ACTION
    ---------- ---------- ---------- ------------------------- ---------------
    DESCRIPTION
    --------------------------------------------------------------------------------
      29517242   22862832          1 SUCCESS                   APPLY
    Database Release Update : 19.3.0.0.190416 (29517242)
    
      34765931   25098466          2 SUCCESS                   APPLY
    DATABASE RELEASE UPDATE : 19.18.0.0.230117 (REL-JAN230131) (34765931)
    
    SQL>
  2. Verify that the GSM setup is working properly before proceeding (now that the GDS catalog is at 19.18 and the GSMs and pool databases are at version 19.3).
  3. Next, stop GSM1, making GSM2 the new master. Apply the 19.18.0.0.0 DBRU on GSM1.

    $ORACLE_HOME1/OPatch/opatch lspatches
    34765931;DATABASE RELEASE UPDATE : 19.18.0.0.230117 (REL-JAN230131) (34765931)
    
    OPatch succeeded.
    GDSCTL> config
    
    Regions
    ------------------------
    east                          
    west                          
    
    GSMs
    ------------------------
    gsm1                          
    gsm2                          
    
    GDS pools
    ------------------------
    sdbpool                       
    
    Databases
    ------------------------
    cloud                         
    clouddb                       
    
    Services
    ------------------------
    srv1                          
    
    GDSCTL pending requests
    ------------------------
    Command                       Object                        Status                        
    -------                       ------                        ------                        
    
    Global properties
    ------------------------
    Name: orasampl
    Master GSM: gsm2
    DDL sequence #: 0
    
    GDSCTL>
  4. Next, start GSM1 and stop GSM2 (making GSM1 the new master) and apply the 19.18.0.0.0 DBRU on GSM2 and then start GSM2.

    $ORACLE_HOME2/OPatch/opatch lspatches
    34765931;DATABASE RELEASE UPDATE : 19.18.0.0.230117 (REL-JAN230131) (34765931)
    
    OPatch succeeded.
    
    GDSCTL> config
    
    Regions
    ------------------------
    east                          
    west                          
    
    GSMs
    ------------------------
    gsm1                          
    gsm2                          
    
    GDS pools
    ------------------------
    sdbpool                       
    
    Databases
    ------------------------
    cloud                         
    clouddb                       
    
    Services
    ------------------------
    srv1                          
    
    GDSCTL pending requests
    ------------------------
    Command                       Object                        Status                        
    -------                       ------                        ------                        
    
    Global properties
    ------------------------
    Name: orasampl
    Master GSM: gsm1
    DDL sequence #: 0
    
    GDSCTL>
  5. Verify that the GSM environment works properly, now that the GDS catalog & GSM versions are at 19.18 and pool database versions are still at 19.3).
  6. Stop the first pool database and apply the 19.18.0.0.0 DBRU. When complete, start the database.

    $ORACLE_HOME/OPatch/opatch lspatches
    34765931;DATABASE RELEASE UPDATE : 19.18.0.0.230117 (REL-JAN230131) (34765931)
    29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
    
    OPatch succeeded.
    
    SQL> select PATCH_ID, PATCH_UID, INSTALL_ID, STATUS, ACTION, DESCRIPTION from DBA_REGISTRY_SQLPATCH;
    
      PATCH_ID  PATCH_UID INSTALL_ID STATUS                    ACTION
    ---------- ---------- ---------- ------------------------- ---------------
    DESCRIPTION
    --------------------------------------------------------------------------------
      29517242   22862832          1 SUCCESS                   APPLY
    Database Release Update : 19.3.0.0.190416 (29517242)
    
      34765931   25098466          2 SUCCESS                   APPLY
    DATABASE RELEASE UPDATE : 19.18.0.0.230117 (REL-JAN230131) (34765931)
    
    SQL>
  7. Stop the second pool database and apply the 19.18.0.0.0 DBRU then restart the database.

    $ORACLE_HOME/OPatch/opatch lspatches
    34765931;DATABASE RELEASE UPDATE : 19.18.0.0.230117 (REL-JAN230131) (34765931)
    29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
    
    OPatch succeeded.
    
    SQL> select PATCH_ID, PATCH_UID, INSTALL_ID, STATUS, ACTION, DESCRIPTION from DBA_REGISTRY_SQLPATCH;
    
      PATCH_ID  PATCH_UID INSTALL_ID STATUS                    ACTION
    ---------- ---------- ---------- ------------------------- ---------------
    DESCRIPTION
    --------------------------------------------------------------------------------
      29517242   22862832          1 SUCCESS                   APPLY
    Database Release Update : 19.3.0.0.190416 (29517242)
    
      34765931   25098466          2 SUCCESS                   APPLY
    DATABASE RELEASE UPDATE : 19.18.0.0.230117 (REL-JAN230131) (34765931)
    
    SQL>
  8. Verify that the GSM setup works correctly now that the GDS catalog, GSMs & pool database versions are at 19.18.0.0.0

    GDSCTL> config
    
    Regions
    ------------------------
    east                          
    west                          
    
    GSMs
    ------------------------
    gsm1                          
    gsm2                          
    
    GDS pools
    ------------------------
    sdbpool                       
    
    Databases
    ------------------------
    cloud                         
    clouddb                       
    
    Services
    ------------------------
    srv1                          
    
    GDSCTL pending requests
    ------------------------
    Command                       Object                        Status                        
    -------                       ------                        ------                        
    
    Global properties
    ------------------------
    Name: orasampl
    Master GSM: gsm1
    DDL sequence #: 0
    
    GDSCTL> 
    
    GDSCTL> databases;
    Database: "cloud" Registered: Y State: Ok ONS: N. Role: PRIMARY Instances: 1 Region: east
       Service: "srv1" Globally started: Y Started: Y
                Scan: N Enabled: Y Preferred: Y
       Registered instances:
         sdbpool%1
    Database: "clouddb" Registered: Y State: Ok ONS: N. Role: PRIMARY Instances: 1 Region: west
       Service: "srv1" Globally started: Y Started: N
                Scan: N Enabled: Y Preferred: N
       Registered instances:
         sdbpool%11
    
    GDSCTL> 
    
    GDSCTL> status database;
    Database: "cloud" Registered: Y State: Ok ONS: N. Role: PRIMARY Instances: 1 Region: east
       Service: "srv1" Globally started: Y Started: Y
                Scan: N Enabled: Y Preferred: Y
       Registered instances:
         sdbpool%1
    Database: "clouddb" Registered: Y State: Ok ONS: N. Role: PRIMARY Instances: 1 Region: west
       Service: "srv1" Globally started: Y Started: N
                Scan: N Enabled: Y Preferred: N
       Registered instances:
         sdbpool%11
    
    GDSCTL> 
    
    GDSCTL> status service;
    Service "srv1.sdbpool.orasampl" has 1 instance(s). Affinity: ANYWHERE
       Instance "sdbpool%1", name: "cloud", db: "cloud", region: "east", status: ready.
    
    GDSCTL>

Parent topic: GDS Patching and Upgrading

[]()

GSM_HOME to 19.18.0.0.0 DBRU, Move Existing GSM to New Home on Same Host

  1. Install 19.3.0.0.0 GSM (GSM3) in ORACLE_HOME3 and apply 19.18.0.0.0 DBRU.

    $ORACLE_HOME3/OPatch/opatch lspatches
    34765931;DATABASE RELEASE UPDATE : 19.18.0.0.230117 (REL-JAN230131) (34765931)
    
    OPatch succeeded.
  2. Copy gsm.ora, tnsnames.ora and the gsmwallet directory from the old $TNS_ADMIN folder to the new one.
  3. Stop GSM1 from the old GSM1 home.

    GDSCTL> stop gsm -gsm gsm1;
    GSM is stopped successfully
    GDSCTL>
  4. Change the WALLET_LOCATION directory to point the new GSM_HOME under gsm.ora.
  5. Start GSM3 from new GSM3 home

    GDSCTL> start gsm -gsm gsm1;
    GSM is started successfully
    GDSCTL>
  6. Execute modify gsm -gsm from the new home.

    GDSCTL> modify gsm -gsm gsm1
    GSM modified
    GDSCTL>
  7. Install 19.3.0.0.0 GSM4 on ORACLE_HOME4 and apply 19.18.0.0.0 DBRU.

    $ORACLE_HOME4/OPatch/opatch lspatches
    34765931;DATABASE RELEASE UPDATE : 19.18.0.0.230117 (REL-JAN230131) (34765931)
    OPatch succeeded.
  8. Copy gsm.ora, tnsnames.ora and the gsmwallet directory from the old $TNS_ADMIN folder to new one.
  9. Stop GSM2 from the old GSM2 home.

    GDSCTL> stop gsm -gsm gsm2;
    GSM is stopped successfully
    GDSCTL>
  10. Change the WALLET_LOCATION directory to point to the new GSM_HOME under gsm.ora.
  11. Start GSM4 from the new GSM4 home.

    GDSCTL> start gsm -gsm gsm2;
    GSM is started successfully
    GDSCTL>
  12. Execute modify gsm -gsm from the new home.

    GDSCTL> modify gsm -gsm gsm2
    GSM modified
    GDSCTL>
  13. Verify the new GSM environment.

    GDSCTL> config
    
    Regions
    ------------------------
    east                          
    west                          
    
    GSMs
    ------------------------
    gsm1                          
    gsm2                          
    
    GDS pools
    ------------------------
    sdbpool                       
    
    Databases
    ------------------------
    cloud                         
    clouddb                       
    
    Services
    ------------------------
    srv1                          
    
    GDSCTL pending requests
    ------------------------
    Command                       Object                        Status                        
    -------                       ------                        ------                        
    
    Global properties
    ------------------------
    Name: orasubbu
    Master GSM: gsm1
    DDL sequence #: 0
    
    GDSCTL> 
    
    GDSCTL> databases;
    Database: "cloud" Registered: Y State: Ok ONS: N. Role: PRIMARY Instances: 1 Region: east
       Service: "srv1" Globally started: Y Started: Y
                Scan: N Enabled: Y Preferred: Y
       Registered instances:
         sdbpool%1
    Database: "clouddb" Registered: Y State: Ok ONS: N. Role: PRIMARY Instances: 1 Region: west
       Service: "srv1" Globally started: Y Started: N
                Scan: N Enabled: Y Preferred: N
       Registered instances:
         sdbpool%11
    
    GDSCTL>
    
    GDSCTL> status database;
    Database: "cloud" Registered: Y State: Ok ONS: N. Role: PRIMARY Instances: 1 Region: east
       Service: "srv1" Globally started: Y Started: Y
                Scan: N Enabled: Y Preferred: Y
       Registered instances:
         sdbpool%1
    Database: "clouddb" Registered: Y State: Ok ONS: N. Role: PRIMARY Instances: 1 Region: west
       Service: "srv1" Globally started: Y Started: N
                Scan: N Enabled: Y Preferred: N
       Registered instances:
         sdbpool%11
    
    GDSCTL> 
    
    GDSCTL> status service;
    Service "srv1.sdbpool.orasubbu" has 1 instance(s). Affinity: ANYWHERE
       Instance "sdbpool%1", name: "cloud", db: "cloud", region: "east", status: ready.
    
    GDSCTL>

[]()

GSM_HOME to 19.18.0.0.0 DBRU on a Different Host

  1. Install 19.3.0.0.0 GSM1 on ORACLE_HOME1 and apply 19.18.0.0.0 DBRU.

    $ORACLE_HOME1/OPatch/opatch lspatches
    34765931;DATABASE RELEASE UPDATE : 19.18.0.0.230117 (REL-JAN230131) (34765931)
    
    OPatch succeeded.
  2. Copy gsm.ora, tnsnames.ora and the gsmwallet directory from source host to target host ($GSM_HOME/network/admin).
  3. Stop GSM1 on the source host.
  4. Modify the gsm.ora file with target host and target host wallet directory and modify the target host in the tnsnames.ora file for the GSM1 entry.
  5. Modify the GSM with endpoint entry and verify that config gsm points to the correct target host details. For example:

    GDSCTL> modify gsm -gsm gsm1 -endpoint (ADDRESS=(HOST=myhost.example.com)(PORT=1587)(PROTOCOL=tcp))
    GSM modified
    GDSCTL> 
    
    GDSCTL> config gsm
    Name      Region    ENDPOINT                                                    
    ----      ------    --------                                                    
    gsm1      east      (address=(host=myhost.example.com)(port=1587)(protocol=tcp))                       
    gsm2      west      (ADDRESS=(HOST=myhost.example.com)(PORT=1787)(PROTOCOL=tcp))                       
    
    GDSCTL>
  6. Start GSM1 from the new GSM1 home.

    GDSCTL> start gsm -gsm gsm1;
    GSM is started successfully
    GDSCTL>
  7. Execute the modify gsm -gsm -pwd command like the example below:

    GDSCTL> modify gsm -gsm gsm1 -pwd 
    GSM modified
    GDSCTL\>

Perform the following steps on GSM2.

  1. Install 19.3.0.0.0 GSM2 on ORACLE_HOME2 and apply the
    19.18.0.0.0
    DBRU.

    /$ORACLE_HOME2/OPatch/opatch lspatches
    34765931;DATABASE RELEASE UPDATE : 19.18.0.0.230117 (REL-JAN230131) (34765931)
    
    OPatch succeeded.
  2. Copy gsm.ora, tnsnames.ora and
    the gsmwalletdirectory from the source host to the target
    host ($GSM_HOME/network/admin).
  3. Stop GSM2 on the source host.
  4. Modify the gsm.ora file with target host and target host wallet directory and modify the target host in tnsnames.ora file for the GSM2 entry.
  5. Modify the GSM configuration with the endpoint entry and verify using config gsm that it contais the correct target host details.

    GDSCTL> modify gsm -gsm gsm2 -endpoint (ADDRESS=(HOST=myhost.example.com)(PORT=1787)(PROTOCOL=tcp))
    GSM modified
    GDSCTL> 
    
    GDSCTL> config gsm
    Name      Region    ENDPOINT                                                    
    ----      ------    --------                                                    
    gsm1      east      (address=(host=myhost.example.com)(port=1587)(protocol=tcp))                       
    gsm2      west      (address=(host=myhost.example.com)(port=1787)(protocol=tcp))                       
    
    GDSCTL>
  6. Start GSM2 on the target host.

    GDSCTL> start gsm -gsm gsm2;
    
    GSM is started successfully
    
    GDSCTL>
  7. Execute the modify gsm -gsm -pwd command:

    GDSCTL> modify gsm -gsm gsm2 -pwd 
    GSM modified
    GDSCTL\>
  8. Verify the new GSM environment.

    GDSCTL> config database;
    Name                Pool                Status    State       Region    Availability 
    ----                ----                ------    -----       ------    ------------ 
    cloud               sdbpool             Ok        none        east      ONLINE       
    clouddb             sdbpool             Ok        none        west      ONLINE       
    
    GDSCTL>
    
    GDSCTL> config
    
    Regions
    ------------------------
    east                          
    west                          
    
    GSMs
    ------------------------
    gsm1                          
    gsm2                          
    
    GDS pools
    ------------------------
    sdbpool                       
    
    Databases
    ------------------------
    cloud                         
    clouddb                       
    
    Services
    ------------------------
    srv1                          
    
    GDSCTL pending requests
    ------------------------
    Command                       Object                        Status                        
    -------                       ------                        ------                        
    
    Global properties
    ------------------------
    Name: orasubbu
    Master GSM: gsm1
    DDL sequence #: 0
    
    GDSCTL
    
    GDSCTL> status database;
    Database: "cloud" Registered: Y State: Ok ONS: N. Role: PRIMARY Instances: 1 Region: east
       Service: "srv1" Globally started: Y Started: Y
                Scan: Y Enabled: Y Preferred: Y
       Registered instances:
         sdbpool%1
    Database: "clouddb" Registered: Y State: Ok ONS: N. Role: PRIMARY Instances: 1 Region: west
       Service: "srv1" Globally started: Y Started: N
                Scan: Y Enabled: Y Preferred: N
       Registered instances:
         sdbpool%11
    
    GDSCTL>
    
    GDSCTL> databases;
    Database: "cloud" Registered: Y State: Ok ONS: N. Role: PRIMARY Instances: 1 Region: east
       Service: "srv1" Globally started: Y Started: Y
                Scan: Y Enabled: Y Preferred: Y
       Registered instances:
         sdbpool%1
    Database: "clouddb" Registered: Y State: Ok ONS: N. Role: PRIMARY Instances: 1 Region: west
       Service: "srv1" Globally started: Y Started: N
                Scan: Y Enabled: Y Preferred: N
       Registered instances:
         sdbpool%11
    
    GDSCTL>
    
    GDSCTL> status service;
    Service "srv1.sdbpool.orasubbu" has 1 instance(s). Affinity: ANYWHERE
       Instance "sdbpool%1", name: "cloud", db: "cloud", region: "east", status: ready.
    
    GDSCTL>
    
    GDSCTL> config gsm
    Name      Region    ENDPOINT                                                    
    ----      ------    --------                                                    
    gsm1      east      (address=(host=myhost.example.com)(port=1587)(protocol=tcp))                       
    gsm2      west      (address=(host=myhost.example.com)(port=1787)(protocol=tcp))                       
    
    GDSCTL>