The Library is currently in the process of being upgraded from Oracle Database Version 12.1.0.1 to
12.1.0.2. Demos are being upgraded to reflect the new Container paradigm as well as EBR (Edition Based Redefinition) and may contain
references to CDBs, PDBs, and other objects you may not be familiar with such as CDB_OBJECTS_AE: Welcome to 12c.

This package is an API service provider, underneath DBMS_DBFS_CONTENT that enables use of tape or Amazon S3 web service as store for data.
The data on tape (or Amazon S3 web service) is part of the Oracle Database and can be accessed through all standard APIs, but only via the database.
DBMS_DBFS_HS package provides users the ability to use tape (or Amazon S3 web service) as a storage tier when doing Information Lifecycle Management of their content.

dbms_dbfs_hs.createDirectory(
store_name IN VARCHAR2,
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
prop_flags IN INTEGER,
recurse IN INTEGER,
ctx IN dbms_dbfs_content_context_t);

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

dbms_dbfs_hs.createLink(
store_name IN VARCHAR2,
srcPath IN VARCHAR2,
dstPath IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
prop_flags IN INTEGER,
ctx IN dbms_dbfs_content_context_t);

dbms_dbfs_hs.createReference(
store_name IN VARCHAR2,
srcPath IN VARCHAR2,
dstPath IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
prop_flags IN INTEGER,
ctx IN dbms_dbfs_content_context_t);

Creates a new HS store in the schema under the ownership of the invoking session user."tbl_name" in tablespace "tbs_space"
is a placeholder of the store content cached in database. A "cache_size" worth of space will be used by the store to cache content in "tbs_name".

dbms_dbfs_hs.createStore(
store_name IN VARCHAR2,
store_type IN VARCHAR2,
tbl_name IN VARCHAR2,
tbs_name IN VARCHAR2,
cache_size IN NUMBER,
lob_cache_quota IN NUMBER DEFAULT NULL,
optimal_tarball_size IN NUMBER DEFAULT NULL,
schema_name IN VARCHAR2 DEFAULT NULL);

dbms_dbfs_hs.getPath(
store_name IN VARCHAR2,
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
content OUT BLOB,
item_type OUT INTEGER,
prop_flags IN INTEGER,
forUpdate IN INTEGER,
deref in IN INTEGER,
ctx in dbms_dbfs_content_context_t);

TBD

Overload 2

dbms_dbfs_hs.getPath(
store_name IN VARCHAR2,
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,amount IN OUT NUMBER,
offset IN NUMBER,
buffer OUT RAW,
prop_flags IN INTEGER,
ctx IN dbms_dbfs_content_context_t);

TBD

Overload 3

dbms_dbfs_hs.getPath(
store_name IN VARCHAR2,
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,amount IN OUT NUMBER,
offset IN NUMBER,
buffers OUT dbms_dbfs_content_raw_t,
prop_flags IN INTEGER,
ctx IN dbms_dbfs_content_context_t);

dbms_dbfs_hs.getPathNoWait(
store_name IN VARCHAR2,
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,
content OUT NOCOPY BLOB,
item_type OUT INTEGER,
prop_flags IN INTEGER,
deref IN INTEGER,
ctx IN dbms_dbfs_content_context_t);

Retrieves the values of a property, identified by PropertyName, of a store from the database.
If NoExcp is false, an exception is raised if the property does not exist. If noexcp is true, null is returned if the property does not exist.

dbms_dbfs_hs.putPath(
repos_name IN VARCHAR2,
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,
ctx IN dbms_dbfs_content_context_t);

TBD

Overload 2

dbms_dbfs_hs.putPath(
repos_name IN VARCHAR2,
path IN VARCHAR2,
properties IN OUT NOCOPY dbms_dbfs_content_properties_t,amount IN NUMBER,
offset IN NUMBER,
buffers OUT RAW,
prop_flags IN INTEGER,
ctx IN dbms_dbfs_content_context_t);

TBD

Overload 3

dbms_dbfs_hs.putPath(
repos_name IN VARCHAR2,
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,
ctx IN dbms_dbfs_content_context_t);

To begin pushing data to or getting data from an external store, first begin an API session (to talk to the store),
and after beginning the session, send all registered messages to the store before writing data

dbms_dbfs_hs.registerReposCommand(
repos_name IN VARCHAR2,
message IN VARCHAR2,
flags IN NUMBER);