ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com. Request a Workshop for
your organization today.
Purpose
This package is a PL/SQL package implementing Simple Oracle Document Access (SODA). SODA allows you to use the Oracle Database as a NoSQL document store. The core abstraction provided by SODA is that of document collections.
The DBMS_SODA package allows you to create, list, and delete document collections from PL/SQL, and to perform CRUD (create, replace, update, delete) operations on documents.All DDL functions are encapsulated within this package.
AUTHID
CURRENT_USER
Constants
Name
Data Type
Value
Content Types
DOC_VARCHAR2
PLS_INTEGER
1
DOC_BLOB
PLS_INTEGER
2
DOC_CLOB
PLS_INTEGER
3
DOC_JSON
PLS_INTEGER
4
Collection Create Modes
CREATE_MODE_DDL
PLS_INTEGER
1
CREATE_MODE_MAP
PLS_INTEGER
2
Data Guide Formats
DATAGUIDE_FORMAT_HIERARCHICAL
PLS_INTEGER
1
DATAGUIDE_FORMAT_FLAT
PLS_INTEGER
2
Data guide Flags
DATAGUIDE_PRETTY
PLS_INTEGER
1
DATAGUIDE_GEOJSON
PLS_INTEGER
2
DATAGUIDE_GATHER_STATS
PLS_INTEGER
4
MV Refresh Constants
MV_REFRESH_ON_STATEMENT
PLS_INTEGER
1
MV_REFRESH_ON_COMMIT
PLS_INTEGER
2
MV_REFRESH_ON_DEMAND
PLS_INTEGER
3
Data Types
CREATE OR REPLACE TYPE SODA_Collection_T FORCE
OID '00000000000000000000000000020017'
authid current_user
AS OPAQUE VARYING (*)
USING library DBMS_SODACOLL_LIB
(...;
/
CREATE OR REPLACE TYPE SYS.SODA_CollName_List_T FORCE
AS TABLE OF NVARCHAR2(255);
/
CREATE OR REPLACE TYPE SODA_Document_T FORCE
OID '00000000000000000000000000020018'
authid current_user
AS OPAQUE VARYING (*)
USING library DBMS_SODADOC_LIB
(...;
/
CREATE OR REPLACE TYPE SODA_Operation_T FORCE
OID '00000000000000000000000000020019'
authid current_user
AS OPAQUE VARYING (*)
USING library DBMS_SODAOPR_LIB
(...;
/
Dependencies
DBMS_SODA_LIB
PLITBLM
SODA_COLLNAME_LIST_T
JSON$USER_COLLECTION_METADATA
SODA_COLLECTION_T
Documented
Yes
First Available
18.1
Security Model
Owned by SYS with EXECUTE granted to PUBLIC
The Library's recommendation is that you revoke EXECUTE from PUBLIC. Everybody with a valid userID does not need to be able to drop collections.
dbms_soda.copy_collection_dependents(
original_collection_name IN NVARCHAR2,
interim_collection_name IN NVARCHAR2,
ignore_errors IN BOOLEAN,
num_errors OUT BINARY_INTEGER);
dbms_soda.finish_redef_collection(
original_collection_name IN NVARCHAR2,
interim_collection_name IN NVARCHAR2,
dml_lock_timeout IN BINARY_INTEGER,
omit_constraint_check IN BOOLEAN);
dbms_soda.start_redef_collection(
original_collection_name IN NVARCHAR2,
interim_collection_name IN NVARCHAR2,
copy_vpd_opt IN BINARY_INTEGER,
refresh_dep_mviews IN VARCHAR2);