Oracle DBMS_GSM_UTILITY
Version 12.2.0.1

General Information
Library Note Morgan's Library Page Header
"I spent my entire adult life looking out for the well-being, the training, the equipping of the troops for whom I was responsible. I will not be lectured about what our military needs by a five-deferment draft dodger,"
~ Sen. Tammy Duckworth
Purpose Utilities supporting the Global Services Manager
AUTHID DEFINER
Constants
Name Data Type Value
Catalog Version
catvers_lookup tvers_lookup_t tvers_lookup_t(
tvers_rec('12.1.0.1', 1),
tvers_rec('12.1.0.2', 2),
tvers_rec('12.2.0.0', 3),
tvers_rec('12.2.0.1', 3));
Database Version
dbvers_lookup tvers_lookup_t tvers_lookup_t(
tvers_rec('12.1.0.1', 1),
tvers_rec('12.1.0.2', 2),
tvers_rec('12.2.0.0', 3),
tvers_rec('12.2.0.1', 3));
GDSCTL Version
gdsctlvers_lookup tvers_lookup_t tvers_lookup_t(
tvers_rec('12.1.0.1', 1),
tvers_rec('12.1.0.2', 2),
tvers_rec('12.2.0.0', 3),
tvers_rec('12.2.0.1', 3));
GDSCTL Catalog Version
gdsctl_catalog_lookup vers_lookup_t vers_lookup_t(
vers_lookup_rec( 1, vers_list(1,2,3) ),
vers_lookup_rec( 2, vers_list(2,3) ),
vers_lookup_rec( 3, vers_list(3) ));
GSM Version
gsmvers_lookup tvers_lookup_t tvers_lookup_t(
tvers_rec('12.1.0.1', 1),
tvers_rec('12.1.0.2', 2),
tvers_rec('12.2.0.0', 3),
tvers_rec('12.2.0.1', 3));
GSM Catalog Version
gsm_catalog_lookup vers_lookup_t vers_lookup_t(
vers_lookup_rec( 1, vers_list(1,2,3) ),
vers_lookup_rec( 2, vers_list(2,3) ),
vers_lookup_rec( 3, vers_list(3) ));
DDL Operation Types
ddl_alter CHAR 'A'
ddl_create CHAR 'C'
ddl_drop CHAR 'D'
ddl_grant CHAR 'G'
ddl_split CHAR 'L'
new_shardspace CHAR 'P'
ddl_revoke CHAR 'R'
sync_signal CHAR 'S'
ddl_truncate CHAR 'T'
user_sql CHAR 'U'
ddl_password CHAR 'W'
Database Deployment Status
not_deployed NUMBER 0
deploy_requested NUMBER 1
replication_configured (DataGuard) NUMBER 2
chunks_deployed NUMBER 3
ddl_deployed NUMBER 4
ogg_rep_configured NUMBER 5
Runtime Database Status
db_down NUMBER to_number('00000000','xxxxxxxx')
db_up NUMBER to_number('00000001','xxxxxxxx')
is_primary NUMBER to_number('00000002','xxxxxxxx')
failed_source -- move failed on source db NUMBER to_number('00000004','xxxxxxxx')
failed_target -- move failed on target db NUMBER to_number('00000008','xxxxxxxx')
green_field -- deploy requested on green filed DB NUMBER to_number('00000010','xxxxxxxx')
waiting_for_sync -- waiting for GSM to run sync NUMBER to_number('00000020','xxxxxxxx')
failed_ogg -- move failed on OGG operation NUMBER to_number('00000040','xxxxxxxx')
Reference Table Flags
is_ref_table CHAR D
is_root_table CHAR R
Catalog Requests
chunk_move NUMBER 1
chunk_copy NUMBER 2
chunk_drop NUMBER 3
Cloud Deploy State
no_deploy0; -- no deploy running NUMBER 0
in_deploy1; -- deploy in progress NUMBER 1
deploy_chunks2; -- request chunk deployment NUMBER 2
Catalog Requests Status
req_pending0; -- waiting to start NUMBER 0
in_gsm1; -- sent to GSM NUMBER 1
chunk_on_target3; -- GSM moved to target NUMBER 3
target_done4; -- target confirmed move NUMBER 4
move_suspended5; NUMBER 5
Failure Codes
source_failed97; -- cannot cleanup source NUMBER 97
target_failed98; -- chunk not live on target NUMBER 98
chunk_move_failed99; -- actual move failed NUMBER 99
Shard Group Status
sg_undeployed NUMBER 0
sg_deployed NUMBER 1
Shard Space Status
ss_undeployed NUMBER 0
ss_chunks (request sent to deploy chunks) NUMBER 1
ss_deployed NUMBER 2
Shard Status
gws_undeployed NUMBER 0
gws_deployed NUMBER 1
Operation for AQ92 (gen multi_target)
exec_stmt (execute statement) NUMBER 1
msg_message NUMBER 0
msg_start NUMBER 1
msg_end NUMBER 2
msg_warning NUMBER 3
msg_info NUMBER 4
Actions For updateMoveChunk
restart_move NUMBER 0
suspend_move NUMBER 1
remove_chunks NUMBER 2
Database Service Name Lengths
max_service_name_len NUMBER 64
max_net_service_name_len NUMBER 250
Instance Name Lengths
max_inst_name_len NUMBER 16
AQ Parameter Lengths
max_param_len NUMBER 4000
Maximum Number of VNCRs
max_vncr_number NUMBER 1000
Maximum Number of Services
max_services NUMBER 1000
Maximum Number of Database Pools
max_dbpools NUMBER 200
Database Deployment States
not_depl (not deployed) NUMBER 0
gds_setup (GSM installed DB will register) NUMBER 1
db_depl (deployment complete) NUMBER 2
_gws_shard_shard Values
not_sharded NUMBER 0
sh_system (system-managed sharding) NUMBER 1
sh_userdef (user-defined sharding) NUMBER 2
sh_composite (composite sharding) NUMBER 3
"adminId" Values for generateChangeLogEntry()
cloud_admin NUMBER 1
pool_admin NUMBER 2
ddl_admin (generated by DDL in SQL) NUMBER 3
Number of Targets
all_databases NUMBER 0
in_payload (usually a single target) NUMBER 1
Special gsm_requests Sequence ID For Pending GDSCTL Warnings
pendingWarning NUMBER -1
changeID Values for generateChangeLogEntry()
add_gsm NUMBER 1
modify_gsm NUMBER 2
drop_gsm NUMBER 3
start_gsm NUMBER 4
stop_gsm NUMBER 5
add_region NUMBER 10
modify_region NUMBER 11
drop_region NUMBER 12
add_database_pool NUMBER 20
modify_database_pool NUMBER 21
drop_database_pool NUMBER 22
ChangeID Values for generateChangeLogEntry()
add_database NUMBER 30
modify_database NUMBER 31
drop_database NUMBER 32
start_database NUMBER 33
stop_database NUMBER 34
drop_db_phys NUMBER 35
add_broker_config NUMBER 36
mod_db_status NUMBER 37
add_db_done NUMBER 38
sync_database NUMBER 39
mod_db_runtime NUMBER 40
modify_dg_db_property NUMBER 41
modify_dg_bk_property NUMBER 42
deploy_primary NUMBER 43
deploy_standby NUMBER 44
modify_broker_config NUMBER 45
add_broker NUMBER 46
remove_broker_config NUMBER 47
add_service NUMBER 50
modify_service NUMBER 51
drop_service NUMBER 52
relocate_service NUMBER 53
start_service NUMBER 54
stop_service NUMBER 55
enable_service NUMBER 56
disable_service NUMBER 57
add_service_to_dbs NUMBER 58
move_service_to_db NUMBER 59
make_dbs_preferred NUMBER 60
modify_service_config NUMBER 61
modify_service_on_db NUMBER 62
update_service_state NUMBER 63
add_vncr NUMBER 70
remove_vncr NUMBER 71
drop_service_ph NUMBER 72
drop_broker_config NUMBER 73
drop_bc_phys NUMBER 74
sync_broker_config NUMBER 75
mod_db_vers NUMBER 76
ChangeID Special Number for Warning Message for generateChangeLogEntry()
plsql_warning NUMBER 77
ChangeID DDL Request Message for generateChangeLogEntry()
ddl_request NUMBER 80
ddl_ignore NUMBER 81
ddl_recover NUMBER 82
add_shardgroup NUMBER 83
remove_shardgroup NUMBER 84
finalize_deploy NUMBER 85
deploy_brokers NUMBER 86
move_chunk NUMBER 87
move_complete NUMBER 88
move_abort NUMBER 89
split_chunk NUMBER 90
GoldenGate Message for generateChangeLogEntry()
ogg_rep_setup NUMBER 91
gen_multi_target NUMBER 92
ogg_multi_target NUMBER 93
Start Observer Message for generateChangeLogEntry()
start_observer NUMBER 94
DDL Refetch Due To Password Change for generateChangeLogEntry()
ddl_refetch NUMBER 95
Catalog Rollback Identifiers for generateChangeLogEntry()
rb_drop_service NUMBER 152
rb_modify_service_on_db NUMBER 162
GenerateChangeLogEntry Constants
updateFalse NUMBER 0
updateTrue NUMBER 1
Release Lock Constants
releaseLockCommit NUMBER 1
releaseLockRollback NUMBER 2
Dependencies
ALL_USERS DBMS_SESSION OBJ$
CHUNKS DBMS_SQL PARTITION_SET
CHUNK_LOC DBMS_SYS_ERROR PLITBLM
CLOUD DBMS_SYS_SQL REGION
DATABASE DDLID$ SHARDKEY_COLUMNS
DATABASE_POOL DDL_REQUESTS SHARD_GROUP
DBA_CONS_COLUMNS DDL_REQUESTS_PWD SHARD_SPACE
DBA_PART_TABLES DUAL SHARD_TS
DBA_SYS_PRIVS EXECASUSER SHA_DATABASES
DBA_TABLESPACES EXECUTEDDL TABLESPACE_SET
DBA_TAB_COLUMNS EXEC_SHARD_PLSQL TABLE_FAMILY
DBA_USERS GDSCTL_MESSAGES TS_SET_TABLE
DBMS_APPLICATION_INFO GLOBAL_TABLE TVERS_LOOKUP_T
DBMS_AQ GSM TVERS_REC
DBMS_ASSERT GSM_CHANGE_MESSAGE T_SHDCOL_ROW
DBMS_GSM_CLOUDADMIN GSM_REQUESTS T_SHDCOL_TAB
DBMS_GSM_COMMON GV$SESSION UTL_RAW
DBMS_GSM_DBADMIN GV_$LOCK V$INSTANCE
DBMS_GSM_FIXED GV_$SESSION VERS_LIST
DBMS_GSM_NOPRIV INSTANCE_LIST VERS_LOOKUP_REC
DBMS_GSM_POOLADMIN MESSAGE_PARAM_LIST VERS_LOOKUP_T
DBMS_GSM_UTILITY_LIB MSG_SEQUENCE V_$PARAMETER2
DBMS_LOCK_ALLOCATED NUMBER_LIST V_$VERSION
Documented No
Exceptions
Error Code Reason
ORA-44900 Identifier <name_string> is too long.
ORA-45558 There are no database pools in this catalog
First Available 12cR1
Security Model Owned by SYS with EXECUTE granted to DATAPUMP_IMP_FULL_DATABASE, GGSYS, GSMADMIN_ROLE, GSMUSER_ROLE, GSM_POOLADMIN_ROLE
Source {ORACLE_HOME}/rdbms/admin/dbmsgwmut.sql
Subprograms
 
ALT_CSHDBLINK (new 12.2)
Undocumented dbms_gsm_utility.alt_Cshdblink (
user_name IN VARCHAR2,
passwd    IN VARCHAR2,
isCat     IN BOOLEAN);
TBD
 
CLEANUPDDL (new 12.2)
Undocumented dbms_gsm_utility.cleanupDDL;
exec dbms_gsm_utility.cleanupDDL;
 
COMPATIBLEVERSION
Determines if provided versions are compatible with each other dbms_gsm_utility.compatibleVersion(
gdsctl_version  IN NUMBER DEFAULT NULL,
catalog_version IN NUMBER DEFAULT NULL,
gsm_version     IN NUMBER DEFAULT NULL,
db_version      IN NUMBER DEFAULT NULL)
RETURN BOOLEAN;
BEGIN
  IF gsmadmin_internal.dbms_gsm_utility.compatibleVersion THEN
    dbms_output.put_line('Compatible');
  ELSE
    dbms_output.put_line('Not Compatible');
  END IF;
END;
/
 
CRT_CSHDBLINK (new 12.2)
Undocumented dbms_gsm_utility.crt_cshDBLink(
user_name IN VARCHAR2,
passwd    IN VARCHAR2,
conn_str  IN VARCHAR2,
iscat     IN BOOLEAN);
TBD
 
DATABASEPOOLEXISTS
Checks if the specified database pool exists in the cloud catalog dbms_gsm_utility.databasePoolExists(database_pool_name IN VARCHAR2)
RETURN BOOLEAN;
SQL> BEGIN
  2    IF gsmadmin_internal.dbms_gsm_utility.databasePoolExists('UWDBPOOL') THEN
  3      dbms_output.put_line('F');
  4    ELSE
  5      dbms_output.put_line('F');
  6    END IF;
  7  END;
  8  /
F

PL/SQL procedure successfully completed.
 
DBVERSREVLOOKUP
Returns the database version string given version number (reverse lookup) dbms_gsm_utility.DBVersRevLookup(dbvers IN NUMBER)
RETURN VARCHAR2;
SELECT gsmadmin_internal.dbms_gsm_utility.DBVersRevLookup(12.2)
FROM dual;
 
DROP_TABLE (new 12.2)
Undocumented dbms_gsm_utility.drop_table(table_id IN NUMBER);
TBD
 
DROP_TABLES_IN_TSET (new 12.2)
Undocumented dbms_gsm_utility.drop_tables_in_tset(
ts_name     IN VARCHAR2,
user_id     IN NUMBER,
ddl_enabled IN BOOLEAN,
prop_ddl    IN BOOLEAN);
TBD
 
DRP_CREATED_TS (new 12.2)
Undocumented dbms_gsm_utility.drp_created_ts(name IN VARCHAR2);
TBD
 
DRP_CSHDBLINK (new 12.2)
Undocumented dbms_gsm_utility.drp_Cshdblink(
user_name IN VARCHAR2,
isCat     IN BOOLEAN);
TBD
 
GDSCTLVERSLOOKUP
Returns the numeric version of GDSCTL given version string dbms_gsm_utility.GDSCTLVersLookup(gdsctl_vers IN VARCHAR2) RETURN NUMBER;
SQL> SELECT gsmadmin_internal.dbms_gsm_utility.GDSCTLVersLookup('3')
  2  FROM dual;

GSMADMIN_INTERNAL.DBMS_GSM_UTILITY.GDSCTLVERSLOOKUP('3')
--------------------------------------------------------
                                                      -1
 
GENERATECHANGELOGENTRY
Generates a description of a change and puts it into the change log queue

Overload 1
dbms_gsm_utility.generateChangeLogEntry(
adminId            IN NUMBER,
changeId           IN NUMBER,
target             IN VARCHAR2,
poolName           IN VARCHAR2      DEFAULT NULL,
params             IN VARCHAR2      DEFAULT NULL,
updateRequestTable IN NUMBER        DEFAULT updateTrue,
old_instances      IN instance_list DEFAULT NULL,
ddl_num            IN NUMBER        DEFAULT NULL,
databases          IN number_list   DEFAULT NULL)
ACCESSIBLE BY (PACKAGE dbms_gsm_dbadmin,
  PACKAGE dbms_gsm_pooladmin,
  PACKAGE dbms_gsm_common,
  PACKAGE dbms_gsm_cloudadmin,
  PACKAGE ggsys.ggsharding);
TBD
Overload 2 dbms_gsm_utility.generateChangeLogEntry(
adminId            IN  NUMBER,
changeId           IN  NUMBER,
target             IN  VARCHAR2,
poolName           IN  VARCHAR2      DEFAULT NULL,
params             IN  VARCHAR2      DEFAULT NULL,
updateRequestTable IN  NUMBER        DEFAULT updateTrue,
old_instances      IN  instance_list DEFAULT NULL,
ddl_num            IN  NUMBER        DEFAULT NULL,
databases          IN  number_list   DEFAULT NULL,
parent_id          IN  NUMBER        DEFAULT NULL,
seq_id             OUT NUMBER)
ACCESSIBLE BY (PACKAGE dbms_gsm_dbadmin,
  PACKAGE dbms_gsm_pooladmin,
  PACKAGE dbms_gsm_common,
  PACKAGE dbms_gsm_cloudadmin,
  PACKAGE ggsys.ggsharding);
TBD
 
GETCATALOGLOCK
Gets the catalog lock prior to making a change to the cloud catalog dbms_gsm_utility.getCatalogLock(currentChangeSeq OUT NUMBER);
TBD
 
GETCATALOGLOCKPRVT (new 12.2)
Gets the catalog lock prior to making a change to the cloud catalog dbms_gsm_utility.getCatalogLockPrvt(
currentChangeSeq OUT NUMBER,
privs            IN  NUMBER,
gdsctl_version   IN  VARCHAR2 DEFAULT NULL,
gsm_version      IN  VARCHAR2 DEFAULT NULL,
gsm_name         IN  VARCHAR2 DEFAULT NULL,
catalog_vers     OUT NUMBER,
update_mode      IN  NUMBER);
TBD
 
GETCATALOGVERSION
Returns the version of this catalog dbms_gsm_utility.getCatalogVersion RETURN NUMBER;
SQL> SELECT gsmadmin_internal.dbms_gsm_utility.getCatalogVersion
  2  FROM dual;

GETCATALOGVERSION
-----------------
           3
 
GETCATINFO (new 12.2)
Undocumented dbms_gsm_utility.getCatInfo(
html_port         OUT NUMBER,
registration_pass OUT VARCHAR2,
cat_host          OUT VARCHAR2);
TBD
 
GETCHUNKID (new 12.2)
Return chunk id for the shard keys provided if the chunk exists at the current shard dbms_gsm_utility.getChunkID(keys ...) RETURN NUMBER;
TBD
 
GETCHUNKUNIQUEID (new 12.2)
Return chunk unique id (not chunk id) for the supershard and shard keys provided if the chunk exists dbms_gsm_utility.getChunkUniqueID((keys ...) RETURN NUMBER;
TBD
 
GETCHUNKUNIQUEIDBYTEXT (new 12.2)
Return chunk unique id (not chunk number) for the given shardspace with keys provided if the chunk exists dbms_gsm_utility.getChunkUniqueIDbyText(
sharding_key  IN VARCHAR2,
shardspace_id IN NUMBER DEFAULT NULL,
b64flag       IN NUMBER DEFAULT 0)
RETURN NUMBER;
TBD
 
GETDBVERSION
Returns the version of this cloud database dbms_gsm_utility.getDBVersion RETURN NUMBER;
SQL> SELECT gsmadmin_internal.dbms_gsm_utility.getDBVersion
  2  FROM dual;

GETDBVERSION
------------
           3
 
GETFIELDSIZE
Used internally by PL/SQL to verify the size of input strings and returns the size of a database field dbms_gsm_utility.getFieldSize(
tab_name IN VARCHAR2,
col_name IN VARCHAR2)
RETURN NUMBER;
SQL> SELECT gsmadmin_internal.dbms_gsm_utility.getFieldSize('VIEW$', 'AUDIT$')
  2  FROM dual;

GSMADMIN_INTERNAL.DBMS_GSM_UTILITY.GETFIELDSIZE('VIEW$','AUDIT$')
-----------------------------------------------------------------
                                                               38
 
GETREPTYPE (new 12.2)
Returns the replication type dbms_gsm_utility.getRepType(dbname IN VARCHAR2) RETURN NUMBER;
SQL> SELECT gsmadmin_internal.dbms_gsm_utility.getRepType('ORABASE2')
  2  FROM dual;

GSMADMIN_INTERNAL.DBMS_GSM_UTILITY.GETREPTYPE('ORABASE')
--------------------------------------------------------
 
 
GETSHARDCOL (new 12.2)
Undocumented dbms_gsm_utility.getShardCol(object_id IN NUMBER)
RETURN gsmadmin_internal.t_shdcol_tab;
TBD
 
GETSHARDSPACEIDBYTEXT (new 12.2)
Return shardspace id for the supershard key provided if the shardspace exists dbms_gsm_utility.getShardSpaceIDbyText(
supersharding_key IN VARCHAR2,
b64flag           IN NUMBER DEFAULT 0)
RETURN NUMBER;
TBD
 
GSMVERSLOOKUP (new 12.2)
Returns the numeric version of the GSM given version string dbms_gsm_utility.gsmVersLookup(gsm_vers IN VARCHAR2)
RETURN NUMBER;
SQL> SELECT gsmadmin_internal.dbms_gsm_utility.gsmVersLookup('12.2.0.1')
  2* FROM dual;

GSMADMIN_INTERNAL.DBMS_GSM_UTILITY.GSMVERSLOOKUP('12.2.0.1')
------------------------------------------------------------
                                                           3
 
ISLOCKEDBYMASTER (new 12.2)
Determines if a master lock is already taken: Returns 1 if True, 0 if False dbms_gsm_utility.isLockedByMaster RETURN INTEGER
SQL> SELECT gsmadmin_internal.dbms_gsm_utility.isLockedByMaster
  2* FROM dual;

ISLOCKEDBYMASTER
----------------
               0
 
ISSHARDEDCATALOG (new 12.2)
Undocumented dbms_gsm_utility.isShardedCatalog(stype OUT NUMBER)
RETURN BOOLEAN;
TBD
 
MAXDBINSTANCES (new 12.2)
Queries the database parameter setting for the maximum number of instances to reserve for a cloud database dbms_gsm_utility.maxDBInstances RETURN NUMBER;
SQL> SELECT gsmadmin_internal.dbms_gsm_utility.maxDBInstances
  2  FROM dual;

MAXDBINSTANCES
--------------
            10
 
NEW_DDL_REQUEST (new 12.2)
Undocumented dbms_gsm_utility.new_ddl_request(
ddl_text       IN  CLOB,
orig_ddl_text  IN  CLOB,
schema_name    IN  VARCHAR2 DEFAULT NULL,
object_name    IN  VARCHAR2 DEFAULT NULL,
operation_type IN  VARCHAR2,
pwd_count      IN  NUMBER,
ddl_num        OUT NUMBER);
TBD
 
NEW_DDL_REQUEST_PWD (new 12.2)
Undocumented dbms_gsm_utility.new_ddl_request_pwd(
e_pwd     IN VARCHAR2,
pwd_begin IN NUMBER,
ddl_num   IN NUMBER,
user_name IN VARCHAR2 DEFAULT NULL);
TBD
 
NEW_FAMILY (new 12.2)
Undocumented dbms_gsm_utility.new_family(
family_name        IN VARCHAR2,
partition_set_type IN NUMBER,
shard_type         IN NUMBER);
TBD
 
NEW_KEYCOL (new 12.2)
Undocumented dbms_gsm_utility.new_keycol(
family_name IN VARCHAR2,
column_name IN VARCHAR2,
klevel      IN NUMBER);
TBD
 
NEW_PARTITION_SET (new 12.2)
  dbms_gsm_utility.new_partition_set(
set_name       IN VARCHAR2,
tsset_name     IN VARCHAR2,
family_name    IN VARCHAR2,
high_value_len IN NUMBER,
high_value     IN LONG,
bin_high_value IN BLOB,
low_value_len  IN NUMBER,
low_value      IN LONG,
bin_low_value  IN BLOB,
psorder        IN NUMBER DEFAULT NULL);
TBD
 
NEW_SHARD_TABLESPACE (new 12.2)
Creates a new shard tablespace dbms_gsm_utility.new_shard_tablespace(
tablespace_name IN VARCHAR2,
chunk_NUMBER    IN NUMBER,
shardspace_name IN VARCHAR2 DEFAULT NULL);
TBD
 
NEW_TABLE (new 12.2)
  dbms_gsm_utility.new_table(
table_name     IN VARCHAR2,
schema_name    IN VARCHAR2,
table_id       IN NUMBER,
parent_name    IN VARCHAR2 DEFAULT NULL,
ref_table_flag IN CHAR     DEFAULT NULL);
TBD
 
NEW_TABLESPACE_SET (new 12.2)
Undocumented dbms_gsm_utility.new_tablespace_set(
set_name IN VARCHAR2,
shardspace_id IN NUMBER,
partition_set IN VARCHAR2 DEFAULT NULL);
TBD
 
NEW_TS_SET_TABLE (new 12.2)
Create a new table set table dbms_gsm_utility.new_ts_set_table(
ts_set_name IN VARCHAR2,
table_id    IN NUMBER,
parent_name IN VARCHAR2,
usage_flag  IN CHAR);
TBD
 
PREPAREDBPOOLNAME (new 12.2)
Returns the database pool name to use on a dbms_gsm_* call when the database pool name in the routine call can be NULL dbms_gsm_utility.prepareDBPoolName(
input_name         IN  VARCHAR2,
database_pool_name OUT VARCHAR2,
shardgroup_name    IN  VARCHAR2 DEFAULT NULL,
shardspace_name    IN  VARCHAR2 DEFAULT NULL)
RETURN BOOLEAN;
SQL> DECLARE
  2   outVal VARCHAR2(128);
  3  BEGIN
  4    IF gsmadmin_internal.dbms_gsm_utility.prepareDBPoolName('UWPool', outVal) THEN
  5      dbms_output.put_line('T: ' || outVal);
  6    ELSE
  7      dbms_output.put_line('F: ' || outVal);
  8    END IF;
  9  END;
 10  /
DECLARE
*
ERROR at line 1:
ORA-45558: There are no database pools in this catalog.
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 79
ORA-06512: at "GSMADMIN_INTERNAL.DBMS_GSM_UTILITY", line 491
ORA-06512: at line 4
 
PREPARENAME (new 12.2)
Verifies the length of a (service, GSM, etc) name and prepares it for use by the GSM package dbms_gsm_utility.prepareName(
in_name    IN  VARCHAR2,
out_name   OUT VARCHAR2,
max_length IN  NUMBER)
RETURN BOOLEAN;
SQL> DECLARE
  2   outVal VARCHAR2(128);
  3  BEGIN
  4    IF gsmadmin_internal.dbms_gsm_utility.prepareName('SerVerSiNsTALLeD', outVal, 9) THEN
  5      dbms_output.put_line('T: ' || outVal);
  6    ELSE
  7      dbms_output.put_line('F: ' || outVal);
  8    END IF;
  9  END;
 10  /
DECLARE
*
ERROR at line 1:
ORA-44900: Identifier "SerVerSiNsTALLeD" is too long.
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "GSMADMIN_INTERNAL.DBMS_GSM_UTILITY", line 391
ORA-06512: at line 4


SQL> DECLARE
  2   outVal VARCHAR2(128);
  3  BEGIN
  4    IF gsmadmin_internal.dbms_gsm_utility.prepareName('SerVerSiNsTALLeD', outVal, 17) THEN
  5      dbms_output.put_line('T: ' || outVal);
  6    ELSE
  7      dbms_output.put_line('F: ' || outVal);
  8    END IF;
  9* END;
SQL> /
T: serversinstalled

PL/SQL procedure successfully completed.
 
PREPAREREGIONNAME (new 12.2)
Returns the region name to use on a dbms_gsm_* call when the region name in the routine call can be NULL dbms_gsm_utility.prepareRegionName(
input_name  IN  VARCHAR2,
region_name OUT VARCHAR2)
RETURN BOOLEAN;
DECLARE
 outVal VARCHAR2(128);
BEGIN
  IF gsmadmin_internal.dbms_gsm_utility.prepareRegionName('SerVerS', outVal) THEN
    dbms_output.put_line('T: ' || outVal);
  ELSE
    dbms_output.put_line('F: ' || outVal);
  END IF;
END;
/
T: servers
-- region names are always lower case
 
RAISE_GSM_WARNING (new 12.2)
During catalog processing only causes a warning message to display on GDSCTL session dbms_gsm_utility.raise_gsm_warning(
message_id IN NUMBER,
parms      IN message_param_list DEFAULT message_param_list());
TBD
 
REGIONEXISTS (new 12.2)
Checks if the specified region exists in the cloud catalog dbms_gsm_utility.regionExists(
region_name IN  VARCHAR2,
region_num  OUT NUMBER)
RETURN BOOLEAN;
SQL> DECLARE
  2   outVal NUMBER;
  3  BEGIN
  4    IF gsmadmin_internal.dbms_gsm_utility.regionExists('ZZYZX', outVal) THEN
  5      dbms_output.put_line('The region number is: ' || TO_CHAR(outVal));
  6    ELSE
  7      dbms_output.put_line('Region Not Found');
  8    END IF;
  9  END;
 10  /
Region Not Found

PL/SQL procedure successfully completed. 
 
RELEASECATALOGLOCK (new 12.2)
Releases the catalog lock and commits or rolls back the changes made under the lock dbms_gsm_utility.releaseCatalogLock(
action    IN  NUMBER DEFAULT releaseLockCommit,
changeSeq OUT NUMBER);
DECLARE
 outVal VARCHAR2(30);
BEGIN
  outVal := dbms_gsm_utility.releaseCatalogLock(releaseLockRollback, outVal);
  dbms_output.put_line(outVal);
END;
/
 
RELEASECATALOGLOCKPRVT (new 12.2)
Releases the catalog lock and commits or rolls back the changes made under the lock dbms_gsm_utility.releaseCatalogLockPrvt(
action    IN  NUMBER DEFAULT releaseLockCommit,
changeSeq OUT NUMBER);
DECLARE
 outVal VARCHAR2(30);
BEGIN
  outVal := dbms_gsm_utility.releaseCatalogLockPrvt(releaseLockRollback, outVal);
  dbms_output.put_line(outVal);
END;
/
 
REMOVESTALEREQUESTS (new 12.2)
Removes stale entries from gsm_requests (stale is defined as 10 minutes) dbms_gsm_utility.removeStaleRequests;
exec gsmadmin_internal.dbms_gsm_utility.removeStaleRequests;
 
RESERVEINSTNUMS (new 12.2)
Reserve reserve_count database numbers from cloud: Only useful for PL/SQL calls, current value should be known already otherwise this function has no good use. dbms_gsm_utility.reserveInstNums(reserve_count IN NUMBER);
TBD
 
RESERVENEXTDBNUM (new 12.2)
Reserves the next available DB number for use, updates the cloud table, but does not commit dbms_gsm_utility.reserveNextDBNum(reserve_count IN NUMBER DEFAULT NULL)
RETURN NUMBER;
SQL> DECLARE
  2    retVal NUMBER;
  3  BEGIN
  4      retVal := gsmadmin_internal.dbms_gsm_utility.reserveNextDBNum(3);
  5    dbms_output.put_line(retVal);
  6  END;
  7  /
DECLARE
*
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at "GSMADMIN_INTERNAL.DBMS_GSM_UTILITY", line 1817
ORA-06512: at line 4
 
RSAENCODER (new 12.2)
Encrypt input string to byte array using PKCS dbms_gsm_utility.rsaEncoder(
input   IN  VARCHAR2,
keybyte IN  RAW,
output  OUT RAW);
DECLARE
 outVal RAW(32767);
BEGIN
  gsmadmin_internal.dbms_gsm_utility.rsaEncoder('SuperSecret', utl_raw.cast_to_raw('ABC'), outVal);
  dbms_output.put_line(TO_CHAR(outVal));
END;
/
 
SEND_GDSCTL_MSG (new 12.2)
Causes a message to display on GDSCTL session by adding a new record to gdsctl_messages dbms_gsm_utility.send_GDSCtl_msg(
message      IN VARCHAR2,
gdsctl_sid   IN NUMBER,
message_type IN NUMBER DEFAULT msg_message);
TBD
 
SHARDGROUPEXISTS (new 12.2)
Returns TRUE if the shard group exists dbms_gsm_utility.shardGroupExists(shardgroup_name IN VARCHAR2)
RETURN BOOLEAN;
BEGIN
  IF gsmadmin_internal.dbms_gsm_utility.shardGroupExists('ZZYZX') THEN
    dbms_output.put_line('T');
  ELSE
    dbms_output.put_line('F');
  END IF;
END;
/
F
 
SHARDSPACEEXISTS (new 12.2)
Undocumented dbms_gsm_utility.shardSpaceExists(
shardspace_name IN  VARCHAR2,
shardspace_id   OUT NUMBER)
RETURN BOOLEAN;
TBD
 
UPDATE_DDL_DUPTBL (new 12.2)
Undocumented dbms_gsm_utility.update_ddl_duptbl(
object_name IN VARCHAR2,
schema_name IN VARCHAR2);
exec gsmadmin_internal.dbms_gsm_utility.update_ddl_duptbl('TAB$', USER);
 
UPDATE_DDL_INCDEP (new 12.2)
Undocumented dbms_gsm_utility.update_ddl_incdep;
exec gsmadmin_internal.dbms_gsm_utility.update_ddl_incdep;

Related Topics
Built-in Functions
Built-in Packages
DBMS_GSM_ALERTS
DBMS_GSM_CLOUDADMIN
DBMS_GSM_COMMON
DBMS_GSM_DBADMIN
DBMS_GSM_FIX
DBMS_GSM_FIXED
DBMS_GSM_POOLADMIN
DBMS_GSM_XDB
What's New In 12cR1
What's New In 12cR2

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