Oracle DBMS_GSM_DBADMIN
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 Global Service Manager Administration.

There is a lot of fascinating new capability hinted at in this package. Take a close look at the constants and the dependencies.
AUTHID DEFINER
Constants
Name Data Type Value
RAC Status Values
GWM_NORAC (not RAC) PLS_INTEGER 0
GWM_RAC_ADMIN (admin managed RAC) PLS_INTEGER 1
GWM_RAC_POLICY (policy managed RAC) PLS_INTEGER 2
GWM_RAC_UNKNOWN (unknown RAC status) PLS_INTEGER 3
GWM_RAC_SIHA (RAC SIHA) PLS_INTEGER 4
Data Types TYPE target IS RECORD (db_name VARCHAR2(dbms_gsm_common.max_ident),
conn_id VARCHAR2(512),
role    VARCHAR2(30),
dblink  VARCHAR2(256),
jobid   NUMBER);

TYPE target_set IS TABLE OF target;

TYPE chunk_list_t IS TABLE OF NUMBER index by PLS_INTEGER;
Dependencies
ALL_CHUNKS DBMS_GSM_DBADMIN_LIB KU$_LOGLINE1010
ALL_TAB_PARTITIONS DBMS_GSM_FIXED KU$_STATUS
CDB_SERVICES DBMS_GSMUTILITY MESSAGE_PARAM_LIST
CHUNKDATA_TMP DBMS_LOCK OBJ$
CHUNKRANGE_LIST_T DBMS_OUTPUT PLITBLM
CHUNKRANGE_T DBMS_SERVICE REGION
CHUNKS DBMS_SERVICE_PRVT REGION_LIST_T
CLOUD DBMS_SQL REGION_T
DATABASE_DSC_T DBMS_SYS_ERROR SERVICE_DSC_LIST_T
DATABASE_POOL DBMS_UTILITY SERVICE_DSC_T
DBA_CONSTRAINTS DDLID$ SERVICE_LIST_T
DBA_INDEXES DUAL SERVICE_T
DBA_IND_PARTITIONS EXECASUSER SHARD_SPACE
DBA_IND_SUBPARTITIONS EXECUTEDDL SHARD_TS
DBA_LOB_PARTITIONS GLOBAL_TABLE TABLESPACE_SET
DBA_LOB_SUBPARTITIONS GSM_INFO TABLE_FAMILY
DBA_PART_TABLES GSM_LIST_T TS_SET_TABLE
DBA_SERVICES GSM_T USER_DB_LINKS
DBA_TABLESPACES GV$ACTIVE_SERVICES UTL_INADDR
DBA_TAB_PARTITIONS GV_$INSTANCE UTL_LMS
DBA_TAB_SUBPARTITIONS INSTANCE_LIST_T V$RESTORE_POINT
DBMS_ASSERT INSTANCE_T V_$PARAMETER2
DBMS_DATAPUMP KU$_JOBDESC WARNING_LIST_T
DBMS_GSM_CLOUDADMIN KU$_JOBSTATUS WARNING_T
DBMS_GSM_COMMON KU$_LOGENTRY  
Documented No
First Available 12.1.0.1
Security Model Owned by GSMADMIN_INTERNAL with EXECUTE granted to GGSYS and GSMUSER_ROLE
Source {ORACLE_HOME}/rdbms/admin/dbmsgwmdb.sql
Subprograms
 
ADDDATABASE (new 12.2 overload)
Adds a database to the GDS (Cloud) framework

Overload 1
dbms_gsm_dbadmin.addDatabase(
cloud_name             IN VARCHAR2,
dbpool_name            IN VARCHAR2,
region_name            IN VARCHAR2,
db_number              IN NUMBER,
num_instances_reserved IN NUMBER DEFAULT dbms_gsm_common.max_inst_default,
force                  IN NUMBER DEFAULT dbms_gsm_common.isFalse,
cpu_thresh             IN NUMBER DEFAULT NULL,
srlat_thresh           IN NUMBER DEFAULT NULL,
inShard                IN NUMBER DEFAULT dbms_gsm_common.isFalse,
chunks                 IN NUMBER DEFAULT 0);
TBD
Overload 2 dbms_gsm_dbadmin.addDatabase(dsc IN database_dsc_t);
TBD
 
ADDGSM
Informs the database of a new GSM added to the catalog dbms_gsm_dbadmin.addGSM(
gsm_alias   IN VARCHAR2,
endpoint    IN VARCHAR2,
region_name IN VARCHAR2,
ons_port    IN NUMBER);
TBD
 
ADDREGION
Inform the database of a new region in the catalog dbms_gsm_dbadmin.addRegion(
region_name  IN VARCHAR2,
buddy_region IN VARCHAR2 DEFAULT NULL);
TBD
 
ADDSERVICE
Creates a new global service in the database and CRS dbms_gsm_dbadmin.addService(
service_name              IN  VARCHAR2,
network_name              IN  VARCHAR2,
rlb_goal                  IN  NUMBER   DEFAULT NULL,
clb_goal                  IN  NUMBER   DEFAULT NULL,
distr_trans               IN  NUMBER   DEFAULT NULL,
aq_notifications          IN  NUMBER   DEFAULT NULL,
aq_ha_notifications       IN  NUMBER   DEFAULT NULL,
lag_property              IN  NUMBER   DEFAULT NULL,
max_lag_value             IN  NUMBER   DEFAULT NULL,
failover_method           IN  VARCHAR2 DEFAULT NULL,
failover_type             IN  VARCHAR2 DEFAULT NULL,
failover_retries          IN  NUMBER   DEFAULT NULL,
failover_delay            IN  NUMBER   DEFAULT NULL,
edition                   IN  VARCHAR2 DEFAULT NULL,
pdb                       IN  VARCHAR2 DEFAULT NULL,
commit_outcome            IN  NUMBER   DEFAULT NULL,
retention_timeout         IN  NUMBER   DEFAULT NULL,
replay_initiation_timeout IN  NUMBER   DEFAULT NULL,
session_state_consistency IN  VARCHAR2 DEFAULT NULL,
sql_translation_profile   IN  VARCHAR2 DEFAULT NULL,
locality                  IN  NUMBER   DEFAULT NULL,
region_failover           IN  NUMBER   DEFAULT NULL,
role                      IN  NUMBER   DEFAULT NULL,
proxy_db                  IN  NUMBER   DEFAULT 0,
primary_db                OUT NUMBER);
SQL> DECLARE
  2   serv_name VARCHAR2(30) := 'MLIBSERV';
  3   netw_name VARCHAR2(30) := 'MLIBNET';
  4   rlb_goal  NUMBER := dbms_service.goal_service_time;
  5   clb_goal  NUMBER := dbms_service.clb_goal_short;
  6   dist_trx  NUMBER := 0;
  7   aq_notif  NUMBER;
  8   aq_ha     NUMBER := 1;
  9   lag_prop  NUMBER;
 10   max_lagv  NUMBER;
 11   fail_meth VARCHAR2(6) := dbms_service.failover_method_basic;
 12   fail_type VARCHAR2(30) := 'TRANSACTION';
 13   fail_retr NUMBER := 3;
 14   faildelay NUMBER := 5;
 15   ed_name   VARCHAR2(30) := 'ORA$BASE';
 16   pdb       VARCHAR2(30) := NULL;
 17   commit_oc NUMBER := 1;
 18   retent_to NUMBER := 86400;
 19   replay_it NUMBER := 900;
 20   ses_state VARCHAR2(30);
 21   sql_trans VARCHAR2(30);
 22   locality  NUMBER;
 23   reg_fail  NUMBER;
 24   role_num  NUMBER;
 25   proxy_db  NUMBER := 0;
 26   prim_db   NUMBER;
 27  BEGIN
 28    gsmadmin_internal.dbms_gsm_dbadmin.addService(serv_name, netw_name, rlb_goal,
 29    clb_goal, dist_trx, aq_notif, aq_ha, lag_prop, max_lagv, fail_meth, fail_type,
 30    fail_retr, faildelay, ed_name, pdb, commit_oc, retent_to, replay_it, ses_state,
 31    sql_trans, locality, reg_fail, role_num, proxy_db, prim_db);
 32  END;
 33  /
addService
process_service_attributes


PL/SQL procedure successfully completed.

SQL> col network_name format a20
SQL> SELECT name, network_name, creation_date
  2  FROM dba_services
  3* ORDER BY 3;

NAME              NETWORK_NAME  CREATION_DATE
----------------- ------------- --------------------
SYS$BACKGROUND                  08-MAR-2017 15:58:08
SYS$USERS                       08-MAR-2017 15:58:08
orabase2          orabase2      21-JUN-2017 21:02:11
orabase2XDB       orabase2XDB   21-JUN-2017 21:02:11
MLIBSERV          MLIBNET       27-DEC-2017 08:12:59
 
CONFIGOGGREPLICATION (new 12.2)
Configures Oracle GoldenGate replications dbms_gsm_dbadmin.configOGGReplication;
SQL> exec gsmadmin_internal.dbms_gsm_dbadmin.configOGGReplication;
BEGIN gsmadmin_internal.dbms_gsm_dbadmin.configOGGReplication; END;
*
ERROR at line 1:
ORA-45568: database link to catalog is invalid
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 79
ORA-06512: at "GSMADMIN_INTERNAL.DBMS_GSM_DBADMIN", line 3959
ORA-06512: at "GSMADMIN_INTERNAL.DBMS_GSM_DBADMIN", line 5728
ORA-06512: at line 1

10046 trace was run during the test shown here and revealed the following (reformatted for clarity)

ALTER SESSION SET GLOBAL_NAMES=FALSE
Queries of access$, aud_object_opt$, codeauth$, dependency$, idl_char$, idl_sb4$, idl_ub1$, idl_ub2$, obj$, codeauth$, type$, and view$
A query of v_$Pparameter2 WHERE NAME='_cloud_name'
 
CONTROLCHUNK (new 12.2)
According to Oracle "For testing purposes. Not public." dbms_gsm_dbadmin.controlChunk(
chunkid IN BINARY_INTEGER,
op      IN BINARY_INTEGER,
p1      IN BINARY_INTEGER);
TBD
 
ENSUREDBLINK (new 12.2)
  dbms_gsm_dbadmin.ensureDBLink(
db_name  IN VARCHAR2,
conn_str  IN VARCHAR2,
gsmusrpwd IN VARCHAR2 DEFAULT NULL);
TBD
 
EXECUTEDDLCALLBACK (new 12.2)
Executex a DDL statement callback dbms_gsm_dbadmin.executeDDLCallBack;
exec gsmadmin_internal.dbms_gsm_dbadmin.executeDDLCallBack;
 
EXECUTEDDLPRVT (new 12.2)
Execute DDL statement dbms_gsm_dbadmin.executeDDLPrvt(
ddlid          IN OUT NUMBER,
schema_name    IN     VARCHAR2,
ddl_text       IN     CLOB     DEFAULT NULL,
operation_type IN     CHAR,
params         IN     VARCHAR2 DEFAULT NULL,
ddlaction      IN     NUMBER   DEFAULT dbms_gsm_common.execddl_default,
runddl            OUT BOOLEAN);
SQL> DECLARE
  2   idVal  NUMBER := 42;
  3   ddlAct NUMBER := gsmadmin_internal.dbms_gsm_common.execddl_default;
  4   tfVal  BOOLEAN;
  5  BEGIN
  6    gsmadmin_internal.dbms_gsm_dbadmin.executeDDLPrvt(idVal, 'SYS\', 'CREATE USER c##zzyzx', 'C', NULL, ddlAct, tfVal);
  7    IF tfVal THEN
  8      dbms_output.put_line('T');
  9    ELSE
 10      dbms_output.put_line('F');
 11    END IF;
 12  END;
 13  /
F

PL/SQL procedure successfully completed.

SQL> select username from dba_users where username like 'C%' order by 1;

USERNAME
-------------------------
C##ABC
C##OOUG
C##SEC_ADMIN
C##ZZYZX
CTXSYS

-- I tried to grant DBA to the new user and was unable to but that may be the result
-- of using the wrong OPERATION_TYPE parameter rather than this proc being unable to
-- be a major security exploit. Until proven otherwise we recommend grants of execute
-- not be made without first opening an SR.
 
EXECUTEGENERICPROCEDURE (new 12.2)
Undocumented dbms_gsm_dbadmin.executeGenericProcedure(
payload       IN  VARCHAR2,
change_type   IN  NUMBER,
response_code OUT NUMBER,
response_info OUT VARCHAR2);
TBD
 
EXPORTMETADATA (new 12.2)
Undocumented dbms_gsm_dbadmin.expotMetadata(chunk_id IN NUMBER);
TBD
 
FINISHMOVE (new 12.2)
Undocumented dbms_gsm_dbadmin.finishMove(
chunk_id IN BINARY_INTEGER,
db_role  IN BINARY_INTEGER DEFAULT dbms_gsm_common.movechunk_source,
status   IN BINARY_INTEGER DEFAULT dbms_gsm_common.movechunk_success,
timeout  IN BINARY_INTEGER DEFAULT 0);
TBD
 
GETCRSINFO
Returns CRS information dbms_gsm_dbadmin.getCRSInfo(
ons_port   OUT VARCHAR2,
scan_name  OUT VARCHAR2,
rac_status OUT PLS_INTEGER);
DECLARE
 ons_out  VARCHAR2(30);
 scan_out VARCHAR2(30);
 rac_stat PLS_INTEGER;
BEGIN
  gsmadmin_internal.dbms_gsm_dbadmin.getCRSInfo(ons_out, scan_out, rac_stat);
  dbms_output.put_line('ONS:  ' || ons_out);
  dbms_output.put_line('SCAN: ' || scan_out);
  dbms_output.put_line('RAC:  ' || TO_CHAR(rac_stat));
END;
/
 
GETDBNUMBERRANGE (new 12.2)
  dbms_gsm_dbadmin.getDBNUMBERRange(
cur_NUMBER IN     NUMBER,
range_min  IN OUT NUMBER,
range_max  IN OUT NUMBER);
DECLARE
 cnum NUMBER := 1;
 rmin NUMBER := 1;
 rmax NUMBER := 6;
BEGIN
  gsmadmin_internal.dbms_gsm_dbadmin.getDBNUMBERRange(cnum, rmin, rmax);
  dbms_output.put_line(TO_CHAR(cnum));
  dbms_output.put_line(TO_CHAR(rmin));
  dbms_output.put_line(TO_CHAR(rmax));
END;
/
 
GETGSMINFO
Returns information about the database for GSM dbms_gsm_dbadmin.getGSMInfo RETURN gsmadmin_internal.gsmInfo;
DECLARE
 retVal gsmadmin_internal.gsm_Info;
BEGIN
  retVal := gsmadmin_internal.dbms_gsm_dbadmin.getGSMInfo;
  dbms_output.put_line('Cloud:      ' || retVal.cloud_name);
  dbms_output.put_line('DB Pool     ' || retVal.dbpool_name);
  dbms_output.put_line('Region      ' || retVal.region_name);
  dbms_output.put_line('DB NUMBER:  ' || TO_CHAR(retVal.database_num));
  dbms_output.put_line('Scan Name   ' || retVal.scan_name);
  dbms_output.put_line('DB NUMBER:  ' || TO_CHAR(retVal.dbrole));
  dbms_output.put_line('CPU Thresh: ' || TO_CHAR(retVal.cpu_threshold));
  dbms_output.put_line('DB NUMBER:  ' || TO_CHAR(retVal.reptype));
  dbms_output.put_line('Filv Conv:  ' || retVal.file_convert);
  dbms_output.put_line('File Dest:  ' || retVal.file_dest);
END;
/

-- this demo does not output all values returned by getGSMInfo
 
GETHOSTINFO
Returns information about connected host for GSM

Overload 1
dbms_gsm_dbadmin.getHostInfo(
ons_port  OUT VARCHAR2,
scan_name OUT VARCHAR2,
hostname  OUT VARCHAR2);
SQL> DECLARE
  2   ons_out VARCHAR2(60);
  3   scan_out VARCHAR2(60);
  4   host_out VARCHAR2(60);
  5  BEGIN
  6    gsmadmin_internal.dbms_gsm_dbadmin.getHostInfo(ons_out, scan_out, host_out);
  7    dbms_output.put_line('ONS: '  || ons_out);
  8    dbms_output.put_line('Scan: ' || scan_out);
  9    dbms_output.put_line('Host: ' || host_out);
 10* END;
 11  /
ONS:
Scan:
Host: PERRITO5

PL/SQL procedure successfully completed.
Overload 2 dbms_gsm_dbadmin.getHostInfo(
ons_port  OUT VARCHAR2,
scan_name OUT VARCHAR2,
hostname  OUT VARCHAR2,
db_type   OUT CHAR);
SQL> DECLARE
  2   ons_out VARCHAR2(60);
  3   scan_out VARCHAR2(60);
  4   host_out VARCHAR2(60);
  5   dbt_out VARCHAR2(60);
  6  BEGIN
  7    gsmadmin_internal.dbms_gsm_dbadmin.getHostInfo(ons_out, scan_out, host_out);
  8    dbms_output.put_line('ONS: '     || ons_out);
  9    dbms_output.put_line('Scan: '    || scan_out);
 10    dbms_output.put_line('Host: '    || host_out);
 11    dbms_output.put_line('DB Type: ' || dbt_out);
 12* END;
 13  /
ONS:
Scan:
Host: PERRITO5
DB Type:


PL/SQL procedure successfully completed.
 
GRABCHUNKSFROMCATALOG (new 12.2)
Gets chunks from the catalog database dbms_gsm_dbadmin.grabChunksFromCatalog;
exec gsmadmin_internal.dbms_gsm_dbadmin.grabChunksFromCatalog;
 
IMPORTDATA (new 12.2)
Undocumented dbms_gsm_dbadmin.importData(md_fname IN VARCHAR2);
TBD
 
MODIFYDATABASE
Changes the database's region dbms_gsm_dbadmin.modifyDatabase(
region_name  IN VARCHAR2 ,
cpu_thresh   IN NUMBER DEFAULT NULL,
srlat_thresh IN NUMBER DEFAULT NULL);
TBD
 
MODIFYGSM
Informs the database of GSM attribute changes dbms_gsm_dbadmin.modifyGSM(
gsm_alias   IN VARCHAR2,
endpoint    IN VARCHAR2 DEFAULT NULL,
region_name IN VARCHAR2 DEFAULT NULL,
ons_port    IN NUMBER   DEFAULT NULL);
TBD
 
MODIFYREGION
Inform the database of region attribute modifications dbms_gsm_dbadmin.modifyRegion(
region_name  IN VARCHAR2,
buddy_region IN VARCHAR2 DEFAULT NULL);
TBD
 
MODIFYSERVICE
Modifies all attributes of a global service dbms_gsm_dbadmin.modifyService(
service_name              IN  VARCHAR2,
rlb_goal                  IN  NUMBER   DEFAULT NULL,
clb_goal                  IN  NUMBER   DEFAULT NULL,
distr_trans               IN  NUMBER   DEFAULT NULL,
aq_notifications          IN  NUMBER   DEFAULT NULL,
aq_ha_notifications       IN  NUMBER   DEFAULT NULL,
lag_property              IN  NUMBER   DEFAULT NULL,
max_lag_value             IN  NUMBER   DEFAULT NULL,
failover_method           IN  VARCHAR2 DEFAULT NULL,
failover_type             IN  VARCHAR2 DEFAULT NULL,
failover_retries          IN  NUMBER   DEFAULT NULL,
failover_delay            IN  NUMBER   DEFAULT NULL,
edition                   IN  VARCHAR2 DEFAULT NULL,
pdb                       IN  VARCHAR2 DEFAULT NULL,
commit_outcome            IN  NUMBER   DEFAULT NULL,
retention_timeout         IN  NUMBER   DEFAULT NULL,
replay_initiation_timeout IN  NUMBER   DEFAULT NULL,
session_state_consistency IN  VARCHAR2 DEFAULT NULL,
sql_translation_profile   IN  VARCHAR2 DEFAULT NULL,
locality                  IN  NUMBER   DEFAULT NULL,
region_failover           IN  NUMBER   DEFAULT NULL,
role                      IN  NUMBER   DEFAULT NULL,
network_number            IN  NUMBER   DEFAULT NULL,
server_pool               IN  VARCHAR2 DEFAULT NULL,
cardinality               IN  VARCHAR2 DEFAULT NULL,
proxy_db                  IN  NUMBER   DEFAULT 0,
primary_db                OUT NUMBER,
instances                 IN  VARCHAR2 DEFAULT NULL,
force                     IN  NUMBER   DEFAULT dbms_gsm_common.isFalse);
DECLARE
 primDB VARCHAR2(30);
BEGIN
  gsmadmin_internal.dbms_gsm_dbadmin.getHost('MLIBSERV', clb_goal=>dbms_service.clb_goal_short, primDB);
  dbms_output.put_line(primDB);
END;
/
 
MODIFYSERVICEGLOBALPARAMETERS
Modifies all global attributes of a global service

Overload 1
dbms_gsm_dbadmin.modifyServiceGlobalParameters(
service_name              IN  VARCHAR2,
rlb_goal                  IN  NUMBER,
clb_goal                  IN  NUMBER,
distr_trans               IN  NUMBER,
aq_notifications          IN  NUMBER,
aq_ha_notifications       IN  NUMBER,
lag_property              IN  NUMBER,
max_lag_value             IN  NUMBER,
failover_method           IN  VARCHAR2,
failover_type             IN  VARCHAR2,
failover_retries          IN  NUMBER,
failover_delay            IN  NUMBER,
edition                   IN  VARCHAR2,
pdb                       IN  VARCHAR2,
commit_outcome            IN  NUMBER,
retention_timeout         IN  NUMBER,
replay_initiation_timeout IN  NUMBER,
session_state_consistency IN  VARCHAR2,
sql_translation_profile   IN  VARCHAR2,
locality                  IN  NUMBER,
region_failover           IN  NUMBER,
role                      IN  NUMBER,
proxy_db                  IN  NUMBER,
primary_db                OUT NUMBER,
force                     IN  NUMBER DEFAULT dbms_gsm_common.isFalse);
TBD
Overload 2 dbms_gsm_dbadmin.modifyServiceGlobalParameters(
p_service  IN  service_dsc_t,
primary_db OUT NUMBER,
force      IN  NUMBER DEFAULT dbms_gsm_common.isFalse);
TBD
 
MODIFYSERVICELOCALPARAMETERS
Modifies all local attributes of a global service dbms_gsm_dbadmin.modifyServiceLocalParameters(
service_name   IN VARCHAR2,
network_number IN NUMBER,
server_pool    IN VARCHAR2,
cardinality    IN VARCHAR2,
instances      IN VARCHAR2 DEFAULT NULL,
force          IN NUMBER   DEFAULT dbms_gsm_common.isFalse);
TBD
 
MOVECHUNK (new 12.2)
Move Chunk information dbms_gsm_dbadmin.moveChunk(
chunk_id  IN BINARY_INTEGER,
conn_str  IN VARCHAR2,
timeout   IN BINARY_INTEGER,
move_mode IN BINARY_INTEGER,
gsmusrpwd IN VARCHAR2,
gdsctl_id IN BINARY_INTEGER DEFAULT 0);
TBD
 
RECOVERCHUNKS (new 12.2)
Recovers Chunk information after an unsuccessful move or split dbms_gsm_dbadmin.recoverChunks;
exec gsmadmin_internal.dbms_gsm_dbadmin.recoverChunks;
 
REMOVEALLSERVICES
Stops and deletes all the global services. dbms_gsm_dbadmin.removeAllServices;
exec gsmadmin_internal.dbms_gsm_dbadmin.removeAllServices;
 
REMOVEDATABASE
Remove a database from the GDS framework (cloud) dbms_gsm_dbadmin.removeDatabase(db_only IN BOOLEAN DEFAULT FALSE);
exec gsmadmin_internal.dbms_gsm_dbadmin.removeDatabase(TRUE);
 
REMOVEGSM
Informs the database of GSM removal dbms_gsm_dbadmin.removeGSM(gsm_alias IN VARCHAR2);
SQL> exec gsmadmin_internal.dbms_gsm_dbadmin.removeGSM('UWGSM');
removeGSM

PL/SQL procedure successfully completed.
 
REMOVEREGION
Inform the database of a region removal dbms_gsm_dbadmin.removeRegion(region_name IN VARCHAR2);
TBD
 
REMOVESERVICE
Removes a service from CRS and/or the database dbms_gsm_dbadmin.removeService(
service_name   IN  VARCHAR2,
proxy_db       IN  NUMBER DEFAULT 0,
delete_to_move IN  NUMBER DEFAULT 0,
primary_db     OUT NUMBER);
TBD
 
RESTORECHUNK (new 12.2)
Restores chunk partitions reassigning their tablespaces and recreating them if needed dbms_gsm_dbadmin.restoreChunk(
a_chunk_id      IN BINARY_INTEGER,
a_shardspace_id IN BINARY_INTEGER,
do_remove       IN BINARY_INTEGER default 0);
TBD
 
SEND_GDSCTL_MSG (new 12.2)
Undocumented dbms_gsm_dbadmin.send_gdsctl_msg(
message      IN VARCHAR2,
gdsctl_sid   IN NUMBER,
message_type IN NUMBER DEFAULT dbms_gsm_utility.msg_message);
TBD
 
SETCATALOGLINK (new 12.2)
Creates a database link from shard to catalog dbms_gsm_dbadmin.setCatalogLink(
gsmusrpwd    IN VARCHAR2,
gsm_endpoint IN VARCHAR2,
no_check     IN NUMBER DEFAULT dbms_gsm_common.isFalse);
TBD
 
SETCHUNKS (new 12.2)
Initial chunk assignment to database dbms_gsm_dbadmin.setChunks(chunk_list IN chunk_list_t);
TBD
 
SETDDLTIMEOUT (new 12.2)
Set ddl_lock_timeout value to the maximum of (old_value, new_value) dbms_gsm_dbadmin.setDDLTimeOut(new_value IN BINARY_INTEGER);
TBD
 
SPLITCHUNK (new 12.2)
Undocumented dbms_gsm_dbadmin.splitChunk(
a_chunk_id      IN BINARY_INTEGER,
target_chunk_id IN BINARY_INTEGER,
a_shardspace_id IN BINARY_INTEGER);
TBD
 
STARTSERVICE
Start a database service dbms_gsm_dbadmin.startService(
service_name IN VARCHAR2,
inst_list    IN VARCHAR2 DEFAULT NULL);
exec gsmadmin_internal.dbms_gsm_dbadmin.startService('MLIBSERV', '1');
 
STOPSERVICE
Stop a database service dbms_gsm_dbadmin.stopService(
service_name IN VARCHAR2,
force        IN NUMBER   DEFAULT dbms_gsm_common.isFalse,
options      IN VARCHAR2 DEFAULT NULL);
exec gsmadmin_internal.dbms_gsm_dbadmin.stopService('MLIBSERV');
 
SYNC
Execute database side modifications dbms_gsm_dbadmin.sync(
dsc      IN OUT database_dsc_t,
warnings    OUT warning_list_t);
TBD
 
SYNCDDLPARAMETER (new 12.2)
Undocumented dbms_gsm_dbadmin.syncDDLParameter;
exec gsmadmin_internal.dbms_gsm_dbadmin.syncDDLParameter;
 
VALIDATEDATABASE
Validate database existence and return local DB info

Overload 1
dbms_gsm_dbadmin.validateDatabase(
dbpool         IN  VARCHAR2,
db_unique_name OUT VARCHAR2,
instances      OUT NUMBER,
cloud_name     IN  VARCHAR2 DEFAULT NULL);
TBD
Overload 2 dbms_gsm_dbadmin.validateDatabase(
dbpool         IN  VARCHAR2,
db_unique_name OUT VARCHAR2);
TBD

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