MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/rdbms/admin/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/rdbms/admin/dbmsgwmdb.sql

Rem
Rem $Header: rdbms/admin/dbmsgwmdb.sql /main/40 2017/04/26 15:38:34 itaranov Exp $
Rem
Rem dbmsgsmdb.sql
Rem
Rem Copyright (c) 2011, 2017, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      dbmsgwsmdb.sql - Global Workload Management DataBase administration 
Rem
Rem    DESCRIPTION
Rem      Defines the interface for dbms_gsm_dbadmin package that is used for 
Rem      database administration performed by GSM 
Rem
Rem    NOTES
Rem      <other useful comments, qualifications, etc.>
Rem
Rem
Rem BEGIN SQL_FILE_METADATA
Rem SQL_SOURCE_FILE: rdbms/admin/dbmsgwmdb.sql
Rem SQL_SHIPPED_FILE: rdbms/admin/dbmsgwmdb.sql
Rem SQL_PHASE: DBMSGWMDB
Rem SQL_STARTUP_MODE: NORMAL
Rem SQL_IGNORABLE_ERRORS: NONE
Rem SQL_CALLING_FILE: rdbms/admin/dbmsgwm.sql
Rem END SQL_FILE_METADATA
Rem
Rem    MODIFIED   (MM/DD/YY)
Rem    itaranov    04/04/17 - restore chunk additional parameter
Rem    itaranov    12/13/16 - Bug 24695992: Chunk split native code impl via kkpo
Rem    dcolello    11/19/16 - always set schema to gsmadmin_internal
Rem    itaranov    06/09/16 - Add set ddl timout safe wrapper
Rem    lenovak     06/08/16 - project 62462 Sharding for RAC affinity
Rem    itaranov    05/05/16 - remove groundts since its private
Rem    itaranov    05/05/16 - restore chunk
Rem    itaranov    04/28/16 - restoreChunk for test purposes
Rem    lenovak     03/23/16 - bugfix 22912460
Rem    lenovak     02/22/16 - gdsctloutput for catalog_requests
Rem    itaranov    02/17/16 - Split chunk ids, amend
Rem    itaranov    12/07/15 - Move num2linear
Rem    dcolello    10/24/15 - sharding object rename for production
Rem    sdball      10/09/15 - Bug 21967902: Add GWM_RAC_SIHA
Rem    lenovak     08/31/15 - remove sendFile API
Rem    sdball      06/10/15 - Support for long identifiers
Rem    ralekra     03/24/15 - Add support for OGG replication
Rem    sdball      03/11/15 - Add executeGenericProcedure
Rem    ditalian    01/29/15 - add split chunk
Rem    lenovak     10/24/14 - Add setCatalogLink.
Rem    nbenadja    09/12/14 - Add getgroundTS().
Rem    itaranov    01/30/14 - Add setChunks procedure
Rem    surman      01/22/14 - 13922626: Update SQL metadata
Rem    sdball      08/26/13 - LRG 9180681: callSrvctl does not need to be
Rem                           public
Rem    sdball      08/15/13 - Add db_type to getHostInfo
Rem    sdball      08/09/13 - add inst_list to startService
Rem    lenovak     07/29/13 - shard support
Rem    lenovak     07/11/13 - validate cloud name before adding to catalog
Rem    itaranov    03/19/13 - Add sync function
Rem    sdball      03/18/13 - Changes to support admin managed databases
Rem    sdball      03/05/13 - New parameter for removeDatabase
Rem    nbenadja    01/11/13 - Store CPU and IO threshold in the GDS catalog.
Rem    sdball      01/11/13 - Bug 16013287: stop service "force" flag is not
Rem                           correctly handled
Rem    itaranov    11/01/12 - Split modifyService in two functions
Rem    sdball      06/13/12 - Support for number of instances
Rem    sdball      04/24/12 - Support for cross-chck verification
Rem    sdball      03/26/12 - Change addDatabase params
Rem    sdball      11/30/11 - Auto VNCR functionality
Rem    zzeng       11/21/11 - Change default for proxy_db,delete_to_move to 0
Rem    skyathap    11/10/11 - add proxy info to service routines
Rem    nbenadja    10/28/11 - Add revomeAllServices procedure
Rem    mdilman     10/24/11 - add proxy_database and primary_database params
Rem    mdilman     08/11/11 - add getCRSinfo
Rem    skyathap    08/10/11 - Add locality info to service routines
Rem    mdilman     07/26/11 - add modifyGSM and modifyDatabase
Rem    mdilman     07/09/11 - add RAC specific service attributes
Rem    mjstewar    04/27/11 - Second GSM transaction
Rem    lenovak     03/01/11 - remove and validate procedures  
Rem    mdilman     02/07/11 - add procedures
Rem    mjstewar    02/02/11 - Created
Rem

@@?/rdbms/admin/sqlsessstart.sql

-- SET ECHO ON
-- SPOOL dbmsgwmdb.log

ALTER SESSION SET CURRENT_SCHEMA=GSMADMIN_INTERNAL
/

--*****************************************************************************
-- Database package for GSM pool database functions.
--*****************************************************************************

CREATE OR REPLACE PACKAGE dbms_gsm_dbadmin AS
--*****************************************************************************
-- Private 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 ;

-----------------------------------------------------------------------------
-- PROCEDURE     setDdlTimeout
--  
-- Description: set ddl_lock_timeout value to max(old_value, new_value)
-- Parameters: 
--     new_value - new value for ddl timeout
--
-- TODO: move to utilitiesi after branch
-----------------------------------------------------------------------------

PROCEDURE setDdlTimeout(new_value binary_integer);

--*****************************************************************************
-- Package Public Constants
--*****************************************************************************

-- RAC status values (must match defines for gwm_rac_status in gwm2.h
--
GWM_NORAC       constant  pls_integer := 0;  -- database not on RAC
GWM_RAC_ADMIN   constant  pls_integer := 1;  -- database on admin managed RAC
GWM_RAC_POLICY  constant  pls_integer := 2;  -- database on policy managed RAC
GWM_RAC_UNKNOWN constant  pls_integer := 3;  -- unknown RAC status
GWM_RAC_SIHA    constant  pls_integer := 4;  -- database on SIHA


  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     addDatabase
  --
  -- Description: 
  --     Adds this database to the GDS framework (cloud)
  -- 
  -- Parameters:   
  --     cloud_name - Name of the cloud (gds framework)
  --     dbpool_name - database pool to which database is added
  --     region_name - region of database
  --     db_number  - catalog assigned (generated) database number
  --     num_instances_reserved - number of instance slots reserved for
  --                             this database
  --     force - force the add if it has already been added
  --     cpu_thresh
  --     srlat_thresh
  --
  -- Notes:
  --    Sets a number of database parameters to hold GDS related values
  -----------------------------------------------------------------------------
  PROCEDURE 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);
						 
  
  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     addDatabase
  --
  -- Description: 
  --     Adds this database to the GDS framework (cloud)
  -- 
  -- Parameters:   
  --     dsc - database object
  --
  -- Notes:
  --    Sets a number of database parameters to hold GDS related values
  -----------------------------------------------------------------------------
  PROCEDURE addDatabase( dsc IN database_dsc_t);						 

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     modifyDatabase
  --
  -- Description: changes the region of the database 
  -- 
  -- Parameters:   
  --   region_name - new region name
  --   cpu_thresh
  --   srlat_thresh
  --
  -- Notes:
  --    
  -----------------------------------------------------------------------------
  PROCEDURE modifyDatabase( region_name          IN varchar2 ,
                            cpu_thresh IN number default NULL,
                            srlat_thresh IN number default NULL );

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     validateDatabase
  --
  -- Description:  
  --    Validate database existence and return local DB info
  -- 
  -- Parameters:   
  --   dbpool - dbpool that database existis in
  --   db_unique_name - unique name of database
  --   instances - number of instances database currently has configured
  --
  -- Notes:
  --    
  -----------------------------------------------------------------------------
  PROCEDURE validateDatabase( dbpool         IN  varchar2,
                              db_unique_name OUT varchar2,
                              instances      OUT number,
                              cloud_name     IN varchar2 default NULL);
   PROCEDURE validateDatabase( dbpool         IN  varchar2,
                              db_unique_name OUT varchar2);
  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     removeDatabase
  --
  -- Description:
  --    Remove a database from the GDS framework (cloud)
  -- 
  -- Parameters:
  --    db_only - Remove only database?
  --              Else cascaded remove which removes all global services
  --
  -- Notes:
  --    
  -----------------------------------------------------------------------------
  PROCEDURE removeDatabase (db_only   IN   boolean default FALSE);
  
  -----------------------------------------------------------------------------
  --
  -- PROCEDURE    addGSM 
  --
  -- Description:
  --    Inform database of a new GSM which has been added to the catalog
  -- 
  -- Parameters:   
  --   gsm_alias   - gsm name
  --   endpoint - GSM listen endpoint
  --   region_name - region in which GSM exists
  --   ons_port - ONS port for GSM
  --
  -- Notes:
  --   Triggers registration request in LREG for new GSM
  --    
  -----------------------------------------------------------------------------
  PROCEDURE addGSM( gsm_alias      IN  varchar2,
                    endpoint       IN  varchar2,
                    region_name    IN  varchar2,
                    ons_port       IN  number );

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE    modifyGSM 
  --
  -- Description:  
  --   Inform database of GSM attribute changes
  -- 
  -- Parameters:   
  --   gsm_alias   - GSM name
  --   endpoint - gsm listen endpoint
  --   region_name - region in which GSM exists
  --   ons_port - ONS port for GSM
  --
  -- Notes:
  --    
  -----------------------------------------------------------------------------
  PROCEDURE modifyGSM( gsm_alias   IN  varchar2,
                       endpoint    IN  varchar2 default NULL,
                       region_name IN  varchar2 default NULL,
                       ons_port    IN  number   default NULL );

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     removeGSM
  --
  -- Description:  
  --    inform database of GSM removal
  -- 
  -- Parameters:   
  --    gsm_alias - name of GSM
  --
  -- Notes:
  --    
  -----------------------------------------------------------------------------
  PROCEDURE removeGSM( gsm_alias   IN varchar2 );


  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     addService
  --
  -- Description:  Creates a new global service in the database and CRS
  -- 
  -- Parameters:   
  --   service_name - short name of the service in the data dictionary
  --   network_name - long service name used in SQLNet connect descriptors  
  --   rlb_goal - RLB goal (service time, throuput, none)
  --   clb_goal - CLB goal (short, long)
  --   distr_trans - enables distributed transaction processing  
  --   aq_notifications - enables AQ notfications 
  --   aq_ha_notifications - used to disable HA AQ notfications 
  --   lag_property - determines whether specified max lag should be enforced  
  --   max_lag_value - maximum acceptable value for replication lag 
  --   failover_method - TAF failover method  
  --   failover_type - TAF failover type
  --   failover_retries - TAF failover retries     
  --   failover_delay - TAF failover delay 
  --   edition  - databse edition
  --   pdb - privite db id 
  --   parameters for transaction continuity:
  --     commit_outcome   
  --     retention_timeout 
  --     replay_initiation_timeout 
  --     session_state_consistency 
  --   sql_translation_profile - directs how to interpret non-Oracle SQL 
  --   role - database role (primary or physical/logical/snapshot standby)
  --   proxy_db - TRUE if service is created on primary database 
  --                    to be used on standby(s) 
  --   primary_db - TRUE if this is primary database (OUT parameter)
  --
  -- Note:
  --   Constants for use in arguments are defined in dbms_gsm_common
  -----------------------------------------------------------------------------
  PROCEDURE 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 );
                        
  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     addService
  --
  -- Description:  Creates a new global service in the database and CRS
  -- 
  -- Parameters:   
  --   p_service  - service object 
  --   primary_db - TRUE if this is primary database (OUT parameter)
  --
  -- Note:
  --   Constants for use in arguments are defined in dbms_gsm_common
  -----------------------------------------------------------------------------
  PROCEDURE addService(  p_service IN service_dsc_t, primary_db    OUT number);                       

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     modifyService
  --
  -- Description:  Modifies all attributes of a global service 
  -- 
  -- Parameters:   
  --   service_name - short name of the service in the data dictionary
  --   rlb_goal - RLB goal (service time, throuput, none)
  --   clb_goal - CLB goal (short, long)
  --   distr_trans - enables distributed transaction processing  
  --   aq_notifications - enables AQ notfications 
  --   aq_ha_notifications - used to disable HA AQ notfications 
  --   lag_property - determines whether specified max lag should be enforced  
  --   max_lag_value - maximum acceptable value for replication lag 
  --   failover_method - TAF failover method  
  --   failover_type - TAF failover type
  --   failover_retries - TAF failover retries     
  --   failover_delay - TAF failover delay 
  --   edition  - databse edition
  --   pdb - privite db id 
  --   parameters for transaction continuity:
  --     commit_outcome   
  --     retention_timeout 
  --     replay_initiation_timeout 
  --     session_state_consistency 
  --   sql_translation_profile - directs how to interpret non-Oracle SQL 
  --   role - database role (primary or physical/logical/snapshot standby)
  --   network_number - network interface number to access the service
  --   server_pool - name of the server pool for the service
  --   cardinality - service cardinality on RAC (singleton or uniform)
  --   proxy_db - TRUE if service is modified on primary database 
  --                    to propagate modifications to standby(s) 
  --   primary_db - TRUE if this is primary database (OUT parameter)
  --   instances  - string containing primary/available instances
  --
  -- Note:
  --   Constants for use in arguments are defined in dbms_gsm_common
  --   Depricated, use 
  --     modifyServiceLocalParameters or
  --     modifyServiceGlobalParameters instead
  -----------------------------------------------------------------------------
  PROCEDURE 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);

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     modifyServiceLocalParameters
  --
  -- Description:  Modifies all local attributes of a global service 
  -- 
  -- Parameters:   
  --   service_name - short name of the service in the data dictionary
  --
  --   network_number - network interface number to access the service
  --   server_pool - name of the server pool for the service
  --   cardinality - service cardinality on RAC (singleton or uniform)
  -- 
  --   proxy_db - TRUE if service is modified on primary database 
  --                    to propagate modifications to standby(s) 
  --   primary_db - TRUE if this is primary database (OUT parameter)
  --
  -- Note:
  --   Constants for use in arguments are defined in dbms_gsm_common.
  -----------------------------------------------------------------------------

   PROCEDURE 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);

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     modifyServiceGlobalParameters
  --
  -- Description:  Modifies all global attributes of a global service 
  -- 
  -- Parameters:   
  --   service_name - short name of the service in the data dictionary
  --
  --   rlb_goal - RLB goal (service time, throuput, none)
  --   clb_goal - CLB goal (short, long)
  --   distr_trans - enables distributed transaction processing  
  --   aq_notifications - enables AQ notfications 
  --   aq_ha_notifications - used to disable HA AQ notfications 
  --   lag_property - determines whether specified max lag should be enforced  
  --   max_lag_value - maximum acceptable value for replication lag 
  --   failover_method - TAF failover method  
  --   failover_type - TAF failover type
  --   failover_retries - TAF failover retries     
  --   failover_delay - TAF failover delay 
  --   edition  - databse edition
  --   pdb - privite db id 
  --   parameters for transaction continuity:
  --     commit_outcome   
  --     retention_timeout 
  --     replay_initiation_timeout 
  --     session_state_consistency 
  --   sql_translation_profile - directs how to interpret non-Oracle SQL 
  --   role - database role (primary or physical/logical/snapshot standby)
  --
  --   proxy_db - TRUE if service is modified on primary database 
  --                    to propagate modifications to standby(s) 
  --   primary_db - TRUE if this is primary database (OUT parameter)
  --
  -- Note:
  --   Constants for use in arguments are defined in dbms_gsm_common.
  --   This procedure sets all of the parameters to the given values.
  -----------------------------------------------------------------------------

  PROCEDURE 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);

-----------------------------------------------------------------------------
  --
  -- PROCEDURE     modifyServiceGlobalParameters
  --
  -- Description:  Modifies all global attributes of a global service
  -- Parameters:   
  --   p_service  - service object 
  --   primary_db - TRUE if this is primary database (OUT parameter)
  --
  -- Note:
    -----------------------------------------------------------------------------
  PROCEDURE modifyServiceGlobalParameters(
                            p_service IN service_dsc_t, 
                            primary_db    OUT number,
                            force                     IN number
                            default dbms_gsm_common.isFalse);



  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     removeService
  --
  -- Description:  Removes a service from CRS and / or the database.  
  -- 
  -- Parameters:   
  --   service_name
  --   proxy_db - TRUE if service is removed on primary database 
  --                    to be removed on standby(s) 
  --   delete_to_move - TRUE if service is removed to be moved to another db
  --   primary_db - TRUE if this is primary database (OUT parameter)

  --
  -- Notes:
  --    
  -----------------------------------------------------------------------------
  PROCEDURE removeService( service_name           IN varchar2,
                           proxy_db               IN number default 0,
                           delete_to_move         IN number default 0,
                           primary_db             OUT number );

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     startService
  --
  -- Description:  
  --     Start a service on this database
  -- 
  -- Parameters:   
  --   service_name
  --   inst_list - list of instances to start on
  --
  -- Notes:
  --   inst_list is ignored for DB types other than admin-managed RAC
  --    
  -----------------------------------------------------------------------------
  PROCEDURE startService( service_name IN varchar2,
                          inst_list IN varchar2 DEFAULT NULL );

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     stopService
  --
  -- Description:  
  --    Stop a service on this database
  -- 
  -- Parameters:   
  --   service_name
  --   options               Various stop option introduced afet 12.2 and
  --                         not relevant to GSM processing format:
  --                         opt1=val1;op2=val2;...opt_n=val_n;
  -- Notes:
  --    
  -----------------------------------------------------------------------------
  PROCEDURE stopService( service_name IN varchar2,
                         force        IN number
                             default dbms_gsm_common.isFalse,
                         options      IN varchar2 default NULL
                             );

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     addRegion
  --
  -- Description:  
  --    Inform database of addition of a new region in the datalog
  -- 
  -- Parameters:   
  --   region_name - name of the region
  -- buddy_region - name of its buddy
  --
  -- Notes:
  --    
  -----------------------------------------------------------------------------
  PROCEDURE addRegion( region_name  IN varchar2,
                       buddy_region IN varchar2 default NULL);

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE    modifyRegion 
  --
  -- Description:  
  --   inform database of modification of region attributes
  -- 
  -- Parameters:   
  --   region_name - name of the region
  --   buddy_region - name of its buddy
  --
  -- Notes:
  --    
  -----------------------------------------------------------------------------
  PROCEDURE modifyRegion( region_name  IN varchar2,
                          buddy_region IN varchar2 default NULL);

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE     removeRegion
  --
  -- Description:  
  --   inoform database of removal of a region
  -- 
  -- Parameters:   
  --   region_name - name of the region
  --
  -- Notes:
  --    

  -----------------------------------------------------------------------------
  PROCEDURE removeRegion( region_name IN varchar2 );
  -----------------------------------------------------------------------------
  --
  -- PROCEDURE    getHostInfo 
  --
  -- Description:  
  --       Gets information about connected host for GSM
  -- 
  -- Parameters:   
  --   ons_port   OUT   ONS port number
  --   scan_name  OUT   Cluster SCAN name (if appropriate)
  --   hostname   OUT   connected server host
  --   db_type    OUT   type of database
  --
  -- Notes:
  --    
  -----------------------------------------------------------------------------
  
  PROCEDURE getHostInfo (ons_port OUT varchar2,
                         scan_name OUT varchar2,
                         hostname OUT varchar2);
						 
  PROCEDURE getHostInfo (ons_port OUT varchar2,
                         scan_name OUT varchar2,
                         hostname OUT varchar2,
                         db_type  OUT char);

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE    getCRSinfo 
  --
  -- Description:  
  --    Get CRS information
  -- 
  -- Parameters:   
  --   ons_port - ONS port for CRS
  --   scan_name - scan name for CRS
  --
  -- Notes:
  --    
  -----------------------------------------------------------------------------
  PROCEDURE getCRSinfo( ons_port OUT varchar2, scan_name OUT varchar2,
                        rac_status OUT pls_integer );
  
  -----------------------------------------------------------------------------
  --
  -- PROCEDURE    getGSMinfo
  --
  -- Description:  
  --   Get information about the database for GSM
  -- 
  -- Parameters:   
  --   NONE
  --
  -- Returns:
  --   gsm_info - object containing information about the database for GSM
  --
  -- Notes:
  --    
  -----------------------------------------------------------------------------
  FUNCTION getGSMInfo
  return gsm_info;
  
  -----------------------------------------------------------------------------
  --
  -- PROCEDURE    removeAllServices 
  --
  -- Description: stop and delete all the global services. 
  -- 
  -- Parameters:  None 
  --
  -- Notes:
  --    

  PROCEDURE removeAllServices;

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE    sync 
  --
  -- Description: execute modifications on database side. 
  -- 
  -- Parameters: 
  --  dsc - describes the new state of database. 
  --        This parameter also is used to return 
  --        host info data and sync status.
  --
  --  warnings - output parameter used to return error messages
  --             occured during sync process.
  --
  -- Notes:
  --    
  
  PROCEDURE sync(dsc IN OUT database_dsc_t, warnings OUT warning_list_t);

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE    executeDDL 
  --
  -- Description: execute DDL statement
  -- 
  -- Parameters: 
  --  ddlid - DDL id
  --  schema_name - schema context
  --  ddl_text - text of ddl statement
  --  ddlaction - one of three actions
  --
  --
  -- Notes:
  --   
  PROCEDURE 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);

-----------------------------------------------------------------------------
  --
  -- PROCEDURE    executeDDLCallback
  --
  -- Description: execute DDL statement callback
  -- 
  -- Parameters: 
  --  ddlid - DDL id
  --
  --
  -- Notes:
  --    
  PROCEDURE executeDDLCallback;  

  --
-----------------------------------------------------------------------------
  --
  PROCEDURE syncDDLParameter;               
  TYPE chunk_list_t IS TABLE OF NUMBER index by PLS_INTEGER;
  --
-----------------------------------------------------------------------------
  --
  -- PROCEDURE    recoverChunks
  --
  -- Description: recover Chunk information after unsuccesfull move or split
  -- 
  

  PROCEDURE recoverChunks;

  -----------------------------------------------------------------------------
  --
  -- PROCEDURE    setChunks
  --
  -- Description: initial chunk assignment to database
  -- 
  -- Parameters: 
  --  chunk_list - list of chunk identifiers
  --

  PROCEDURE setChunks(chunk_list IN chunk_list_t);


  -----------------------------------------------------------------------------
  --
  -- PROCEDURE    grabChunksFromCatalog
  --
  -- Description: get chunks from the catalog database
  --

  PROCEDURE grabChunksFromCatalog;

-----------------------------------------------------------------------------
  --
  -- PROCEDURE    setCatalogLink
  --
  -- Description: creates db link from shard to catalog
  -- 
  -- Parameters: 
  --  gsmusrpwd - password
  --  gsm_endpoint - end point
  --  no_check - doesn't check that db link is ok, 
  --             doesn't replace link if exists
  --
  -- Notes:
  --                         
PROCEDURE setCatalogLink(gsmusrpwd IN VARCHAR2, gsm_endpoint IN VARCHAR2,
                         no_check        IN number
                             default dbms_gsm_common.isFalse);

-----------------------------------------------------------------------------
--
-- PROCEDURE    ensureDBLink
--    
PROCEDURE ensureDBLink(db_name  IN  VARCHAR2, 
                       conn_str IN VARCHAR2, 
                       gsmusrpwd IN VARCHAR2 default NULL);

-----------------------------------------------------------------------------
--
-- PROCEDURE    moveChunk
  -- Parameters: 
  --  chunk_id - chunk identifier
  -- conn_str - target database connection string
  -- timeout - wait time for ongoing transactions to complete
  --  mode - 0 - default
--    
PROCEDURE moveChunk ( chunk_id BINARY_INTEGER, 
                          conn_str IN VARCHAR2, 
                          timeout BINARY_INTEGER,
                          move_mode BINARY_INTEGER,
                          gsmusrpwd IN VARCHAR2,
                          gdsctl_id IN BINARY_INTEGER default 0);
/*
-----------------------------------------------------------------------------
--
-- PROCEDURE    quisceMigrationSource
  -- Parameters: 
  --  chunk_id - chunk identifier
--    
PROCEDURE quisceMigrationSource ( chunk_id NUMBER);

-----------------------------------------------------------------------------
--
-- PROCEDURE    reconfigureTargets
  -- Parameters: 
  --  chunk_id - chunk identifier
--    
PROCEDURE reconfigureOGG (     chunk_id NUMBER, 
                               db_role IN BINARY_INTEGER 
					                 default dbms_gsm_common.movechunk_source,  
                               status IN BINARY_INTEGER
					               default dbms_gsm_common.movechunk_success);
*/
-- Parameters: 
--  chunk_id - chunk identifier
-- db_role -  database role (source or target)
-- status (success or fail)
--    
PROCEDURE 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);


                          
--PROCEDURE moveChunkOld ( targ_db  IN  VARCHAR2, 
--					  conn_str IN VARCHAR2, 
--					  gsmusrpwd IN VARCHAR2 default NULL,
--					  chunk_id IN NUMBER);

-----------------------------------------------------------------------------
--
-- PROCEDURE    restoreChunk
--
-- Restore chunk partitions reassigning their tablespaces 
--    and recreating them if needed.
--
-- Note : internal procedure, not for public use.
--

PROCEDURE restoreChunk(
    a_chunk_id       BINARY_INTEGER,
    a_shardspace_id  BINARY_INTEGER,
    do_remove        BINARY_INTEGER default 0,
    no_update_chunk  BINARY_INTEGER default 0);

-----------------------------------------------------------------------------
-- PROCEDURE    alterAllRefFragmentsUnitTest
--
-- unit test for various alter table ... partition ... statements
--

procedure alterAllRefFragmentsUnitTest(a_owner in varchar2, a_name in varchar2);

-----------------------------------------------------------------------------
--
-- PROCEDURE    splitChunk
--
PROCEDURE splitChunk(
    a_chunk_id       BINARY_INTEGER,
    target_chunk_id  BINARY_INTEGER,
    a_shardspace_id  BINARY_INTEGER);

-- For testing purposes. Not public.
PROCEDURE controlChunk ( chunkid BINARY_INTEGER, 
                         op BINARY_INTEGER,
                         p1 BINARY_INTEGER);


PROCEDURE exportMetadata(chunk_id IN NUMBER);
PROCEDURE importData(md_fname IN VARCHAR2);
-- PROCEDURE getGroundTSName( table_name IN VARCHAR2, ts_name OUT varchar2);

PROCEDURE getDBNumberRange( cur_number IN NUMBER,
                             range_min  IN OUT NUMBER,
                             range_max  IN OUT NUMBER);
							 
PROCEDURE configOGGReplication;

PROCEDURE executeGenericProcedure (payload         IN  varchar2, 
                                   change_type     IN  number,
                                   response_code   OUT number,
                                   response_info   OUT varchar2);
                                   
PROCEDURE send_gdsctl_msg (
                           message          IN   VARCHAR2,
                           gdsctl_sid       IN NUMBER,
                           message_type     IN   NUMBER 
                                            DEFAULT dbms_gsm_utility.msg_message);                                   
 -----------------------------------------------------------------------------
 --
 -- PROCEDURE    setRATableFamily
 --
 -- Description: Enable RAC affinity for table
 --
 -- Parameters:
 --  table_name    - name of the affinitized partition table
 --  chunks        - the number of created chunks
 --  dobj          - partitioned table  data object identifier
 --  service_name  - service name
 --  svc_id        - service identifier
 --
 PROCEDURE setRATableFamily( table_name IN VARCHAR, 
                             chunks OUT number, 
                             dobj IN OUT number,
                             service_name IN VARCHAR,
                             svc_id IN OUT number
                             );

 -- PROCEDURE    dropRATableFamily
 --
 -- Description: disable RAC affinity
 --
 PROCEDURE dropRATableFamily;        
 
 -- PROCEDURE    createRATableFamily
 --
 -- Description: Enable RAC affinity for table
 --
 -- Parameters:
 --  shard_owner    - schema owner
 --  shard_table    - name of the affinitized partition table
 --
 PROCEDURE createRATableFamily( shard_owner IN VARCHAR, 
                                shard_table IN VARCHAR);

 END dbms_gsm_dbadmin;

/

show errors

ALTER SESSION SET CURRENT_SCHEMA=SYS
/

@?/rdbms/admin/sqlsessend.sql

OHA YOOOO