Oracle DBMS_GSM_FIX
Version 26ai

General Information
Library Note Morgan's Library Page Header
The best Oracle News for FY2026

Oracle Database 26ai will be available on generic Linux platforms in January and soon on AIX and Windows
Purpose Global Service Manager Validation Utilities. The package header refers to it as "DBMS package for GWM fixed operations"
AUTHID DEFINER
Constants
Name Data Type Value
 Length Constants
max_dbun_len NUMBER 30
max_dbuns_len NUMBER (30+1)*30
max_pdb_len NUMBER 30
max_conn_desc_len NUMBER 4096
max_username_len NUMBER 128
max_pwd_len NUMBER 128
max_dbid_len NUMBER 128
max_file_len NUMBER 4096
max_cmd_len NUMBER 4096
max_enc_alg_len NUMBER 64
max_tags_len NUMBER 4096
Dependencies
DBMS_SYS_ERROR    
Documented Yes. Not in the TYPES and PACKAGES reference but rather in the ADMINISTRATOR'S GUIDE
Exceptions
Error Code Reason
ORA-03770 Incorrect shard is given for replace
ORA-03876 error 28759 when attempting to generate a temporary key to add new shards
First Available 12.2
Pragmas PRAGMA SUPPLEMENTAL_LOG_DATA(default, UNSUPPORTED)
Security Model Owned by SYS with EXECUTE granted to GSMCATUSER and SYSDG and to the  DBA, GSMUSER_ROLE roles.
Source {ORACLE_HOME}/rdbms/admin/dbmsgwmfx.sql
Subprograms
 
CONFIGREDOXPT (new 23ai)
Undocumented dbms_gsm_fix.configRedoXPT(
pmy_dbun      IN  VARCHAR2,
pmy_conn_desc IN  VARCHAR2,
ra_conn_desc  IN  VARCHAR2,
status        OUT BINARY_INTEGER;
TBD
 
CONFIGRMAN (new 23ai overload)
Undocumented: overload for 21c without encryption algorithm

Overload 1
dbms_gsm_fix.configRMAN(
db_registered  IN  BOOLEAN,
retention      IN  BINARY_INTEGER,
pdb            IN  VARCHAR2,
device_config  IN  VARCHAR2,
channel_config IN  VARCHAR2,
sdb_cat_dbid   IN  VARCHAR2,
cookie         OUT BINARY_INTEGER);
TBD
Undocumented: overload for 23ai accepts an encryption algorithm

Overload 2
dbms_gsm_fix.configRMAN(
db_registered  IN  BOOLEAN,
retention      IN  BINARY_INTEGER,
pdb            IN  VARCHAR2,
device_config  IN  VARCHAR2,
channel_config IN  VARCHAR2,
enc_algorithm  IN  VARCHAR2,
sdb_cat_dbid   IN  VARCHAR2,
cookie         OUT BINARY_INTEGER);
TBD
 
CONFIGRMANFORRA (new 23ai)
Configure RMAN for ZDLRA Recovery Appliance dbms_gsm_fix.configRMANforRA(
ra_lib_dir   IN  VARCHAR2,
ra_conn_desc IN  VARCHAR2,
pdb          IN  VARCHAR2,
sdb_cat_dbid IN  VARCHAR2,
cookie       OUT BINARY_INTEGER);
TBD
 
CROSSVALIDATEDATABASE
Validate that database being replaced is the correct one by comparing input parameters with parameters for this database dbms_gsm_fix.crossValidateDatabase(
minobj_num IN NUMBER,
maxobj_num IN NUMBER,
dbid       IN NUMBER);
exec dbms_gsm_fix.crossValidateDatabase(100, 200, 1262297360);
     *
ORA-03770: incorrect shard is given for replace:
 
DELETEBACKUPS
Undocumented dbms_gsm_fix.deleteBackups(
db_unique_name IN  VARCHAR2,
pdb            IN  VARCHAR2,
tags           IN  VARCHAR2,
obsolete       IN  BINARY_INTEGER,
sdb_cat_dbid   IN  VARCHAR2,
cookie         OUT BINARY_INTEGER);
TBD
 
EXECRMANCMD (new 23ai)
Execute the provided RMAN command on the target database CDB or PDB dbms_gsm_fix.execRMANCmd(
db_unique_name IN  VARCHAR2,
pdb            IN  VARCHAR2,
cmd            IN  VARCHAR2,
syntaxCheck    IN  BINARY_INTEGER,
runfromcdb     IN  BINARY_INTEGER,
userid         IN  VARCHAR2,
password       IN  VARCHAR2,
sdb_cat_dbid   IN  VARCHAR2,
cookie         OUT BINARY_INTEGER);
TBD
 
GETDBVERSION
Returns the version of the current cloud database dbms_gsm_fix.getDBversion RETURN NUMBER;
SELECT dbms_gsm_fix.getDBversion;

GETDBVERSION
------------
           8
 
GETRMANEXITVALUE
Undocumented dbms_gsm_fix.getRMANExitValue(cookie IN BINARY_INTEGER) RETURN BINARY_INTEGER;
SELECT dbms_gsm_fix.getRMANExitValue(1);
       *
ORA-60402: Failed to read RMAN output from scheduler backup job. Log file: cookie=1
 
IS_AUTONOMOUS (new 23ai)
Returns TRUE if the database is an Autonomous OCI Database dbms_gsm_fix.is_autonomous RETURN BOOLEAN;
BEGIN
  IF dbms_gsm_fix.is_autonomous THEN
    dbms_output.put_line('T');
  ELSE
    dbms_output.put_line('F');
  END IF;
END;
/
F

PL/SQL procedure successfully completed.
 
LISTBACKUPS
Undocumented dbms_gsm_fix.listBackups(
db_unique_name IN  VARCHAR2,
pdb            IN  VARCHAR2,
scn            IN  BINARY_INTEGER,
controlfile    IN  BINARY_INTEGER,
summary        IN  BINARY_INTEGER,
sdb_cat_dbid   IN  VARCHAR2,
cookie         OUT BINARY_INTEGER);
TBD
 
PUTGSMUSER
Undocumented dbms_gsm_fix.putGSMUser(nc_pwd IN RAW);
TBD
 
READRMANOUTPUT (new 23ai overload)
Undocumented

Overload 1
dbms_gsm_fix.readRMANOutput(cookie IN BINARY_INTEGER) RETURN VARCHAR2;
SELECT dbms_gsm_fix.readRMANOutput(1);
Overload 2 dbms_gsm_fix.readRMANOutput(
file         IN     VARCHAR2,
deleteoption IN     BINARY_INTEGER,
out          IN OUT CLOB);
TBD
 
REMOVESECFROMBAKWALLET (new 23ai)
Called when removing the backup configuration from a shard or SDB catalog dbms_gsm_fix.removeSecFromBakWallet(
pdb             IN  VARCHAR2,
db_unique_names IN  VARCHAR2,
sdb_at_dbid     IN  VARCHAR2,
status          OUT BINARY_INTEGER;
TBD
 
RESTOREBACKUPS (new 23ai overload)
Undocumented

Overload 1
dbms_gsm_fix.restoreBackups(
db_unique_name IN  VARCHAR2,
pdb            IN  VARCHAR2,
scn            IN  BINARY_INTEGER,
controlfile    IN  BINARY_INTEGER,
sdb_cat_dbid   IN  VARCHAR2,
cookie         OUT BINARY_INTEGER);
TBD
Overload 2 dbms_gsm_fix.restoreBackups(
db_unique_name IN  VARCHAR2,
pdb            IN  VARCHAR2,
scn            IN  BINARY_INTEGER,
controlfile    IN  BINARY_INTEGER,
restore_only   IN  BINARY_INTEGER,
recover_only   IN  BINARY_INTEGER,

sdb_cat_dbid   IN  VARCHAR2,
cookie         OUT BINARY_INTEGER);
TBD
 
SAVEMKEY
Undocumented dbms_gsm_fix.saveMKey(
mkey   IN RAW,
pdb_id IN BINARY_INTEGER DEFAULT 0);
TBD
 
SENDTMPKEY
Undocumented dbms_gsm_fix.sendTmpKey;
SELECT dbms_gsm_fix.sendtmpkey;
       *
ORA-03876: error 28759 when attempting to generate a temporary key to add new shards
 
SENDTMPKEYTOPRIM
Tells the standby to generate a temp key and send the key to its primary dbms_gsm_fix.setTmpKeyToPrim(
skey     IN  RAW,
skey_len IN  BINARY_INTEGER,
tkey     OUT RAW,
tkey_len OUT BINARY_INTEGER);
TBD
 
SETDGPROPERTY
Set Data Guard property in response to AQ41 or AQ42 dbms_gsm_fix.setDGProperty(
params     IN  VARCHAR2, - AQ param passed from dbms_gsm_pooladmin.setDGProperty
err_num    OUT NUMBER,
err_string OUT VARCHAR2);
TBD
 
SHSUPENC (new 23ai)
Shard encryption support dbms_gsm_fix.shSupEnc(sup_enc OUT BINARY_INTEGER);
TBD
 
UPDATEWALLETFORBACKUP (new 23ai overload)
Undocumented

Overload 1
dbms_gsm_fix.updateWalletForBackup(
rc_conn_desc IN  VARCHAR2,
rc_user      IN  VARCHAR2,
rc_pwd       IN  VARCHAR2,
db_conn_desc IN  VARCHAR2,
db_user      IN  VARCHAR2,
db_pwd       IN  VARCHAR2,
bak_tgt      IN  BINARY_INTEGER,
pdb          IN  VARCHAR2,
sdb_cat_dbid IN  VARCHAR2,
status       OUT BINARY_INTEGER);
TBD
Adds login credentials to te sharding backup wallet at the connected database level (cdb or pdb). The credentials are used by RMAN to connect to the shard PDBS as the target

Overload 2
dbms_gsm_fix.updateWalletForBackup(
db_unique_name IN  VARCHAR2,
pdb            IN  VARCHAR2,
db_conn_desc   IN  VARCHAR2,
db_user        IN  VARCHAR2,
db_pwd         IN  VARCHAR2,
sdb_cat_dbid   IN  VARCHAR2,
status         OUT BINARY_INTEGER);
TBD
 
UPDATEWALLETFORRA (new 23ai)
Update the wallet for ZDLRA Recovery Appliance dbms_gsm_fix.updateWalletForRA(
ra_conn_desc IN  VARCHAR2,
ra_vpc_user  IN  VARCHAR2,
ra_vpc_pwd   IN  VARCHAR2,
wallet_path  IN  VARCHAR2,
pdb          IN  VARCHAR2,
sdb_cat_dbid IN  VARCHAR2,
status       OUT BINARY_INTEGER);
TBD
 
VALIDATEBACKUPS
Undocumented dbms_gsm_fix.validateBackups(
db_unique_name IN  VARCHAR2,
pdb            IN  VARCHAR2,
scn            IN  BINARY_INTEGER,
controlfile    IN  BINARY_INTEGER,
header         IN  BINARY_INTEGER,
sdb_cat_dbid   IN  VARCHAR2,
cookie         OUT BINARY_INTEGER);
TBD
 
VALIDATECDB
Validates parameters on CDB to-be-added to configuration by user dbms_gsm_fix.validateCDB(reptype IN VARCHAR2 DEFAULT 'DG');
exec dbms_gsm_fix.validateCDB('DG');
INFO: Data Guard shard validation requested.
...
INFO: DATA_PUMP_DIR is '/u01/app/oracle/product/23.0.0.0/dbhome_1/rdbms/log/'

PL/SQL procedure successfully completed.
 
VALIDATEDATABASE (new overload 3)
Validate database existence and return local DB info

Overload 1
dbms_gsm_fix.validateDatabase(
dbpool         IN  VARCHAR2,
db_unique_name OUT VARCHAR2,
instances      OUT NUMBER,
cloud_name     IN  VARCHAR2 DEFAULT NULL);
TBD
Overload 2 dbms_gsm_fix.validateDatabase(
dbpool            IN  VARCHAR2,
db_unique_name    OUT VARCHAR2,
instances         OUT NUMBER,
cloud_name        IN  VARCHAR2 DEFAULT NULL,
hostname          OUT VARCHAR2,
agent_port        OUT NUMBER,
db_sid            OUT VARCHAR2,
oracle_home       OUT VARCHAR2,
html_port         IN  NUMBER   DEFAULT NULL,
registration_pass IN  VARCHAR2 DEFAULT NULL,
cat_host          IN  VARCHAR2 DEFAULT NULL,
dbid              OUT NUMBER,
conversion_status OUT VARCHAR2,
gg_service        IN  VARCHAR2 DEFAULT NULL,
charset           IN  VARCHAR2 DEFAULT NULL,
ncharset          IN  VARCHAR2 DEFAULT NULL
);
TBD
Overload 3 dbms_gsm_fix.validateDatabase(
dbpool            IN  VARCHAR2,
db_unique_name    OUT VARCHAR2,
instances         OUT NUMBER,
cloud_name        IN  VARCHAR2 DEFAULT NULL,
hostname          OUT VARCHAR2,
agent_port        OUT NUMBER,
db_sid            OUT VARCHAR2,
oracle_home       OUT VARCHAR2,
html_port         IN  NUMBER   DEFAULT NULL,
registration_pass IN  VARCHAR2 DEFAULT NULL,
cat_host          IN  VARCHAR2 DEFAULT NULL,
dbid              OUT NUMBER,
conversion_status OUT VARCHAR2,
gg_service        IN  VARCHAR2 DEFAULT NULL,
charset           IN  VARCHAR2 DEFAULT NULL,
ncharset          IN  VARCHAR2 DEFAULT NULL,
is_cdb            IN  NUMBER   DEFAULT NULL,
pdb_name          OUT VARCHAR2,
pdb_id            OUT NUMBER,
is_replace        IN  NUMBER   DEFAULT_NULL,
sharding_type     IN  NUMBER   DEFAULT NULL,
ignore_existing   IN  NUMBER   DEFAULT NULL);
TBD
 
VALIDATESHARD (new 23ai parameter)
Validate parameters on database to-be-added to configuration by user.

Note the warnings and errors. They are not just about sharding. They are a good idea in all cases.
dbms_gsm_fix.validateShard(
reptype IN VARCHAR2 DEFAULT 'DG',
is_cdb  IN BOOLEAN  DEFAULT FALSE);
exec dbms_gsm_fix.validateShard('OGG');

INFO: Golden Gate shard validation requested.
INFO: Database role is PRIMARY.
INFO: Database name is ASRA23AI.
INFO: Database unique name is ASRA23ai_grd_iad.
INFO: Database ID is 3092983078
INFO: Database open mode is READ WRITE.
WARNING: Database not in archivelog mode.
WARNING: Flashback is off.
WARNING: Force logging is off.
INFO: Database platform is Linux x86 64-bit.
INFO: Database character set is AL32UTF8. This value must match the character set of the catalog database.
INFO: 'compatible' initialization parameter validated successfully.
INFO: Database is a multitenant container database.
INFO: Current container is CDB$ROOT.
INFO: Database is using a server parameter file (spfile).
ERROR: db_create_file_dest is not set.
WARNING: db_recovery_file_dest is not set.
INFO: db_files=200. Must be greater than the number of chunks and/or tablespaces to be created in the shard.
INFO: remote_login_passwordfile set to EXCLUSIVE.
WARNING: db_file_name_convert is not set.
WARNING: standby_file_management is not set to AUTO.

ERROR: GSMUSER account status is invalid: LOCKED
ERROR: GSMADMIN_INTERNAL does not have READ privilege on DATA_PUMP_DIR.
ERROR: GSMADMIN_INTERNAL does not have WRITE privilege on DATA_PUMP_DIR.

INFO: DATA_PUMP_DIR is /u01/app/oracle/product/23.0.0.0/dbhome_1/rdbms/log/'.


PL/SQL procedure successfully completed.

Related Topics
Built-in Functions
Built-in Packages
DBMS_GSM_ALERTS
DBMS_GSM_CLOUDADMIN
DBMS_GSM_COMMON
DBMS_GSM_DBADMIN
DBMS_GSM_FIXED
DBMS_GSM_NOPRIV
DBMS_GSM_POOLADMIN
DBMS_GSM_UTILITY
DBMS_GSM_XDB
EXCHANGE
What's New In 21c
What's New In 26ai

Morgan's Library Page Footer
This site is maintained by Daniel Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2026 Daniel A. Morgan All Rights Reserved