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.
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>- 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).
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>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>- 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).
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>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>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
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.- Copy
gsm.ora,tnsnames.oraand thegsmwalletdirectory from the old$TNS_ADMINfolder to the new one. Stop GSM1 from the old GSM1 home.
GDSCTL> stop gsm -gsm gsm1; GSM is stopped successfully GDSCTL>- Change the
WALLET_LOCATIONdirectory to point the newGSM_HOMEundergsm.ora. Start GSM3 from new GSM3 home
GDSCTL> start gsm -gsm gsm1; GSM is started successfully GDSCTL>Execute
modify gsm -gsmfrom the new home.GDSCTL> modify gsm -gsm gsm1 GSM modified GDSCTL>Install 19.3.0.0.0 GSM4 on
ORACLE_HOME4and 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.- Copy
gsm.ora,tnsnames.oraand thegsmwalletdirectory from the old$TNS_ADMINfolder to new one. Stop GSM2 from the old GSM2 home.
GDSCTL> stop gsm -gsm gsm2; GSM is stopped successfully GDSCTL>- Change the
WALLET_LOCATIONdirectory to point to the newGSM_HOMEundergsm.ora. Start GSM4 from the new GSM4 home.
GDSCTL> start gsm -gsm gsm2; GSM is started successfully GDSCTL>Execute
modify gsm -gsmfrom the new home.GDSCTL> modify gsm -gsm gsm2 GSM modified GDSCTL>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
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.- Copy
gsm.ora,tnsnames.oraand thegsmwalletdirectory from source host to target host ($GSM_HOME/network/admin). - Stop GSM1 on the source host.
- Modify the
gsm.orafile with target host and target host wallet directory and modify the target host in thetnsnames.orafile for the GSM1 entry. Modify the GSM with endpoint entry and verify that
config gsmpoints 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>Start GSM1 from the new GSM1 home.
GDSCTL> start gsm -gsm gsm1; GSM is started successfully GDSCTL>Execute the
modify gsm -gsm -pwdcommand like the example below:GDSCTL> modify gsm -gsm gsm1 -pwd GSM modified GDSCTL\>
Perform the following steps on GSM2.
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.- Copy
gsm.ora,tnsnames.oraand
thegsmwalletdirectory from the source host to the target
host ($GSM_HOME/network/admin). - Stop GSM2 on the source host.
- Modify the
gsm.orafile with target host and target host wallet directory and modify the target host intnsnames.orafile for the GSM2 entry. Modify the GSM configuration with the endpoint entry and verify using
config gsmthat 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>Start GSM2 on the target host.
GDSCTL> start gsm -gsm gsm2; GSM is started successfully GDSCTL>Execute the
modify gsm -gsm -pwdcommand:GDSCTL> modify gsm -gsm gsm2 -pwd GSM modified GDSCTL\>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>