Class DatabasePlanDirective


  • @Generated(value="OracleSDKGenerator",
               comments="API Version: 20201101")
    public final class DatabasePlanDirective
    extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
    Manages resource allocation among databases.

    Besides the name, at least one other property must be available.
    Note: Objects should always be created or deserialized using the DatabasePlanDirective.Builder. This model distinguishes fields that are null because they are unset from fields that are explicitly set to null. This is done in the setter methods of the DatabasePlanDirective.Builder, which maintain a set of all explicitly set fields called DatabasePlanDirective.Builder.__explicitlySet__. The hashCode() and equals(Object) methods are implemented to take the explicitly set fields into account. The constructor, on the other hand, does not take the explicitly set fields into account (since the constructor cannot distinguish explicit null from unset null).

    • Method Detail

      • getName

        public String getName()
        The name of a database or a profile.
        Returns:
        the value
      • getShare

        public Integer getShare()
        The relative priority of a database in the database plan.

        A higher share value implies higher priority and more access to the I/O resources. Use either share or (level, allocation). All plan directives in a database plan should use the same setting. Share-based resource allocation is the recommended method for a database plan.

        Returns:
        the value
      • getLevel

        public Integer getLevel()
        The allocation level.

        Valid values are from 1 to 8. Resources are allocated to level 1 first, and then remaining resources are allocated to level 2, and so on.

        Returns:
        the value
      • getAllocation

        public Integer getAllocation()
        The resource allocation as a percentage (0-100) within the level.
        Returns:
        the value
      • getLimit

        public Integer getLimit()
        The maximum I/O utilization limit as a percentage of the available resources.
        Returns:
        the value
      • getIsFlashCacheOn

        public Boolean getIsFlashCacheOn()
        Controls use of Exadata Smart Flash Cache by a database.

        This ensures that cache space is reserved for mission-critical databases. flashcache=off is invalid in a directive that contains the flashcachemin, flashcachelimit, or flashcachesize attributes.

        Returns:
        the value
      • getIsPmemCacheOn

        public Boolean getIsPmemCacheOn()
        Controls use of the persistent memory (PMEM) cache by a database.

        This ensures that cache space is reserved for mission-critical databases. pmemcache=off is invalid in a directive that contains the pmemcachemin, pmemcachelimit, or pmemcachesize attributes.

        Returns:
        the value
      • getIsFlashLogOn

        public Boolean getIsFlashLogOn()
        Controls use of Exadata Smart Flash Log by a database.

        This ensures that Exadata Smart Flash Log is reserved for mission-critical databases.

        Returns:
        the value
      • getIsPmemLogOn

        public Boolean getIsPmemLogOn()
        Controls use of persistent memory logging (PMEM log) by a database.

        This ensures that PMEM log is reserved for mission-critical databases.

        Returns:
        the value
      • getFlashCacheLimit

        public String getFlashCacheLimit()
        Defines a soft limit for space usage in Exadata Smart Flash Cache.

        If the cache is not full, the limit can be exceeded. You specify the value for flashcachelimit in bytes. You can also use the suffixes M (megabytes), G (gigabytes), or T (terabytes) to specify larger values. For example, 300M, 150G, or 1T. The value for flashcachelimit must be at least 4 MB. The flashcachelimit and flashcachesize attributes cannot be specified in the same directive. The value for flashcachelimit cannot be smaller than flashcachemin, if it is specified.

        Returns:
        the value
      • getFlashCacheMin

        public String getFlashCacheMin()
        Specifies a minimum guaranteed space allocation in Exadata Smart Flash Cache.

        You specify the value for flashcachemin in bytes. You can also use the suffixes M (megabytes), G (gigabytes), or T (terabytes) to specify larger values. For example, 300M, 150G, or 1T. The value for flashcachemin must be at least 4 MB. In any plan, the sum of all flashcachemin values cannot exceed the size of Exadata Smart Flash Cache. If flashcachelimit is specified, then the value for flashcachemin cannot exceed flashcachelimit. If flashcachesize is specified, then the value for flashcachemin cannot exceed flashcachesize.

        Returns:
        the value
      • getFlashCacheSize

        public String getFlashCacheSize()
        Defines a hard limit for space usage in Exadata Smart Flash Cache.

        The limit cannot be exceeded, even if the cache is not full. In an IORM plan, if the size of Exadata Smart Flash Cache can accommodate all of the flashcachemin and flashcachesize allocations, then each flashcachesize definition represents a guaranteed space allocation. However, starting with Oracle Exadata System Software release 19.2.0 you can use the flashcachesize attribute to over-provision space in Exadata Smart Flash Cache. Consequently, if the size of Exadata Smart Flash Cache cannot accommodate all of the flashcachemin and flashcachesize allocations, then only flashcachemin is guaranteed.

        Returns:
        the value
      • getPmemCacheLimit

        public String getPmemCacheLimit()
        Defines a soft limit for space usage in the persistent memory (PMEM) cache.

        If the cache is not full, the limit can be exceeded. You specify the value for pmemcachelimit in bytes. You can also use the suffixes M (megabytes), G (gigabytes), or T (terabytes) to specify larger values. For example, 300M, 150G, or 1T. The value for pmemcachelimit must be at least 4 MB. The pmemcachelimit and pmemcachesize attributes cannot be specified in the same directive. The value for pmemcachelimit cannot be smaller than pmemcachemin, if it is specified.

        Returns:
        the value
      • getPmemCacheMin

        public String getPmemCacheMin()
        Specifies a minimum guaranteed space allocation in the persistent memory (PMEM) cache.
        Returns:
        the value
      • getPmemCacheSize

        public String getPmemCacheSize()
        Defines a hard limit for space usage in the persistent memory (PMEM) cache.

        The limit cannot be exceeded, even if the cache is not full. In an IORM plan, if the size of the PMEM cache can accommodate all of the pmemcachemin and pmemcachesize allocations, then each pmemcachesize definition represents a guaranteed space allocation. However, you can use the pmemcachesize attribute to over-provision space in the PMEM cache. Consequently, if the PMEM cache size cannot accommodate all of the pmemcachemin and pmemcachesize allocations, then only pmemcachemin is guaranteed.

        Returns:
        the value
      • getAsmCluster

        public String getAsmCluster()
        Starting with Oracle Exadata System Software release 19.1.0, you can use the asmcluster attribute to distinguish between databases with the same name running in different Oracle ASM clusters.
        Returns:
        the value
      • getType

        public DatabasePlanTypeEnum getType()
        Enables you to create a profile or template, to ease management and configuration of resource plans in environments with many databases.

        - type=database: Specifies a directive that applies to a specific database. If type in not specified, then the directive defaults to the database type. - type=profile: Specifies a directive that applies to a profile rather than a specific database.

        To associate a database with an IORM profile, you must set the database initialization parameter db_performance_profile to the value of the profile name. Databases that map to a profile inherit the settings specified in the profile.

        Returns:
        the value
      • getRole

        public DatabasePlanRoleEnum getRole()
        Enables you to specify different plan directives based on the Oracle Data Guard database role.
        Returns:
        the value
      • toString

        public String toString()
        Overrides:
        toString in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
      • toString

        public String toString​(boolean includeByteArrayContents)
        Return a string representation of the object.
        Parameters:
        includeByteArrayContents - true to include the full contents of byte arrays
        Returns:
        string representation
      • equals

        public boolean equals​(Object o)
        Overrides:
        equals in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel