Class DatabasePlanDirective.Builder

    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • share

        public DatabasePlanDirective.Builder share​(Integer share)
        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.

        Parameters:
        share - the value to set
        Returns:
        this builder
      • level

        public DatabasePlanDirective.Builder level​(Integer level)
        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.

        Parameters:
        level - the value to set
        Returns:
        this builder
      • allocation

        public DatabasePlanDirective.Builder allocation​(Integer allocation)
        The resource allocation as a percentage (0-100) within the level.
        Parameters:
        allocation - the value to set
        Returns:
        this builder
      • limit

        public DatabasePlanDirective.Builder limit​(Integer limit)
        The maximum I/O utilization limit as a percentage of the available resources.
        Parameters:
        limit - the value to set
        Returns:
        this builder
      • isFlashCacheOn

        public DatabasePlanDirective.Builder isFlashCacheOn​(Boolean isFlashCacheOn)
        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.

        Parameters:
        isFlashCacheOn - the value to set
        Returns:
        this builder
      • isPmemCacheOn

        public DatabasePlanDirective.Builder isPmemCacheOn​(Boolean isPmemCacheOn)
        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.

        Parameters:
        isPmemCacheOn - the value to set
        Returns:
        this builder
      • isFlashLogOn

        public DatabasePlanDirective.Builder isFlashLogOn​(Boolean isFlashLogOn)
        Controls use of Exadata Smart Flash Log by a database.

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

        Parameters:
        isFlashLogOn - the value to set
        Returns:
        this builder
      • isPmemLogOn

        public DatabasePlanDirective.Builder isPmemLogOn​(Boolean isPmemLogOn)
        Controls use of persistent memory logging (PMEM log) by a database.

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

        Parameters:
        isPmemLogOn - the value to set
        Returns:
        this builder
      • flashCacheLimit

        public DatabasePlanDirective.Builder flashCacheLimit​(String flashCacheLimit)
        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.

        Parameters:
        flashCacheLimit - the value to set
        Returns:
        this builder
      • flashCacheMin

        public DatabasePlanDirective.Builder flashCacheMin​(String flashCacheMin)
        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.

        Parameters:
        flashCacheMin - the value to set
        Returns:
        this builder
      • flashCacheSize

        public DatabasePlanDirective.Builder flashCacheSize​(String flashCacheSize)
        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.

        Parameters:
        flashCacheSize - the value to set
        Returns:
        this builder
      • pmemCacheLimit

        public DatabasePlanDirective.Builder pmemCacheLimit​(String pmemCacheLimit)
        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.

        Parameters:
        pmemCacheLimit - the value to set
        Returns:
        this builder
      • pmemCacheMin

        public DatabasePlanDirective.Builder pmemCacheMin​(String pmemCacheMin)
        Specifies a minimum guaranteed space allocation in the persistent memory (PMEM) cache.
        Parameters:
        pmemCacheMin - the value to set
        Returns:
        this builder
      • pmemCacheSize

        public DatabasePlanDirective.Builder pmemCacheSize​(String pmemCacheSize)
        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.

        Parameters:
        pmemCacheSize - the value to set
        Returns:
        this builder
      • asmCluster

        public DatabasePlanDirective.Builder asmCluster​(String asmCluster)
        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.
        Parameters:
        asmCluster - the value to set
        Returns:
        this builder
      • type

        public DatabasePlanDirective.Builder type​(DatabasePlanTypeEnum type)
        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.

        Parameters:
        type - the value to set
        Returns:
        this builder