5.2.3.8 Using XRMEM Cache Attributes

You can use XRMEM cache attributes in the IORM plan to guarantee space allocation in the Exadata RDMA Memory Cache (XRMEM cache).

Using XRMEM cache attributes, IORM can reserve space for critical databases or clusters while preventing less important or rogue entities from consuming the entire XRMEM cache. These attributes can only be specified in an interdatabase plan or the cluster plan, and are configured using the CellCLI utility.

You can use the following attributes to set limits for XRMEM cache resources. A hard limit means the database cannot exceed its quota even when the memory cache is not full. A soft limit means that the specified limit can be exceeded if there are available resources.

  • xrmemCacheMin — Specifies the minimum amount of XRMEM cache space that is guaranteed for the specified database in an interdatabase IORM plan directive. This is a hard limit that guarantees space, even if the cached data is cold.

    Starting with Oracle Exadata System Software release 26.1.0, xrmemCacheMin is also available as an attribute in a cluster plan directive, where it specifies the minimum amount of XRMEM cache space that is guaranteed for the corresponding cluster.

    Because xrmemCacheMin is a guaranteed reservation, the sum of xrmemCacheMin across all directives should be less than the size of the XRMEM cache to ensure that each entity gets its respective quota.

  • xrmemCacheSize — Specifies the hard maximum amount of XRMEM cache space that is available to the database in an interdatabase IORM plan directive. The xrmemCacheSize value cannot be exceeded at any time.

    Starting with Oracle Exadata System Software release 26.1.0, xrmemCacheSize is also available as an attribute in a cluster plan directive, where it specifies the hard maximum amount of XRMEM cache space that is available to the corresponding cluster.

    If you set xrmemCacheSize to a value that is lower than the current space occupied by the entity, then excess data is proactively cleared from the cache.

    An xrmemCacheSize setting is not a guaranteed reservation if the sum of the xrmemCacheSize across all directives is more than the size of the XRMEM cache. In this case, you can also specify xrmemCacheMin to define a guaranteed minimum quota.

    Note:

    On Exadata X8M and X9M storage server models only, you can interchangeably use attribute names starting with pmem instead of xrmem. For example, pmemCacheMin instead of xrmemCacheMin. However, you cannot have a mixture of PMEM and XRMEM attributes in the IORM plan.

  • xrmemCacheLimit — Specifies the soft maximum amount of XRMEM cache space that is available to the database in an interdatabase IORM plan directive. If the XRMEM cache is not full, a database can exceed the xrmemCacheLimit value.

    Note:

    Starting with Oracle Exadata System Software release 26.1.0, the xrmemCacheLimit attribute is deprecated, and a warning message is issued when xrmemCacheLimit is set.

Example 5-12 Configuring an Interdatabase Plan with XRMEM Cache Attributes

This example shows how to create an interdatabase plan with XRMEM cache attributes.

In the example, the sales and test databases are allocated an amount of space in the XRMEM cache by using the xrmemCacheSize parameter. But, the databases cannot exceed the specified allocation, even if the XRMEM cache has free space.

The finc and dev databases use xrmemCacheMin for guaranteed minimum quotas. These databases can also exceed the specified xrmemCacheLimit size when there is free space in the XRMEM cache.

The example plan also contains various flash cache attributes.

ALTER IORMPLAN dbplan=                                                                             -
((name=sales, share=8, xrmemCacheSize=2G, flashCacheSize=10G),                                     -
(name=finc, share=8, xrmemCacheMin=1G, xrmemCacheLimit=2G, flashCacheLimit=10G, flashCacheMin=2G), -
(name=dev, share=2, xrmemCacheMin=500M, xrmemCacheLimit=1G, flashCacheLimit=4G, flashCacheMin=1G), -
(name=test, share=1, limit=10, xrmemCacheSize=200M))