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
The DBFS Store API
Note
See also {ORACLE_HOME}/rdbms/admin/dbfs_create_filesystem_advanced.sql
Check if a given pathname (path, pathtype, store_name) can be manipulated by "operation (see the various "op_xxx" opcode above) by "principal"
alt. description
Reports if the user (principal) can perform the specified operation on the given path
dbms_dbfs_content.checkAccess(
path IN VARCHAR2,
pathtype IN INTEGER,
operation IN VARCHAR2,
principal IN VARCHAR2,
store_name IN VARCHAR2 DEFAULT NULL)
RETURN BOOLEAN;
Given the name of a putative dbms_dbfs_content_spi conforming package, attempt to check the package implements provider methods (with the proper signatures), and report on the conformance
Overload 1
dbms_dbfs_content.checkSpi(package_name IN VARCHAR2)
RETURN CLOB;
TBD
Overload 2
dbms_dbfs_content.checkSpi(
schema_name IN VARCHAR2,
package_name IN VARCHAR2)
RETURN CLOB;
TBD
Overload 3
dbms_dbfs_content.checkSpi(
package_name IN VARCHAR2,
chk IN OUT NOCOPY CLOB);
TBD
Overload 4
dbms_dbfs_content.checkSpi(
schema_name IN VARCHAR2,
package_name IN VARCHAR2,
chk IN OUT NOCOPY CLOB);
dbms_dbfs_content.createDirectory(
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
prop_flags IN INTEGER DEFAULT prop_std,
recurse IN BOOLEAN DEFAULT FALSE,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 2
dbms_dbfs_content.createDirectory(
path IN VARCHAR2,
properties IN OUT NOCOPY properties_t,
prop_flags IN INTEGER DEFAULT prop_std,
recurse IN BOOLEAN DEFAULT FALSE,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
dbms_dbfs_content.createFile(
store_name IN VARCHAR2,
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
content IN OUT NOCOPY BLOB,
prop_flags IN INTEGER,
ctx IN dbms_dbfs_content_context_t);
TBD
Overload 2
dbms_dbfs_content.createFile(
path IN VARCHAR2,
properties IN OUT NOCOPY properties_t,
content IN OUT NOCOPY BLOB,
prop_flags IN INTEGER DEFAULT (prop_std + prop_data),
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
Creates a new reference to the source file system element
Overload 1
dbms_dbfs_content.createLink(
srcPath IN VARCHAR2,
dstPath IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
prop_flags IN INTEGER DEFAULT prop_std,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 2
dbms_dbfs_content.createLink(
srcPath IN VARCHAR2,
dstPath IN VARCHAR2,
properties IN OUT NOCOPY properties_t,
prop_flags IN INTEGER DEFAULT prop_std,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
Creates a physical link to an already existing file system element
Overload 1
dbms_dbfs_content.createReference(
srcPath IN VARCHAR2,
dstPath IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
prop_flags IN INTEGER DEFAULT prop_std,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 2
dbms_dbfs_content.createreference(
srcPath IN VARCHAR2,
dstPath IN VARCHAR2,
properties IN OUT NOCOPY properties_t,
prop_flags IN INTEGER DEFAULT prop_std,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
dbms_dbfs_content.decodeContent(
store_name IN VARCHAR2,
contentID IN RAW,
filter IN VARCHAR2 DEFAULT NULL,
soft_delete IN BOOLEAN DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
dbms_dbfs_content.deleteDirectory(
path IN VARCHAR2,
filter IN VARCHAR2 DEFAULT NULL,
soft_delete IN BOOLEAN DEFAULT NULL,
recurse IN BOOLEAN DEFAULT FALSE,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
dbms_dbfs_content.deleteFile(
path IN VARCHAR2,
filter IN VARCHAR2 DEFAULT NULL,
soft_delete IN BOOLEAN DEFAULT NULL,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
dbms_dbfs_content.downgradeGetAttrView(
store_name IN VARCHAR2,
store_mount IN VARCHAR2,
store_prop IN dbms_dbfs_content_properties_t,
store_owner IN VARCHAR2 DEFAULT NULL);
Returns existing path items (such as files and directories)
Overload 1
dbms_dbfs_content.getPath(
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
content OUT NOCOPY BLOB,
item_type OUT INTEGER,
prop_flags IN INTEGER DEFAULT (prop_std + prop_opt + prop_data),
asof IN TIMESTAMP DEFAULT NULL,
forUpdate IN BOOLEAN DEFAULT FALSE,
deref IN BOOLEAN DEFAULT FALSE,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 2
dbms_dbfs_content.getPath(
path IN VARCHAR2,
properties IN OUT NOCOPY properties_t,
content OUT NOCOPY BLOB,
item_type OUT INTEGER,
prop_flags IN INTEGER DEFAULT (prop_std + prop_opt + prop_data),
asof IN TIMESTAMP DEFAULT NULL,
forUpdate IN BOOLEAN DEFAULT FALSE,
deref IN BOOLEAN DEFAULT FALSE,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 3
dbms_dbfs_content.getPath(
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
amount IN OUT NUMBER,
offset IN NUMBER,
buffer OUT NOCOPY RAW,
prop_flags IN INTEGER DEFAULT (prop_std + prop_opt),
asof IN TIMESTAMP DEFAULT NULL,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 4
dbms_dbfs_content.getPath(
path IN VARCHAR2,
properties IN OUT NOCOPY properties_t,
amount IN OUT NUMBER,
offset IN NUMBER,
buffer OUT NOCOPY RAW,
prop_flags IN INTEGER DEFAULT (prop_std + prop_opt),
asof IN TIMESTAMP DEFAULT NULL,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 5
dbms_dbfs_content.getPath(
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
amount IN OUT NUMBER,
offset IN NUMBER,
buffers OUT NOCOPY dbms_dbfs_content_RAW_t,
prop_flags IN INTEGER DEFAULT (prop_std + prop_opt),
asof IN TIMESTAMP DEFAULT NULL,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 6
dbms_dbfs_content.getPath(
path IN VARCHAR2,
properties IN OUT NOCOPY properties_t,
amount IN OUT NUMBER,
offset IN NUMBER,
buffers OUT NOCOPY dbms_dbfs_content_RAW_t,
prop_flags IN INTEGER DEFAULT (prop_std + prop_opt),
asof IN TIMESTAMP DEFAULT NULL,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
Implies that the operation is for an update, and, if implemented, allows providers to return an exception (ORA-00054) rather than wait for row locks
Overload 1
dbms_dbfs_content.getPathNoWait(
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
content OUT NOCOPY BLOB,
item_type OUT INTEGER,
prop_flags IN INTEGER DEFAULT (prop_std + prop_opt + prop_data),
deref IN BOOLEAN DEFAULT FALSE,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 2
dbms_dbfs_content.getPathNoWait(
path IN VARCHAR2,
properties IN OUT NOCOPY properties_t,
content OUT NOCOPY BLOB,
item_type OUT INTEGER,
prop_flags IN INTEGER DEFAULT (prop_std + prop_opt + prop_data),
deref IN BOOLEAN DEFAULT FALSE,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
dbms_dbfs_content.isPathLocked(
path IN VARCHAR2,
who IN VARCHAR2,
lock_type IN OUT INTEGER,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 2
dbms_dbfs_content.isPathLocked(
store_name IN VARCHAR2,
path IN VARCHAR2,
who IN VARCHAR2,
lock_type IN OUT INTEGER,
ctx IN dbms_dbfs_content_context_t);
Lists the path items in the specified path meeting the specified filter and other criteria
dbms_dbfs_content.list(
path IN VARCHAR2,
filter IN VARCHAR2 DEFAULT NULL,
recurse IN INTEGER DEFAULT 0,
asof IN TIMESTAMP DEFAULT NULL,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL)
RETURN dbms_dbfs_content_list_items_t PIPELINED;
A highly specialized directory enumerator that is meant for use with "dbms_fuse" and "dbfs_client" as callers, and with "dbms_dbfs_sfs.listCursor" as the callee
dbms_dbfs_content.listCursor(
path IN VARCHAR2,
withProps IN INTEGER DEFAULT 0,
doSort IN INTEGER DEFAULT 0,
doFts IN INTEGER DEFAULT 0,
doBulk IN INTEGER DEFAULT 0)
RETURN INTEGER;
Apply user-level locks to any valid pathname (subject to store feature support)
dbms_dbfs_content.lockPath(
path IN VARCHAR2,
lock_type IN INTEGER DEFAULT lock_read_only,
lock_data IN VARCHAR2 DEFAULT NULL,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
Mount a registered store "store_name" and bind it to the "store_mount" mount-point
dbms_dbfs_content.mountStore(
store_name IN VARCHAR2,
store_mount IN VARCHAR2 DEFAULT NULL,
singleton IN BOOLEAN DEFAULT FALSE,
principal IN VARCHAR2 DEFAULT NULL,
owner IN VARCHAR2 DEFAULT NULL,
acl IN VARCHAR2 DEFAULT NULL,
asof IN TIMESTAMP DEFAULT NULL,
read_only IN BOOLEAN DEFAULT FALSE,
view_name IN VARCHAR2 DEFAULT NULL);
dbms_dbfs_content.movePath(
oldpath IN VARCHAR2,
newpath IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_content_properties_t,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 2
dbms_dbfs_content.movePath(
oldpath IN VARCHAR2,
newpath IN VARCHAR2,
properties IN OUT NOCOPY properties_t,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
Convert a store-specific or full-absolute pathname into normalized form: -> verifies that the pathname is absolute, i.e. starts with a "/".
Overload 1
dbms_dbfs_content.normalizePath(
path IN VARCHAR2,
parent OUT NOCOPY VARCHAR2,
tpath OUT NOCOPY VARCHAR2)
RETURN VARCHAR2;
TBD
Overload 2
dbms_dbfs_content.normalizePath(
path IN VARCHAR2,
store_name OUT NOCOPY VARCHAR2,
parent OUT NOCOPY VARCHAR2,
tpath OUT NOCOPY VARCHAR2)
RETURN VARCHAR2;
TBD
Overload 3
dbms_dbfs_content.normalizePath(
path IN VARCHAR2,
forWrite IN INTEGER,
store_name OUT NOCOPY VARCHAR2,
parent OUT NOCOPY VARCHAR2,
tpath OUT NOCOPY VARCHAR2,
provider OUT NOCOPY VARCHAR2,
ctx OUT NOCOPY dbms_dbfs_content_context_t)
RETURN VARCHAR2;
Purges all soft-deleted entries matching the path and optional filter criteria
dbms_dbfs_content.purgeAll(
path IN VARCHAR2,
filter IN VARCHAR2 DEFAULT NULL,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
Purges any soft-deleted versions of the given path item
dbms_dbfs_content.purgePath(
path IN VARCHAR2,
filter IN VARCHAR2 DEFAULT NULL,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
dbms_dbfs_content.putPath(
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
content IN OUT NOCOPY BLOB,
item_type OUT INTEGER,
prop_flags IN INTEGER DEFAULT (prop_std + prop_opt + prop_data),
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 2
dbms_dbfs_content.putPath(
path IN VARCHAR2,
properties IN OUT NOCOPY properties_t,
content IN OUT NOCOPY BLOB,
item_type OUT INTEGER,
prop_flags IN INTEGER DEFAULT (prop_std + prop_opt + prop_data),
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 3
dbms_dbfs_content.putPath(
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
amount IN NUMBER,
offset IN NUMBER,
buffer IN RAW,
prop_flags IN INTEGER DEFAULT (prop_std + prop_opt),
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 4
dbms_dbfs_content.putPath(
path IN VARCHAR2,
properties IN OUT NOCOPY properties_t,
amount IN NUMBER,
offset IN NUMBER,
buffer IN RAW,
prop_flags IN INTEGER DEFAULT (prop_std + prop_opt),
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 5
dbms_dbfs_content.putPath(
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
written OUT NUMBER,
offset IN NUMBER,
buffers IN dbms_dbfs_content_raw_t,
prop_flags IN INTEGER DEFAULT (prop_std + prop_opt),
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 6
dbms_dbfs_content.putPath(
path IN VARCHAR2,
properties IN OUT NOCOPY properties_t,
written OUT NUMBER,
offset IN NUMBER,
buffers IN dbms_dbfs_content_raw_t,
prop_flags IN INTEGER DEFAULT (prop_std + prop_opt),
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
Register a new store "store_name" backed by provider "provider_name"
that uses "provider_package" as the store provider (conforming to the "dbms_dbfs_content_spi" package signature)
dbms_dbfs_content.registerStore(
store_name IN VARCHAR2,
provider_name IN VARCHAR2,
provider_package IN VARCHAR2);
dbms_dbfs_content.renamePath(
oldPath IN VARCHAR2,
newPath IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 2
dbms_dbfs_content.renamePath(
oldPath IN VARCHAR2,
newPath IN VARCHAR2,
properties IN OUT NOCOPY properties_t,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
Restores all soft-deleted path items meeting the path and filter criteria
dbms_dbfs_content.restoreAll(
path IN VARCHAR2,
filter IN VARCHAR2 DEFAULT NULL,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
Restores all soft-deleted path items that match the given path and filter criteria
dbms_dbfs_content.restorePath(
path IN VARCHAR2,
filter IN VARCHAR2 DEFAULT NULL,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL);
dbms_dbfs_content.search(
path IN VARCHAR2,
filter IN VARCHAR2 DEFAULT NULL,
recurse IN INTEGER DEFAULT 0,
asof IN TIMESTAMP DEFAULT NULL,
store_name IN VARCHAR2 DEFAULT NULL,
principal IN VARCHAR2 DEFAULT NULL)
RETURN dbms_dbfs_content_list_items_t PIPELINED;
Assigns a path name to a path item represented by contentID
Overload 1
dbms_dbfs_content.setPath(
store_name IN VARCHAR2,
contentID IN RAW,
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
principal IN VARCHAR2 DEFAULT NULL);
TBD
Overload 2
dbms_dbfs_content.setPath(
store_name IN VARCHAR2,
contentID IN RAW,
path IN VARCHAR2,
properties IN OUT NOCOPY properties_t,
principal IN VARCHAR2 DEFAULT NULL);
dbms_dbfs_content.spaceUsage(
store_name IN VARCHAR2,
blksize OUT INTEGER,
tbytes OUT INTEGER,
fbytes OUT INTEGER,
nfile OUT INTEGER,
ndir OUT INTEGER,
nlink OUT INTEGER,
nref OUT INTEGER);
TBD
Overload 2
dbms_dbfs_content.spaceUsage(
store_name IN VARCHAR2,
blksize OUT INTEGER,
tbytes OUT INTEGER,
fbytes OUT INTEGER,
nfile OUT INTEGER,
ndir OUT INTEGER,
nlink OUT INTEGER,
nref OUT INTEGER,
useEstimate IN INTEGER);
dbms_dbfs_content.trace(
sev IN INTEGER,
msg0 IN VARCHAR2,
msg1 IN VARCHAR DEFAULT '',
msg2 IN VARCHAR DEFAULT '',
msg3 IN VARCHAR DEFAULT '',
msg4 IN VARCHAR DEFAULT '',
msg5 IN VARCHAR DEFAULT '',
msg6 IN VARCHAR DEFAULT '',
msg7 IN VARCHAR DEFAULT '',
msg8 IN VARCHAR DEFAULT '',
msg9 IN VARCHAR DEFAULT '',
msg10 IN VARCHAR DEFAULT '');
dbms_dbfs_content.upgradeGetAttrView(
store_name IN VARCHAR2,
store_mount IN VARCHAR2,
store_prop IN dbms_dbfs_content_properties_t,
store_owner IN VARCHAR2 DEFAULT NULL);