3.8.1 Create a Resource Profile

Resource profiles govern how resources are managed within a vault. Each resource profile defines a set of resource limits and settings, which can be associated with various Exascale clients (Oracle databases and block store volumes).

To create a regular resource profile, use the ESCLI mkresourceprofile command and specify:

  • The name of the resource profile.

  • The name of the vault that the resource profile governs.

  • An attribute list that defines the resource limits and settings. The following list outlines all of the available attributes:

    • iopsShareEF: Specifies the relative share of I/O bandwidth (IOPS) from extreme flash (EF) storage media that is available to each client associated with the resource profile. Each client’s share is relative to all other client shares. A higher share value implies higher priority. The range of valid values is 1-100, and the default is 1.
    • iopsLimitEF: Specifies the upper limit of the I/O bandwidth (IOPS) from extreme flash (EF) storage media that is available to each client associated with the resource profile. The value represents a fraction out of 10000. The range of valid values is 1-10000. The default value is 10000 (effectively unlimited).
    • iopsShareHC: Specifies the relative share of I/O bandwidth (IOPS) from high capacity (HC) storage media that is available to each client associated with the resource profile. Each client’s share is relative to all other client shares. A higher share value implies higher priority. The range of valid values is 1-100, and the default is 1.
    • iopsLimitHC: Specifies the upper limit of the I/O bandwidth (IOPS) from high capacity (HC) storage media that is available to each client associated with the resource profile. The value represents a fraction out of 10000. The range of valid values is 1-10000. The default value is 10000 (effectively unlimited).
    • enableFlashCache: Enables or disables use of flash cache for clients associated with the resource profile. The value is Boolean, and the default is true (enabled).
    • flashCacheMin: Specifies the guaranteed minimum fraction of flash cache available to each client associated with the resource profile. The range of valid values is 0-10000. The default value is 0 (no set minimum). If the sum of all values across all resource profiles exceeds 10000, then all values are proportionally scaled down. This option is valid only when enableFlashCache=true.
    • flashCacheMax: Specifies the maximum fraction of flash cache available to each client associated with the resource profile. This option is valid only when enableFlashCache=true. The range of valid values is 0-10000. The default value is 10000. This option is valid only when enableFlashCache=true.
    • enableXrmemCache: Enables or disables use of Exadata RDMA Memory Cache (XRMEM cache) for clients associated with the resource profile. The value is Boolean, and the default is true (enabled).
    • xrmemCacheMin: Specifies the guaranteed minimum fraction of XRMEM cache available to each client associated with the resource profile. The range of valid values is 0-10000. The default value is 0 (no set minimum). If the sum of all values across all resource profiles exceeds 10000, then all values are proportionally scaled down. This option is valid only when enableXrmemCache=true.
    • xrmemCacheMax: Specifies the maximum fraction of XRMEM cache available to each client associated with the resource profile. This option is valid only when enableXrmemCache=true. The range of valid values is 0-10000. The default value is 10000. This option is valid only when enableXrmemCache=true.
    • enableFlashLog: Enables or disables use of flash log for clients associated with the resource profile. The value is Boolean, and the default is true (enabled).

For example:

@> mkresourceprofile myvaultname/myresourceprofilename --attributes iopsShareHC=40,iopsLimitHC=6000,enableXrmemCache=false

In addition to regular user-defined resource profiles, you can also create a system-reserved resource profile named $UNASSIGNED. All Exascale clients not explicitly associated with a resource profile are automatically governed by the $UNASSIGNED profile. The $UNASSIGNED resource profile contains only two modifiable attributes:

  • flashCacheMax: Specifies the maximum fraction of flash cache shared by clients associated with the $UNASSIGNED profile. The range of valid values is 0-10000. The default value is 10000.
  • xrmemCacheMax: Specifies the maximum fraction of XRMEM cache shared by clients associated with the $UNASSIGNED profile. The range of valid values is 0-10000. The default value is 10000.

For example:

@> mkresourceprofile myvaultname/$UNASSIGNED --attributes flashCacheMax=3000,xrmemCacheMax=2000

All Exascale clients governed by the $UNASSIGNED profile share the corresponding cache resources. The behavior differs from regular resource profiles, where each application of the resource profile defines the resource allocation for one associated client.

If the $UNASSIGNED resource profile does not exist, all unassigned Exascale clients share any unassigned flash cache space and XRMEM cache space. If there is no unassigned space to share, the system automatically reserves 5% of the cache space for unassigned Exascale clients.