1.2.7 Vaults

An Exascale vault is a logical storage container that uses the physical resources provided by Exascale storage pools.

By default, a vault can use all the underlying storage pool resources. However, an Exascale administrator can limit the amount of space, I/O resources (I/Os per second, or IOPS), and cache resources associated with each vault.

Exascale vaults facilitate strict data separation, ensuring that data is isolated to specific users and separated from other data and users. A vault, and its contents, are invisible to users without the appropriate privileges. Without the correct entitlements, users of one vault cannot see another vault, even though data from both vaults may be striped across the same underlying storage pools.

To an end-user and Oracle Database, a vault appears like a top-level directory that contains files. Exascale uses the convention of beginning vault names with the at sign (@) character. For example, @my-vault. So, a fully qualified Exascale file path always starts with the at sign (@) and vault name, followed by the rest of the file path. For example, @my-vault/my-example/my-path/my-file-name.

Note that although a vault seems to use a hierarchical directory structure, it does not actually contain directories. Instead, each file has a path that can include virtual directories. For example, in the file path @my-vault/my-db1/datafiles/my-datafile1, my-db1 and datafiles function as virtual directories within the full file path. These virtual directories implicitly exist only as long as files reference them, and they are removed automatically when no files use them. As a result, there are no commands to create and delete virtual directories within a vault, and there are no permissions or access controls assigned to them.