Oracle DBMS_GSM_DBADMIN
Version 12.2.0.1

General Information
Library Note Morgan's Library Page Header
Are you prepared for the release of Oracle Database 18c ... the first autonomous database? We are here at the Library. It is time for DBAs to stop fighting robots with their fingers and losing ... time to start using our intelligence and winning.
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