Oracle DBMS_GSM_NOPRIV
Version 26ai

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

Oracle Database 26ai will be available on generic Linux platforms in January and soon on AIX and Windows
Purpose Global Data Services Global SService Manager supporting utilities.
AUTHID CURRENT_USER
Constants
Name Data Type Value
 General
GSMAdmin NUMBER 1
GSMPoolAdmin NUMBER 2
releaseLockCommit NUMBER 1
releaseLockRollback NUMBER 2
 Catalog Update Modes
noUpdate (catalog not updated) NUMBER 0
updNoGSM (catalog Update does not require running GSM) NUMBER 1
updGSM (catalog update requires running GSM) NUMBER 2
Dependencies
DBMS_GSM_CLOUDADMIN DBMS_GSM_POOLADMIN DBMS_LOCK
DBMS_GSM_CURUSER DBMS_GSM_UTILITY DBMS_SYS_ERROR
Documented No
First Available 12.1
Security Model Owned by GSMADMIN_INTERNAL with EXECUTE granted to PUBLIC

This function is executable by PUBLIC and runs with gsmadmin_internal privileges. It *MUST* check that the real calling session user has the privilege to perform catalog operations first -- (before anything else is done). The "privs" and "pool_name" parameters provide the require privileges for the current "lock" operation. The sequence of events is that the user "locks" the catalog, performs the desired operation, and then unlocks the catalog.
Source {ORACLE_HOME}/rdbms/admin/dbmsgwmut.sql
Subprograms
 
GETCATALOGLOCK
Gets the catalog lock prior to making a change to the cloud catalog

Overload 1
dbms_gsm_nopriv.getCatalogLock(
currentChangeSeq OUT NUMBER,
privs            IN  NUMBER DEFAULT GSMAdmin);
-- after granting execute to SYSTEM and logging on as SYSTEM
DECLARE
 outVal NUMBER;
BEGIN
  gsmadmin_internal.dbms_gsm_nopriv.getCatalogLock(outVal);
  dbms_output.put_line(outVal);
END;
/
*
ORA-01403: no data found
Overload 2 dbms_gsm_nopriv.getCatalogLock(
currentChangeSeq OUT NUMBER,
privs            IN  NUMBER   DEFAULT GSMAdmin,
gdsctl_version   IN  VARCHAR2 DEFAULT NULL,
catalog_version  OUT NUMBER,
update_mode      IN  NUMBER   DEFAULT updNoGSM);
TBD
Overload 3 dbms_gsm_nopriv.getCatalogLock(
currentChangeSeq OUT NUMBER,
privs            IN  NUMBER   DEFAULT GSMAdmin,
gsm_version      IN  VARCHAR2 DEFAULT NULL,
gsm_name         IN  VARCHAR2 DEFAULT NULL,
catalog_version  OUT NUMBER,
update_mode      IN  NUMBER   DEFAULT noUpdate);
TBD
 
RELEASECATALOGLOCK
Releases the catalog lock and commits or rolls back the changes  made under the lock dbms_gsm_nopriv.releaseCatalogLock(
action    IN  NUMBER DEFAULT releaseLockCommit,
changeSeq OUT NUMBER);
DECLARE
 outVal NUMBER;
BEGIN
  gsmadmin_internal.dbms_gsm_nopriv.releaseCatalogLock(changeSeq=>outVal);
  dbms_output.put_line(outVal);
END;
/
*
ORA-03739: The specified database is not configured to be a catalog.

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_UTILITY
DBMS_GSM_XDB
EXCHANGE
What's New In 21c
What's New In 26ai

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