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