Which has the higher priority in your organization: Deploying a new database or securing the ones you already have?
Looking for a website, and resources, dedicated solely to securing Oracle databases? Check out DBSecWorx.
Purpose
Simple Oracle Document Access (SODA) for PL/SQL allows PL/SQL functions, packages, and procedures interact with SODA document collections stored in the database.
AUTHID
DEFINER
DDL
Dependencies
DBMS_SODA
DBMS_SODA_DOM
SODA_CURSOR_T
DBMS_SODACOLL_LIB
DBMS_SODA_LIB
SODA_DOCUMENT_LIST_T
DBMS_SODACUR
DBMS_SODA_UTIL
SODA_DOCUMENT_T
DBMS_SODADOC_LIB
JSON$USER_COLLECTION_METADATA
SODA_KEY_LIST_T
DBMS_SODAOPR_LIB
SODA_COLLECTION_T
SODA_OPERATION_T
DBMS_SODA_ADMIN
SODA_COLLNAME_LIST_T
USER_SODA_COLLECTIONS
DBMS_SODA_DML
Documented
No
First Available
Not Known
Security Model
Owned by SYS with EXECUTE granted to ???
Source
{ORACLE_HOME}/rdbms/admin/
Subprograms
H
H (new 20c)
Create schema and grant privileges
conn sys@pdbdev as sysdba
CREATE USER uwsoda
IDENTIFIED BY uwsoda
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
PROFILE default;
GRANT soda_app TO uwsoda;
Create and open a collection, an instance of PL/SQL object type SODA_COLLECTION_T, using the default collection configuration
conn uwsoda/uwsoda@pdbdev
CREATE OR REPLACE PROCEDURE sodaproc AUTHID CURRENT USER IS
collection SODA_COLLECTION_T;
document SODA_DOCUMENT_T;
foundDoc SODA_DOCUMENT_T;
resultDoc SODA_DOCUMENT_T;
docKey VARCHAR2(100);
status NUMBER;
BEGIN
-- create a collection
collection := dbms_soda.create_collection('uwSODACollection');
-- insert and retrive a document
resultDoc := collection.insert_one_and_get(document);
COMMIT;
-- the document has auto-generated key, version, as well as contents
-- output the the auto-generated document key
docKey := resultDoc.get_key;
dbms_output.put_line('Auto-generated key is: ' || docKey);
-- return the document by its key
foundDoc := collection.find_one(docKey);