<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>OpenText Analytics Database 26.2.x – Resource pool architecture</title>
    <link>/en/admin/managing-db/managing-workloads/resource-pool-architecture/</link>
    <description>Recent content in Resource pool architecture on OpenText Analytics Database 26.2.x</description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/en/admin/managing-db/managing-workloads/resource-pool-architecture/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Admin: Defining secondary resource pools</title>
      <link>/en/admin/managing-db/managing-workloads/resource-pool-architecture/defining-secondary-resource-pools/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/admin/managing-db/managing-workloads/resource-pool-architecture/defining-secondary-resource-pools/</guid>
      <description>
        
        
        &lt;p&gt;You can define secondary resource pools to which running queries can cascade if they exceed their primary pool&#39;s &lt;a href=&#34;../../../../../en/sql-reference/statements/create-statements/create-resource-pool/#RUNTIMECAP&#34;&gt;RUNTIMECAP &lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;identifying-a-secondary-pool&#34;&gt;Identifying a secondary pool&lt;/h2&gt;
&lt;p&gt;Secondary resource pools designate a place where queries that exceed the RUNTIMECAP of the pool on which they are running can continue execution. If a query exceeds a pool&#39;s RUNTIMECAP, the query can cascade to a pool with a larger RUNTIMECAP instead of returning with an error. When a query cascades to another pool, the original pool regains the memory used by that query.&lt;/p&gt;
&lt;p&gt;Unlike a user&#39;s primary resource pool, which requires USAGE privileges, Vertica does not check for user privileges on secondary resource pools. Thus, a user whose query cascades to a secondary resource pool requires no USAGE privileges on that resource pool.&lt;/p&gt;
&lt;p&gt;You can define a secondary pool so it queues long-running queries if the pool lacks sufficient memory to handle that query immediately, by setting two parameters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Set &lt;a href=&#34;../../../../../en/sql-reference/statements/create-statements/create-resource-pool/#PRIORITY&#34;&gt;PRIORITY &lt;/a&gt; to HOLD, to queue queries until the pool&#39;s &lt;a href=&#34;../../../../../en/sql-reference/statements/create-statements/create-resource-pool/#QUEUETIMEOUT&#34;&gt;QUEUETIMEOUT &lt;/a&gt;interval elapses.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set &lt;a href=&#34;../../../../../en/sql-reference/statements/create-statements/create-resource-pool/#QUEUETIMEOUT&#34;&gt;QUEUETIMEOUT &lt;/a&gt;to the appropriate length.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;eon-mode-restrictions&#34;&gt;Eon Mode restrictions&lt;/h3&gt;
&lt;p&gt;In Eon Mode, you can associate user-defined resource pools with a subcluster. The following restrictions apply:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Global resource pools can cascade only to other global resource pools.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A subcluster resource pool can cascade to a global resource pool, or to another subcluster-specific resource pool that belongs to the same subcluster. If a subcluster-specific resource pool cascades to a user-defined resource pool that exists on both the global and subcluster level, the subcluster-level resource pool has priority. For example:&lt;br /&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; CREATE RESOURCE POOL billing1;
=&amp;gt; CREATE RESOURCE POOL billing1 FOR CURRENT SUBCLUSTER;
=&amp;gt; CREATE RESOURCE POOL billing2 FOR CURRENT SUBCLUSTER CASCADE TO billing1;
WARNING 9613:  Resource pool billing1 both exists at both subcluster level and global level, assuming subcluster level
CREATE RESOURCE POOL
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;query-cascade-path&#34;&gt;Query cascade path&lt;/h2&gt;
&lt;p&gt;Vertica routes queries to a secondary pool when the RUNTIMECAP on an initial pool is reached. Vertica then checks the secondary pool&#39;s RUNTIMECAP value. If the secondary pool&#39;s RUNTIMECAP is greater than the initial pool&#39;s value, the query executes on the secondary pool. If the secondary pool&#39;s RUNTIMECAP is less than or equal to the initial pool&#39;s value, Vertica retries the query on the next pool in the chain until it finds a pool on which the RUNTIMECAP is greater than the initial pool&#39;s value. If the secondary pool does not have sufficient resources available to execute the query at that time, SELECT queries may re-queue, re-plan, and abort on that pool. Other types of queries will fail due to insufficient resources. If no appropriate secondary pool exists for a query, the query will error out.&lt;/p&gt;
&lt;p&gt;The following diagram demonstrates the path a query takes to execution.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;../../../../../images/new-cascade-if-then.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;query-execution-time-allocation&#34;&gt;Query execution time allocation&lt;/h2&gt;
&lt;p&gt;After Vertica finds an appropriate pool on which to run the query, it continues to execute that query uninterrupted. The query now has the difference of the two pools&#39; RUNTIMECAP limits in which to complete:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;code-variable&#34;&gt;query execution time allocation &lt;/span&gt;= rp2 RUNTIMECAP - rp1 RUNTIMECAP
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;using-cascade-to&#34;&gt;Using CASCADE TO&lt;/h2&gt;
&lt;p&gt;As a &lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/db-superuser/&#34; title=&#34;&#34;&gt;superuser&lt;/a&gt;, you can identify an existing resource pool—either user-defined pool or the GENERAL pool—by using the CASCADE TO parameter in the &lt;a href=&#34;../../../../../en/sql-reference/statements/create-statements/create-resource-pool/#&#34;&gt;CREATE RESOURCE POOL&lt;/a&gt; or &lt;a href=&#34;../../../../../en/sql-reference/statements/alter-statements/alter-resource-pool/#&#34;&gt;ALTER RESOURCE POOL&lt;/a&gt; statement.&lt;/p&gt;
&lt;p&gt;In the following example, two resource pools are created and associated with a user as follows:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The &lt;code&gt;shortUserQueries&lt;/code&gt; resource pool is created with a one-minute RUNTIMECAP&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;userOverflow&lt;/code&gt; resource pool is created with a RUNTIMECAP of five minutes.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;shortUserQueries&lt;/code&gt; is modified with ALTER RESOURCE POOL...CASCADE to use &lt;code&gt;userOverflow&lt;/code&gt; to handle queries that require more than one minute to process.&lt;/li&gt;
&lt;li&gt;The user &lt;code&gt;molly&lt;/code&gt; is created and configured to use &lt;code&gt;shortUserQueries&lt;/code&gt; to handle that user&#39;s queries.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Given this scenario, queries issued by &lt;code&gt;molly&lt;/code&gt; are initially directed to &lt;code&gt;shortUserQueries&lt;/code&gt; for handling; queries that require more than one minute of processing time automatically cascade to the &lt;code&gt;userOverflow&lt;/code&gt; pool to complete execution. Using the secondary pool frees up space in the primary pool, which is configured to handle short queries:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
=&amp;gt; CREATE RESOURCE POOL shortUserQueries RUNTIMECAP &amp;#39;1 minutes&amp;#39;
=&amp;gt; CREATE RESOURCE POOL userOverflow RUNTIMECAP &amp;#39;5 minutes&amp;#39;;
=&amp;gt; ALTER RESOURCE POOL shortUserQueries CASCADE TO userOverflow;
=&amp;gt; CREATE USER molly RESOURCE POOL shortUserQueries;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If desired, you can modify this scenario so &lt;code&gt;userOverflow&lt;/code&gt; can queue long-running queries until it is available to handle them, by setting the PRIORITY and QUEUETIMEOUT parameters:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER RESOURCE POOL userOverflow PRIORITY HOLD QUEUETIMEOUT &amp;#39;10 minutes&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In this scenario, a query that cascades to &lt;code&gt;userOverflow&lt;/code&gt; can be queued up to 10 minutes until &lt;code&gt;userOverflow&lt;/code&gt; acquires the memory it requires to handle it. After 10 minutes elapse, the query is rejected and returns with an error.&lt;/p&gt;
&lt;h2 id=&#34;dropping-a-secondary-pool&#34;&gt;Dropping a secondary pool&lt;/h2&gt;
&lt;p&gt;If you try to drop a resource pool that is the secondary pool for another resource pool, the database returns an error. The error lists the resource pools that depend on the secondary pool you tried to drop. To drop a secondary resource pool, first set the CASCADE TO parameter to &lt;code&gt;DEFAULT&lt;/code&gt; on the primary resource pool, and then drop the secondary pool.&lt;/p&gt;

&lt;p&gt;For example, you can drop resource pool &lt;code&gt;rp2&lt;/code&gt;, which is a secondary pool for &lt;code&gt;rp1&lt;/code&gt;, as follows:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER RESOURCE POOL rp1 CASCADE TO DEFAULT;
=&amp;gt; DROP RESOURCE POOL rp2;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;secondary-pool-parameter-dependencies&#34;&gt;Secondary pool parameter dependencies&lt;/h2&gt;
&lt;p&gt;In general, a secondary pool&#39;s parameters are applied to an incoming query. In the case of &lt;a href=&#34;../../../../../en/sql-reference/statements/create-statements/create-resource-pool/#RUNTIMEPRIORITY&#34;&gt;RUNTIMEPRIORITY &lt;/a&gt;, the following dependencies apply:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;If the RUNTIMEPRIORITYTHRESHOLD timer was not started when the query was running in the primary pool, the query adopts the secondary resource pools&#39; RUNTIMEPRIORITY when it cascades. This happens either when the RUNTIMEPRIORITYTHRESHOLD is not set for the primary pool or the RUNTIMEPRIORITY is set to HIGH for the primary pool.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If the RUNTIMEPRIORITYTHRESHOLD was reached in the primary pool, the query adopts the secondary resource pools&#39; RUNTIMEPRIORITY when it cascades.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If the RUNTIMEPRIORITYTHRESHOLD was not reached in the primary pool and the secondary pool has no threshold, the query adopts the new pool&#39;s RUNTIMEPRIORITY when it cascades.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If the RUNTIMEPRIORITYTHRESHOLD was not reached in the primary pool and the secondary pool has a threshold set.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If the primary pool&#39;s RUNTIMEPRIORITYTHRESHOLD is greater than or equal to the secondary pool&#39;s RUNTIMEPRIORITYTHRESHOLD , the query adopts the secondary pool&#39;s RUNTIMEPRIORITY after the query reaches the RUNTIMEPRIORITYTHRESHOLD of the primary pool.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RUNTIMECAP of primary pool = 5 sec
RUNTIMEPRIORITYTHRESHOLD of primary pool = 8 sec
RUNTIMTPRIORITYTHRESHOLD of secondary pool = 7 sec
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In this case, the query runs for 5 seconds on the primary pool and then cascades to the secondary pool. After another 3 seconds, 8 seconds total, the query adopts the RUNTIMEPRIORITY of the secondary pool.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If the primary pool&#39;s RUNTIMEPRIORITYTHRESHOLD is less than the secondary pool&#39;s RUNTIMEPRIORITYTHRESHOLD, the query adopts the secondary pool&#39;s RUNTIMEPRIORITY after the query reaches the RUNTIMEPRIORITYTHRESHOLD of the secondary pool.&lt;/p&gt;
&lt;p&gt;In this case, the query runs for 5 seconds on the primary pool and then cascades to the secondary pool. After another 7 seconds, 12 seconds total, the query adopts the RUNTIMEPRIORITY of the secondary pool:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RUNTIMECAP of primary pool = 5 sec
RUNTIMEPRIORITYTHRESHOLD of primary pool = 8 sec
RUNTIMTPRIORITYTHRESHOLD of secondary pool = 12 se
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;cascade-errors&#34;&gt;CASCADE errors&lt;/h2&gt;
&lt;p&gt;A query that cascades to a secondary resource pool typically returns with an error in the following cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The resource pool cannot acquire the memory it needs to finish processing the query.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The secondary resource pool parameter &lt;a href=&#34;../../../../../en/sql-reference/statements/create-statements/create-resource-pool/#MAXCONCURRENCY&#34;&gt;MAXCONCURRENCY&lt;/a&gt;is set to 1 and it is already processing another query.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Admin: Querying resource pool settings</title>
      <link>/en/admin/managing-db/managing-workloads/resource-pool-architecture/querying-resource-pool-settings/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/admin/managing-db/managing-workloads/resource-pool-architecture/querying-resource-pool-settings/</guid>
      <description>
        
        
        &lt;p&gt;You can use the following to get information about resource pools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../../../en/sql-reference/system-tables/v-catalog-schema/resource-pools/#&#34;&gt;RESOURCE_POOLS&lt;/a&gt; returns resource pool settings from the Vertica database catalog, as set by &lt;a href=&#34;../../../../../en/sql-reference/statements/create-statements/create-resource-pool/#&#34;&gt;CREATE RESOURCE POOL&lt;/a&gt; and &lt;a href=&#34;../../../../../en/sql-reference/statements/alter-statements/alter-resource-pool/#&#34;&gt;ALTER RESOURCE POOL&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../../../en/sql-reference/system-tables/v-catalog-schema/subcluster-resource-pool-overrides/#&#34;&gt;SUBCLUSTER_RESOURCE_POOL_OVERRIDES&lt;/a&gt; displays all subcluster level overrides of global resource pool settings.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For runtime information about resource pools, see &lt;a href=&#34;../../../../../en/admin/monitoring/monitoring-resource-pools/#&#34;&gt;Monitoring resource pools&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;querying-resource-pool-settings&#34;&gt;Querying resource pool settings&lt;/h2&gt;
&lt;p&gt;The following example queries various settings of two internal resource pools, GENERAL and TM:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT name, subcluster_oid, subcluster_name, maxmemorysize, memorysize, runtimepriority, runtimeprioritythreshold, queuetimeout
   FROM RESOURCE_POOLS WHERE name IN(&amp;#39;general&amp;#39;, &amp;#39;tm&amp;#39;);
  name   | subcluster_oid | subcluster_name | maxmemorysize | memorysize | runtimepriority | runtimeprioritythreshold | queuetimeout
---------+----------------+-----------------+---------------+------------+-----------------+--------------------------+--------------
 general |              0 |                 | Special: 95%  |            | MEDIUM          |                        2 | 00:05
 tm      |              0 |                 |               | 3G         | MEDIUM          |                       60 | 00:05
(2 rows)
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;viewing-overrides-to-global-resource-pools&#34;&gt;Viewing overrides to global resource pools&lt;/h2&gt;
&lt;p&gt;In Eon Mode, you can query &lt;span class=&#34;sql&#34;&gt;SUBCLUSTER_RESOURCE_POOL_OVERRIDES&lt;/span&gt; in the system tables to view any overrides to global resource pools for individual subclusters. The following query shows an override that sets &lt;span class=&#34;sql&#34;&gt;MEMORYSIZE&lt;/span&gt; and &lt;span class=&#34;sql&#34;&gt;MAXMEMORYSIZE&lt;/span&gt; for the built-in resource pool TM to 0% in the &lt;span class=&#34;sql&#34;&gt;analytics_1&lt;/span&gt; subcluster. These settings prevent the subcluster from performing Tuple Mover mergeout tasks.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT * FROM SUBCLUSTER_RESOURCE_POOL_OVERRIDES;
     pool_oid      | name |  subcluster_oid   | subcluster_name | memorysize | maxmemorysize | maxquerymemorysize
-------------------+------+-------------------+-----------------+------------+---------------+--------------------
 45035996273705058 | tm   | 45035996273843504 | analytics_1     | 0%         | 0%            |
(1 row)
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Admin: User resource allocation</title>
      <link>/en/admin/managing-db/managing-workloads/resource-pool-architecture/user-resource-allocation/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/admin/managing-db/managing-workloads/resource-pool-architecture/user-resource-allocation/</guid>
      <description>
        
        
        &lt;p&gt;You can allocate resources to users in two ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Customize allocation of resources for individual users by setting the appropriate &lt;a href=&#34;../../../../../en/sql-reference/statements/alter-statements/alter-user/#UserAccountParameters&#34;&gt;user parameters&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Assign users to a resource pool. This resource pool is used to process all queries from its assigned users, allocating resources as set by resource pool parameters.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The two methods can complement each other. For example, you can set the RUNTIMECAP parameter in the user-defined resource pool &lt;code&gt;user_rp&lt;/code&gt; to 20 minutes. This setting applies to the queries of all users who are assigned to &lt;code&gt;user_rp&lt;/code&gt;, including user Bob:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER RESOURCE POOL user_rp RUNTIMECAP &amp;#39;20 minutes&amp;#39;;
ALTER RESOURCE POOL
=&amp;gt; GRANT USAGE ON RESOURCE POOL user_rp to Bob;
GRANT PRIVILEGE
=&amp;gt; ALTER USER Bob RESOURCE POOL pool user_rp;
ALTER USER
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;When Vertica directs any query from user Bob to the &lt;code&gt;user_rp&lt;/code&gt; resource pool for processing, it allocates resources to the query as configured in the resource pool, including RUNTIMECAP. Accordingly, queries in &lt;code&gt;user_rp&lt;/code&gt; that do not complete execution within 20 minutes &lt;a href=&#34;../../../../../en/admin/managing-db/managing-workloads/resource-pool-architecture/defining-secondary-resource-pools/&#34;&gt;cascade&lt;/a&gt; to a secondary resource pool (if one is designated), or return to Bob with an error.&lt;/p&gt;
&lt;p&gt;You can also edit Bob&#39;s user profile by setting its user-level parameter RUNTIMECAP to 10 minutes:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;
=&amp;gt; ALTER USER Bob RUNTIMECAP &amp;#39;10 minutes&amp;#39;;
ALTER USER
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;On receiving queries from Bob after this change, the resource pool compares the two RUNTIMECAP settings—its own, and Bob&#39;s profile setting—and applies the shorter of the two. If you subsequently reassign Bob to another resource pool, the same logic applies, where the new resource pool continues to apply the shorter of the two RUNTIMECAP settings.&lt;/p&gt;
&lt;h2 id=&#34;precedence-of-user-resource-pools&#34;&gt;Precedence of user resource pools&lt;/h2&gt;
&lt;p&gt;Resource pools can be assigned to users at three levels, in ascending order of precedence:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Default user resource pool, set in configuration parameter &lt;a href=&#34;../../../../../en/sql-reference/config-parameters/general-parameters/#DefaultResourcePoolForUsers&#34;&gt;DefaultResourcePoolForUsers&lt;/a&gt;. When a database user is created with &lt;a href=&#34;../../../../../en/sql-reference/statements/create-statements/create-user/#&#34;&gt;CREATE USER&lt;/a&gt;, Vertica automatically sets the new user&#39;s profile to use this resource pool unless the CREATE USER statement specifies otherwise.    
&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
&lt;pre&gt;&lt;code&gt;By default, DefaultResourcePoolForUsers is set to the GENERAL resource pool, on which all new users have USAGE privileges. If you reconfigure DefaultResourcePoolForUsers to specify a user-defined resource pool, be sure that new users have USAGE privileges on it.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;User resource pool, set in the user&#39;s profile by &lt;a href=&#34;../../../../../en/sql-reference/statements/create-statements/create-user/#&#34;&gt;CREATE USER&lt;/a&gt; or &lt;a href=&#34;../../../../../en/sql-reference/statements/alter-statements/alter-user/#&#34;&gt;ALTER USER&lt;/a&gt; with its RESOURCE POOL parameter. If you try to &lt;a href=&#34;../../../../../en/sql-reference/statements/drop-statements/drop-resource-pool/&#34;&gt;drop&lt;/a&gt; a user&#39;s resource pool, Vertica checks whether it can assign that user to the default user resource pool. If the user cannot be assigned to this resource pool—typically, for lack of USAGE privileges—Vertica rolls back the drop operation.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Current user session resource pool, set by &lt;a href=&#34;../../../../../en/sql-reference/statements/set-statements/set-session-resource-pool/#&#34;&gt;SET SESSION RESOURCE_POOL&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In all cases, users must have USAGE privileges on their assigned resource pool; otherwise, they cannot log in to the database.&lt;/p&gt;
&lt;h2 id=&#34;resource-pool-usage-in-eon-mode&#34;&gt;Resource pool usage in Eon Mode&lt;/h2&gt;
&lt;p&gt;In an Eon Mode database, you can assign a given resource pool to a subcluster, and then configure user profiles to use that resource pool. When users connect to a subcluster, Vertica determines which resource pool handles their queries as follows:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;If a user&#39;s resource pool and the subcluster resource pool are the same, then the subcluster resource pool handles queries from that user.&lt;/li&gt;
&lt;li&gt;If a user&#39;s resource pool and the subcluster resource pool are different, and the user has privileges on the default user resource pool, then that resource pool handles queries from the user.&lt;/li&gt;
&lt;li&gt;If a user&#39;s resource pool and the subcluster resource pool are different, and the user lacks privileges on the default user resource pool, then no resource pool is available on any node to handle queries from that user, and the queries return with an error.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;p&gt;For examples of different use cases for managing user resources, see &lt;a href=&#34;../../../../../en/admin/managing-db/managing-workloads/workload-best-practices/managing-workloads-with-resource-pools-and-user-profiles/#&#34;&gt;Managing workloads with resource pools and user profiles&lt;/a&gt;.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Admin: Query budgeting</title>
      <link>/en/admin/managing-db/managing-workloads/resource-pool-architecture/query-budgeting/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/admin/managing-db/managing-workloads/resource-pool-architecture/query-budgeting/</guid>
      <description>
        
        
        &lt;p&gt;Before it can execute a query, Vertica devises a query plan, which it sends to each node that will participate in executing the query. The Resource Manager evaluates the plan on each node and estimates how much memory and concurrency the node needs to execute its part of the query. This is the &lt;em&gt;query budget&lt;/em&gt;, which Vertica stores in the &lt;code&gt;query_budget_kb&lt;/code&gt; column of system table 
&lt;code&gt;&lt;a href=&#34;../../../../../en/sql-reference/system-tables/v-monitor-schema/resource-pool-status/#&#34;&gt;V_MONITOR.RESOURCE_POOL_STATUS&lt;/a&gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;A query budget is based on several parameter settings of the resource pool where the query will execute:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;MEMORYSIZE&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;MAXMEMORYSIZE&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;PLANNEDCONCURRENCY&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can modify &lt;code&gt;MAXMEMORYSIZE&lt;/code&gt; and &lt;code&gt;PLANNEDCONCURRENCY&lt;/code&gt; for the GENERAL resource pool with 
&lt;code&gt;&lt;a href=&#34;../../../../../en/sql-reference/statements/alter-statements/alter-resource-pool/#&#34;&gt;ALTER RESOURCE POOL&lt;/a&gt;&lt;/code&gt;. This resource pool typically executes queries that are not assigned to a user-defined resource pool. You can set all three parameters for any user-defined resource pool when you create it with 
&lt;code&gt;&lt;a href=&#34;../../../../../en/sql-reference/statements/create-statements/create-resource-pool/#&#34;&gt;CREATE RESOURCE POOL&lt;/a&gt;&lt;/code&gt;, or later with 
&lt;code&gt;&lt;a href=&#34;../../../../../en/sql-reference/statements/alter-statements/alter-resource-pool/#&#34;&gt;ALTER RESOURCE POOL&lt;/a&gt;&lt;/code&gt;.

&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
You can also limit how much memory that a pool can allocate at runtime to its queries, by setting parameter &lt;code&gt;MAXQUERYMEMORYSIZE&lt;/code&gt; on that pool. For more information, see
&lt;code&gt;&lt;a href=&#34;../../../../../en/sql-reference/statements/create-statements/create-resource-pool/#&#34;&gt;CREATE RESOURCE POOL&lt;/a&gt;&lt;/code&gt;.
&lt;/div&gt;&lt;/p&gt;
&lt;h2 id=&#34;computing-the-general-pool-query-budget&#34;&gt;Computing the GENERAL pool query budget&lt;/h2&gt;
&lt;p&gt;Vertica calculates query budgets in the GENERAL pool with the following formula:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;code-variable&#34;&gt;queryBudget&lt;/span&gt; = &lt;span class=&#34;code-variable&#34;&gt;queuingThresholdPool&lt;/span&gt; / PLANNEDCONCURRENCY
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&#34;alert admonition note&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Note&lt;/h4&gt;

Vertica calculates the GENERAL pool&#39;s queuing threshold as 95 percent of its &lt;code&gt;MAXMEMORYSIZE&lt;/code&gt; setting.

&lt;/div&gt;
&lt;h2 id=&#34;computing-query-budgets-for-user-defined-resource-pools&#34;&gt;Computing query budgets for user-defined resource pools&lt;/h2&gt;
&lt;p&gt;For user-defined resource pools, Vertica uses the following algorithm:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;If &lt;code&gt;MEMORYSIZE&lt;/code&gt; is set to 0 and &lt;code&gt;MAXMEMORYSIZE&lt;/code&gt; is not set:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;code-variable&#34;&gt;queryBudget&lt;/span&gt; = &lt;span class=&#34;code-variable&#34;&gt;queuingThresholdGeneralPool&lt;/span&gt; / PLANNEDCONCURRENCY
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If &lt;code&gt;MEMORYSIZE&lt;/code&gt; is set to 0 and &lt;code&gt;MAXMEMORYSIZE&lt;/code&gt; is set to a non-default value:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;code-variable&#34;&gt;query-budget&lt;/span&gt; = &lt;span class=&#34;code-variable&#34;&gt;queuingThreshold&lt;/span&gt; / PLANNEDCONCURRENCY
&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&#34;alert admonition note&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Note&lt;/h4&gt;

Vertica calculates a user-defined pool&#39;s queuing threshold as 95 percent of its &lt;code&gt;MAXMEMORYSIZE&lt;/code&gt; setting.

&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If &lt;code&gt;MEMORYSIZE&lt;/code&gt; is set to a non-default value:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;&lt;span class=&#34;code-variable&#34;&gt;queryBudget&lt;/span&gt; = MEMORYSIZE / PLANNEDCONCURRENCY
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;By carefully tuning a resource pool&#39;s &lt;code&gt;MEMORYSIZE&lt;/code&gt; and &lt;code&gt;PLANNEDCONCURRENCY&lt;/code&gt; parameters, you can control how much memory can be budgeted for queries.

&lt;div class=&#34;admonition caution&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Caution&lt;/h4&gt;

&lt;p&gt;Query budgets do not typically require tuning, However, if you reduce the &lt;code&gt;MAXMEMORYSIZE&lt;/code&gt; because you need memory for other purposes, be aware that doing so also reduces the query budget. Reducing the query budget negatively impacts the query performance, particularly if the queries are complex.&lt;/p&gt;
&lt;p&gt;To maintain the original query budget for the resource pool, be sure to reduce parameters &lt;code&gt;MAXMEMORYSIZE&lt;/code&gt; and &lt;code&gt;PLANNEDCONCURRENCY&lt;/code&gt; together.&lt;/p&gt;


&lt;/div&gt;&lt;/p&gt;
&lt;h2 id=&#34;see-also&#34;&gt;See also&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://vertica.com/blog/do-you-need-to-put-your-query-on-a-budgetba-p236830/&#34;&gt;Do You Need to Put Your Query on a Budget?&lt;/a&gt; in the &lt;a href=&#34;https://vertica.com/big-data-analytics-community-content/&#34;&gt;Vertica User Community&lt;/a&gt;.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Admin: Built-in pools</title>
      <link>/en/admin/managing-db/managing-workloads/resource-pool-architecture/built-pools/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/admin/managing-db/managing-workloads/resource-pool-architecture/built-pools/</guid>
      <description>
        
        
        &lt;p&gt;OpenText™ Analytics Database is preconfigured with built-in pools for various system tasks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#GENERAL&#34;&gt;GENERAL&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#BLOBDATA&#34;&gt;BLOBDATA&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#DBD&#34;&gt;DBD&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#JVM&#34;&gt;JVM&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#METADATA&#34;&gt;METADATA&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#RECOVERY&#34;&gt;RECOVERY&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#REFRESH&#34;&gt;REFRESH&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#SYSQUERY&#34;&gt;SYSQUERY&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;#TM&#34;&gt;TM&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For details on resource pool settings, see &lt;a href=&#34;../../../../../en/sql-reference/statements/alter-statements/alter-resource-pool/#&#34;&gt;ALTER RESOURCE POOL&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;GENERAL&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;general&#34;&gt;GENERAL&lt;/h2&gt;
&lt;p&gt;Catch-all pool used to answer requests that have no specific &lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/resource-pool/&#34; title=&#34;A resource pool comprises a pre-allocated subset of the system resources, with an associated queue.&#34;&gt;resource pool&lt;/a&gt; associated with them. Any memory left over after memory has been allocated to all other pools is automatically allocated to the GENERAL pool. The MEMORYSIZE parameter of the GENERAL pool is undefined (variable), however, the GENERAL pool must be at least 1GB in size and cannot be smaller than 25% of the memory in the system.&lt;/p&gt;
&lt;p&gt;The MAXMEMORYSIZE parameter of the GENERAL pool has special meaning; when set as a % value it represents the percent of total physical RAM on the machine that the &lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/resource-manager/&#34; title=&#34;In a single-user environment, the system can devote all resources to a single query and get the most efficient execution for that one query.&#34;&gt;Resource manager&lt;/a&gt; can use for queries. By default, it is set to 95%. MAXMEMORYSIZE governs the total amount of RAM that the Resource Manager can use for queries, regardless of whether it is set to a percent or to a specific value (for example, &#39;10GB&#39;).&lt;/p&gt;
&lt;p&gt;User-defined pools can borrow memory from the GENERAL pool to satisfy requests that need extra memory until the MAXMEMORYSIZE parameter of that pool is reached. If the pool is configured to have MEMORYSIZE equal to MAXMEMORYSIZE, it cannot borrow any memory from the GENERAL pool. When multiple pools request memory from the GENERAL pool, they are granted access to general pool memory according to their priority setting. In this manner, the GENERAL pool provides some elasticity to account for point-in-time deviations from normal usage of individual resource pools.&lt;/p&gt;
&lt;p&gt;OpenText recommends reducing the GENERAL pool MAXMEMORYSIZE if your catalog uses over 5 percent of overall memory. You can calculate what percentage of GENERAL pool memory the catalog uses as follows:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; WITH memory_use_metadata AS (SELECT node_name, memory_size_kb FROM resource_pool_status WHERE pool_name=&amp;#39;metadata&amp;#39;),
        memory_use_general  AS (SELECT node_name, memory_size_kb FROM resource_pool_status WHERE pool_name=&amp;#39;general&amp;#39;)
   SELECT m.node_name, ((m.memory_size_kb/g.memory_size_kb) * 100)::NUMERIC(4,2) pct_catalog_usage
   FROM memory_use_metadata m JOIN memory_use_general g ON m.node_name = g.node_name;
    node_name     | pct_catalog_usage
------------------+-------------------
 v_vmart_node0001 |              0.41
 v_vmart_node0002 |              0.37
 v_vmart_node0003 |              0.36
(3 rows)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a name=&#34;BLOBDATA&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;blobdata&#34;&gt;BLOBDATA&lt;/h2&gt;
&lt;p&gt;Controls resource usage for in-memory blobs. &lt;em&gt;In-memory blobs&lt;/em&gt; are objects used by a number of the machine learning SQL functions. You should adjust this pool if you plan on processing large machine learning workloads. For information about tuning the pool, see &lt;a href=&#34;../../../../../en/admin/managing-db/managing-workloads/workload-best-practices/tuning-built-pools/tuning-ml/#&#34;&gt;Tuning for machine learning&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If a query using the BLOBDATA pool exceeds its query planning budget, then it spills to disk. For more information about tuning your query budget, see &lt;a href=&#34;../../../../../en/admin/managing-db/managing-workloads/resource-pool-architecture/query-budgeting/#&#34;&gt;Query budgeting&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;DBD&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;dbd&#34;&gt;DBD&lt;/h2&gt;
&lt;p&gt;Controls resource usage for &lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/db-designer/&#34; title=&#34;A tool that analyzes a logical schema definition, sample queries, and sample data, and creates a physical schema () in the form of a SQL script that you deploy automatically or manually.&#34;&gt;Database Designer&lt;/a&gt; processing. Use of this pool is enabled by configuration parameter &lt;a href=&#34;../../../../../en/sql-reference/config-parameters/db-designer-parameters/&#34;&gt;DBDUseOnlyDesignerResourcePool&lt;/a&gt;, by default set to false.&lt;/p&gt;
&lt;p&gt;By default, QUEUETIMEOUT is set to 0 for this pool. When resources are under pressure, this setting causes the DBD to time out immediately, and not be queued to run later. Database Designer then requests the user to run the designer later, when resources are more available.

&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
Do not change QUEUETIMEOUT or any DBD resource pool parameters.
&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;JVM&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;jvm&#34;&gt;JVM&lt;/h2&gt;
&lt;p&gt;Controls Java Virtual Machine resources used by Java User Defined Extensions. When a Java UDx starts the JVM, it draws resources from the those specified in the JVM resource pool. The database does not reserve memory in advance for the JVM pool. When needed, the pool can expand to 10% of physical memory or 2 GB of memory, whichever is smaller. If you are buffering large amounts of data, you may need to increase the size of the JVM resource pool.&lt;/p&gt;
&lt;p&gt;You can adjust the size of your JVM resource pool by changing its configuration settings. Unlike other resource pools, the JVM resource pool does not release resources until a session is closed.&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;METADATA&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;metadata&#34;&gt;METADATA&lt;/h2&gt;
&lt;p&gt;Tracks memory allocated for catalog data and storage data structures. This pool increases in size as the database metadata consumes additional resources. Memory assigned to the METADATA pool is subtracted from the GENERAL pool, enabling the database resource manager to make more effective use of available resources. If the METADATA resource pool reaches 75% of the GENERAL pool, the database stops updating METADATA memory size and displays a warning message in &lt;code&gt;vertica.log&lt;/code&gt;. You can enable or disable the METADATA pool with configuration parameter &lt;a href=&#34;../../../../../en/sql-reference/config-parameters/general-parameters/#EnableMetadataMemoryTracking&#34;&gt;EnableMetadataMemoryTracking&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you created a &amp;quot;dummy&amp;quot; or &amp;quot;swap&amp;quot; resource pool to protect resources for use by your operating system, you can replace that pool with the METADATA pool.&lt;/p&gt;
&lt;p&gt;Users cannot change the parameters of the METADATA resource pool.&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;RECOVERY&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;recovery&#34;&gt;RECOVERY&lt;/h2&gt;
&lt;p&gt;Used by queries issued when recovering another node of the database. The MAXCONCURRENCY parameter is used to determine how many concurrent recovery threads to use. You can use the PLANNEDCONCURRENCY parameter (by default, set to twice the &lt;code&gt;MAXCONCURRENCY&lt;/code&gt;) to tune how to apportion memory to recovery queries.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;../../../../../en/admin/managing-db/managing-workloads/workload-best-practices/tuning-built-pools/tuning-recovery/#&#34;&gt;Tuning for recovery&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;REFRESH&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;refresh&#34;&gt;REFRESH&lt;/h2&gt;
&lt;p&gt;Used by queries issued by 
&lt;code&gt;&lt;a href=&#34;../../../../../en/sql-reference/system-tables/v-monitor-schema/projection-refreshes/#&#34;&gt;PROJECTION_REFRESHES&lt;/a&gt;&lt;/code&gt; operations. &lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/refresh-projections/&#34; title=&#34;Ensures that all projections on a node are up-to-date (can participate in query execution).&#34;&gt;Refresh&lt;/a&gt; does not currently use multiple concurrent threads; thus, changes to the MAXCONCURRENCY values have no effect.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;../../../../../en/admin/managing-db/managing-workloads/workload-best-practices/tuning-built-pools/tuning-refresh/&#34;&gt;Scenario: Tuning for Refresh&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;SYSQUERY&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;sysquery&#34;&gt;SYSQUERY&lt;/h2&gt;
&lt;p&gt;Runs queries against all &lt;a href=&#34;../../../../../en/sql-reference/system-tables/&#34;&gt;system monitoring and catalog tables&lt;/a&gt;. The SYSQUERY pool reserves resources for system table queries so that they are never blocked by contention for available resources.&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;TM&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;tm&#34;&gt;TM&lt;/h2&gt;
&lt;p&gt;The &lt;a class=&#34;glosslink&#34; href=&#34;../../../../../en/glossary/tuple-mover-tm/&#34; title=&#34;The Tuple Mover manages ROS data storage.&#34;&gt;Tuple Mover&lt;/a&gt; (TM) pool. You can set the MAXCONCURRENCY parameter for the TM pool to allow concurrent TM operations.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;../../../../../en/admin/managing-db/managing-workloads/workload-best-practices/tuning-built-pools/tuning-tuple-mover-pool-settings/#&#34;&gt;Tuning tuple mover pool settings&lt;/a&gt;.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Admin: Built-in resource pools configuration</title>
      <link>/en/admin/managing-db/managing-workloads/resource-pool-architecture/built-resource-pools-config/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/admin/managing-db/managing-workloads/resource-pool-architecture/built-resource-pools-config/</guid>
      <description>
        
        
        &lt;p&gt;To view the current and default configuration for built-in resource 		pools, query the system tables RESOURCE_POOLS and RESOURCE_POOL_DEFAULTS, respectively. 		The sections below provide this information, and also indicate which built-in pool parameters 			can be modified with &lt;a href=&#34;../../../../../en/sql-reference/statements/alter-statements/alter-resource-pool/#&#34;&gt;ALTER RESOURCE POOL&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#general&#34;&gt;GENERAL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#blobdata&#34;&gt;BLOBDATA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#dbd&#34;&gt;DBD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#jvm&#34;&gt;JVM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#metadata&#34;&gt;METADATA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#recovery&#34;&gt;RECOVERY&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#refresh&#34;&gt;REFRESH&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#sysquery&#34;&gt;SYSQUERY&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#tm&#34;&gt;TM&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a name=&#34;GENERAL&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;general&#34;&gt;GENERAL&lt;/h2&gt;

&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
Changes to GENERAL resource pool parameters take effect only when the database restarts.
&lt;/div&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Parameter&lt;/th&gt; 

&lt;th &gt;
Settings&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MEMORYSIZE&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;

























&lt;p&gt;The maximum memory to use for all resource pools, one of the following:&lt;/p&gt;
&lt;pre class=&#34;table-pre&#34;&gt;MAXMEMORYSIZE {
  &#39;&lt;span class=&#34;code-variable&#34;&gt;integer&lt;/span&gt;%&#39;
 | &#39;&lt;span class=&#34;code-variable&#34;&gt;integer&lt;/span&gt;{K|M|G|T}&#39;
}&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;integer&lt;/code&gt;&lt;/em&gt;&lt;code&gt;%&lt;/code&gt;: Percentage of total system RAM, must be ≥ 25%&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;admonition caution&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Caution&lt;/h4&gt;
&lt;p&gt;Setting this parameter to 100% generates a warning of potential swapping.&lt;/p&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;integer&lt;/code&gt;&lt;/em&gt;&lt;code&gt;{K|M|G|T}&lt;/code&gt;: Amount of memory in kilobytes, megabytes, gigabytes, or terabytes, must be ≥ 1GB&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, if your node has 64GB of memory, setting MAXMEMORYSIZE to 50% allocates half of available memory. Thus, the maximum amount of memory available to all resource pools is 32GB.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; 95%&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXQUERYMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;













&lt;p&gt;The maximum amount of memory allocated by this pool to process any query:&lt;/p&gt;
&lt;pre class=&#34;table-pre&#34;&gt;MAXQUERYMEMORYSIZE {
  &#39;&lt;span class=&#34;code-variable&#34;&gt;integer&lt;/span&gt;%&#39;
 | &#39;&lt;span class=&#34;code-variable&#34;&gt;integer&lt;/span&gt;{K|M|G|T}&#39;
}&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;&lt;code&gt;integer&lt;/code&gt;&lt;/em&gt;&lt;code&gt;%&lt;/code&gt;: Percentage of &lt;a name=&#34;MAXMEMORYSIZE&#34;&gt;&lt;/a&gt;MAXMEMORYSIZE for this pool.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;&lt;code&gt;integer&lt;/code&gt;&lt;/em&gt;&lt;code&gt;{K|M|G|T}&lt;/code&gt;: Amount of memory in kilobytes, megabytes, gigabytes, or terabytes&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
EXECUTIONPARALLELISM&lt;/td&gt; 

&lt;td &gt;
&lt;strong&gt;Default:&lt;/strong&gt; AUTO&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PRIORITY&lt;/td&gt; 

&lt;td &gt;


&lt;strong&gt;Default:&lt;/strong&gt; 0&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITY&lt;/td&gt; 

&lt;td &gt;


&lt;strong&gt;Default:&lt;/strong&gt; Medium&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITYTHRESHOLD&lt;/td&gt; 

&lt;td &gt;


&lt;strong&gt;Default:&lt;/strong&gt; 2&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
QUEUETIMEOUT&lt;/td&gt; 

&lt;td &gt;


&lt;strong&gt;Default:&lt;/strong&gt; 00:05 (minutes)&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMECAP&lt;/td&gt; 

&lt;td &gt;








&lt;p&gt;Prevents runaway queries by setting the maximum time a query in the pool can execute. If a query exceeds this setting, it tries to cascade to a secondary pool:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;RUNTIMECAP { &#39;&lt;/code&gt;&lt;em&gt;&lt;code&gt;interval&lt;/code&gt;&lt;/em&gt;&lt;code&gt;&#39; | NONE }&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;&lt;code&gt;interval&lt;/code&gt;&lt;/em&gt;: An &lt;a href=&#34;../../../../../en/sql-reference/language-elements/literals/datetime-literals/interval-literal/&#34;&gt;interval&lt;/a&gt; of 1 minute or 100 seconds; should not exceed one year.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;NONE&lt;/code&gt; (default): No time limit on queries running in this pool.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PLANNEDCONCURRENCY&lt;/td&gt; 

&lt;td &gt;
















&lt;p&gt;The number of concurrent queries you expect to run against the resource pool, an integer ≥ 4. If set to AUTO (default), OpenText™ Analytics Database automatically sets PLANNEDCONCURRENCY at query runtime, choosing the lower of these two values:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Number of cores&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Memory/2GB&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
&lt;p&gt;In systems with a large number of cores, the default AUTO setting of &lt;code&gt;PLANNEDCONCURRENCY&lt;/code&gt; is liable to be too low. In this case, set the parameter to the actual number of cores:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ALTER RESOURCE POOL general PLANNEDCONCURRENCY &lt;/code&gt;&lt;em&gt;&lt;code&gt;#cores&lt;/code&gt;&lt;/em&gt;&lt;code&gt;;&lt;/code&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; AUTO&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;a name=&#34;MAXCONCURRENCY&#34;&gt;&lt;/a&gt;MAXCONCURRENCY&lt;/td&gt; 

&lt;td &gt;









&lt;div class=&#34;admonition caution&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Caution&lt;/h4&gt;
&lt;p&gt;Must be set ≥ 1, otherwise the database generates a warning that system queries might be unable to execute.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; Empty&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
SINGLEINITIATOR&lt;/td&gt; 

&lt;td &gt;









&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
Included for backwards compatibility. Do not change.
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; False&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYSET&lt;/td&gt; 

&lt;td &gt;
&lt;strong&gt;Default:&lt;/strong&gt; Empty&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYMODE&lt;/td&gt; 

&lt;td &gt;
&lt;strong&gt;Default:&lt;/strong&gt; ANY&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CASCADETO&lt;/td&gt; 

&lt;td &gt;
&lt;strong&gt;Default:&lt;/strong&gt; Empty&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;&lt;a name=&#34;BLOBDATA&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;blobdata&#34;&gt;BLOBDATA&lt;/h2&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Parameter&lt;/th&gt; 

&lt;th &gt;
Default Setting&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MEMORYSIZE&lt;/td&gt; 

&lt;td &gt;


0%&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;


10&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXQUERYMEMORYSIZE&lt;/td&gt; 

&lt;td  rowspan=&#34;6&#34; &gt;
Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
EXECUTIONPARALLELISM&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PRIORITY&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITY&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITYTHRESHOLD&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
QUEUETIMEOUT&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMECAP&lt;/td&gt; 

&lt;td &gt;


NONE&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PLANNEDCONCURRENCY&lt;/td&gt; 

&lt;td &gt;


AUTO&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXCONCURRENCY&lt;/td&gt; 

&lt;td  rowspan=&#34;3&#34; &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
SINGLEINITIATOR&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYSET&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYMODE&lt;/td&gt; 

&lt;td &gt;
ANY / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CASCADETO&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;&lt;a name=&#34;DBD&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;dbd&#34;&gt;DBD&lt;/h2&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Parameter&lt;/th&gt; 

&lt;th &gt;
Default Setting&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MEMORYSIZE&lt;/td&gt; 

&lt;td &gt;


0%&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;


Unlimited&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXQUERYMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;
Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
EXECUTIONPARALLELISM&lt;/td&gt; 

&lt;td &gt;


AUTO&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PRIORITY&lt;/td&gt; 

&lt;td &gt;


0&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITY&lt;/td&gt; 

&lt;td &gt;


MEDIUM&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITYTHRESHOLD&lt;/td&gt; 

&lt;td &gt;


0&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
QUEUETIMEOUT&lt;/td&gt; 

&lt;td &gt;


0&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMECAP&lt;/td&gt; 

&lt;td &gt;


NONE&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PLANNEDCONCURRENCY&lt;/td&gt; 

&lt;td &gt;


AUTO&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;MAXCONCURRENCY&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;


NONE&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
SINGLEINITIATOR&lt;/td&gt; 

&lt;td &gt;









&lt;p&gt;True&lt;/p&gt;
&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
Included for backwards compatibility. Do not change.
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYSET&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYMODE&lt;/td&gt; 

&lt;td &gt;
ANY / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CASCADETO&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;&lt;a name=&#34;JVM&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;jvm&#34;&gt;JVM&lt;/h2&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Parameter&lt;/th&gt; 

&lt;th &gt;
Default Setting&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MEMORYSIZE&lt;/td&gt; 

&lt;td &gt;


0%&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;


10% of memory or 2 GB, whichever is smaller&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXQUERYMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;
Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
EXECUTIONPARALLELISM&lt;/td&gt; 

&lt;td &gt;


AUTO&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PRIORITY&lt;/td&gt; 

&lt;td &gt;


0&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITY&lt;/td&gt; 

&lt;td &gt;


MEDIUM&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITYTHRESHOLD&lt;/td&gt; 

&lt;td &gt;


2&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
QUEUETIMEOUT&lt;/td&gt; 

&lt;td &gt;


00:05 (minutes)&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMECAP&lt;/td&gt; 

&lt;td &gt;


NONE&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PLANNEDCONCURRENCY&lt;/td&gt; 

&lt;td &gt;


AUTO&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXCONCURRENCY&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
SINGLEINITIATOR&lt;/td&gt; 

&lt;td &gt;









&lt;p&gt;FALSE&lt;/p&gt;
&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
Included for backwards compatibility. Do not change.
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYSET&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYMODE&lt;/td&gt; 

&lt;td &gt;
ANY / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CASCADETO&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;&lt;a name=&#34;METADATA&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;metadata&#34;&gt;METADATA&lt;/h2&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Parameter&lt;/th&gt; 

&lt;th &gt;
Default Setting&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MEMORYSIZE&lt;/td&gt; 

&lt;td &gt;


0%&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;


Unlimited&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXQUERYMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;
Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
EXECUTIONPARALLELISM&lt;/td&gt; 

&lt;td &gt;


AUTO&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PRIORITY&lt;/td&gt; 

&lt;td &gt;


108&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITY&lt;/td&gt; 

&lt;td &gt;


HIGH&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITYTHRESHOLD&lt;/td&gt; 

&lt;td &gt;


0&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
QUEUETIMEOUT&lt;/td&gt; 

&lt;td &gt;


0&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMECAP&lt;/td&gt; 

&lt;td &gt;
NONE&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PLANNEDCONCURRENCY&lt;/td&gt; 

&lt;td &gt;


AUTO&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXCONCURRENCY&lt;/td&gt; 

&lt;td &gt;


0&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
SINGLEINITIATOR&lt;/td&gt; 

&lt;td &gt;









&lt;p&gt;FALSE.&lt;/p&gt;
&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
Included for backwards compatibility. Do not change.
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYSET&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYMODE&lt;/td&gt; 

&lt;td &gt;
ANY / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CASCADETO&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;&lt;a name=&#34;RECOVERY&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;recovery&#34;&gt;RECOVERY&lt;/h2&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Parameter&lt;/th&gt; 

&lt;th &gt;
Default Setting&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MEMORYSIZE&lt;/td&gt; 

&lt;td &gt;


0%&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;
























&lt;p&gt;Maximum size per node the resource pool can grow by borrowing memory from the 
&lt;code&gt;&lt;a href=&#34;../../../../../en/admin/managing-db/managing-workloads/resource-pool-architecture/built-pools/#GENERAL&#34;&gt;GENERAL&lt;/a&gt;&lt;/code&gt; pool:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;MAXMEMORYSIZE {
  &amp;#39;&lt;span class=&#34;code-variable&#34;&gt;integer&lt;/span&gt;%&amp;#39;
  |&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;integer&lt;/span&gt;{K|M|G|T}&amp;#39;
  NONE
}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;integer&lt;/code&gt;&lt;/em&gt;&lt;code&gt;%&lt;/code&gt;: Percentage of total memory&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;code&gt;integer&lt;/code&gt;&lt;/em&gt;&lt;code&gt;{K|M|G|T}&lt;/code&gt;: Amount of memory in kilobytes, megabytes, gigabytes, or terabytes&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NONE&lt;/code&gt; (empty string): Unlimited, resource pool can borrow any amount of available memory from the &lt;code&gt;GENERAL&lt;/code&gt; pool.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Default&lt;/strong&gt;: &lt;code&gt;NONE&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;admonition caution&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Caution&lt;/h4&gt;
&lt;p&gt;Setting must resolve to ≥ 25%. Otherwise, the database generates a warning that system queries might be unable to execute.&lt;/p&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXQUERYMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;
Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
EXECUTIONPARALLELISM&lt;/td&gt; 

&lt;td &gt;


AUTO&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PRIORITY&lt;/td&gt; 

&lt;td &gt;














&lt;p&gt;One of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Enterprise Mode: 107&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Eon Mode: 110&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;admonition caution&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Caution&lt;/h4&gt;
&lt;p&gt;Change these settings only under guidance from the customer support team.&lt;/p&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITY&lt;/td&gt; 

&lt;td &gt;


MEDIUM&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITYTHRESHOLD&lt;/td&gt; 

&lt;td &gt;


60&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
QUEUETIMEOUT&lt;/td&gt; 

&lt;td &gt;


00:05 (minutes)&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMECAP&lt;/td&gt; 

&lt;td &gt;


NONE&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PLANNEDCONCURRENCY&lt;/td&gt; 

&lt;td &gt;


AUTO&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXCONCURRENCY&lt;/td&gt; 

&lt;td &gt;













&lt;p&gt;By default, set as follows:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;(&lt;/code&gt;&lt;em&gt;&lt;code&gt;numberCores &lt;/code&gt;&lt;/em&gt;&lt;code&gt;/ 2) + 1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Thus, given a system with four cores, MAXCONCURRENCY has a default setting of 3.&lt;/p&gt;
&lt;div class=&#34;alert admonition note&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Note&lt;/h4&gt;
&lt;p&gt;0 or NONE (unlimited) are invalid settings.&lt;/p&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
SINGLEINITIATOR&lt;/td&gt; 

&lt;td &gt;









&lt;p&gt;True.&lt;/p&gt;
&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
Included for backwards compatibility. Do not change.
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYSET&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYMODE&lt;/td&gt; 

&lt;td &gt;
ANY / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CASCADETO&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;&lt;a name=&#34;REFRESH&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;refresh&#34;&gt;REFRESH&lt;/h2&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Parameter&lt;/th&gt; 

&lt;th &gt;
Default Setting&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MEMORYSIZE&lt;/td&gt; 

&lt;td &gt;


0%&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;


NONE (unlimited)&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXQUERYMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;
Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
EXECUTIONPARALLELISM&lt;/td&gt; 

&lt;td &gt;


AUTO&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PRIORITY&lt;/td&gt; 

&lt;td &gt;


-10&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITY&lt;/td&gt; 

&lt;td &gt;


MEDIUM&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITYTHRESHOLD&lt;/td&gt; 

&lt;td &gt;


60&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
QUEUETIMEOUT&lt;/td&gt; 

&lt;td &gt;


00:05 (minutes)&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMECAP&lt;/td&gt; 

&lt;td &gt;


NONE (unlimited)&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PLANNEDCONCURRENCY&lt;/td&gt; 

&lt;td &gt;


AUTO (4)&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXCONCURRENCY&lt;/td&gt; 

&lt;td &gt;




&lt;p&gt;3&lt;/p&gt;
&lt;p&gt;This parameter must be set ≥ 1.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
SINGLEINITIATOR&lt;/td&gt; 

&lt;td &gt;









&lt;p&gt;True.&lt;/p&gt;
&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
Included for backwards compatibility. Do not change.
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYSET&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYMODE&lt;/td&gt; 

&lt;td &gt;
ANY / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CASCADETO&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;&lt;a name=&#34;SYSQUERY&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;sysquery&#34;&gt;SYSQUERY&lt;/h2&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Parameter&lt;/th&gt; 

&lt;th &gt;
Default Setting&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MEMORYSIZE&lt;/td&gt; 

&lt;td &gt;









&lt;p&gt;1G&lt;/p&gt;
&lt;div class=&#34;admonition caution&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Caution&lt;/h4&gt;
&lt;p&gt;Setting must resolve to ≥ 20M, otherwise the database generates a warning that system queries might be unable to execute, and diagnosing problems might be difficult.&lt;/p&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;


Empty (unlimited)&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXQUERYMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;
Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
EXECUTIONPARALLELISM&lt;/td&gt; 

&lt;td &gt;


AUTO&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PRIORITY&lt;/td&gt; 

&lt;td &gt;


110&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITY&lt;/td&gt; 

&lt;td &gt;


HIGH&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITYTHRESHOLD&lt;/td&gt; 

&lt;td &gt;


0&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
QUEUETIMEOUT&lt;/td&gt; 

&lt;td &gt;


00:05 (minutes)&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMECAP&lt;/td&gt; 

&lt;td &gt;


NONE&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PLANNEDCONCURRENCY&lt;/td&gt; 

&lt;td &gt;


AUTO&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXCONCURRENCY&lt;/td&gt; 

&lt;td &gt;









&lt;p&gt;Empty&lt;/p&gt;
&lt;div class=&#34;admonition caution&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Caution&lt;/h4&gt;
&lt;p&gt;Must be set ≥ 1, otherwise the database generates a warning that system queries might be unable to execute.&lt;/p&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
SINGLEINITIATOR&lt;/td&gt; 

&lt;td &gt;









&lt;p&gt;False.&lt;/p&gt;
&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
Included for backwards compatibility. Do not change.
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYSET&lt;/td&gt; 

&lt;td  rowspan=&#34;3&#34; &gt;
Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYMODE&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CASCADETO&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;&lt;a name=&#34;TM&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;tm&#34;&gt;TM&lt;/h2&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Parameter&lt;/th&gt; 

&lt;th &gt;
Default Setting&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MEMORYSIZE&lt;/td&gt; 

&lt;td &gt;











&lt;p&gt;5% (of the &lt;a href=&#34;#GENERAL&#34;&gt;GENERAL&lt;/a&gt; pool&#39;s MAXMEMORYSIZE setting) + 2GB&lt;/p&gt;
&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
&lt;p&gt;You can estimate the optimal amount of RAM for the TM resource pool as follows:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;code&gt;GbRAM&lt;/code&gt;&lt;/em&gt;&lt;code&gt;/ (6 *&lt;/code&gt;&lt;em&gt;&lt;code&gt;#table-cols&lt;/code&gt;&lt;/em&gt;&lt;code&gt;) &amp;gt; 10&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;where &lt;em&gt;&lt;code&gt;#table-cols&lt;/code&gt;&lt;/em&gt; is the number of columns in the largest database table. For example, given a 100-column table, &lt;code&gt;MEMORYSIZE&lt;/code&gt; needs least 6GB of RAM:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;6144MB / (6 * 100)  = 10.24&lt;/code&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;


Unlimited&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXQUERYMEMORYSIZE&lt;/td&gt; 

&lt;td &gt;
Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
EXECUTIONPARALLELISM&lt;/td&gt; 

&lt;td &gt;


AUTO&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PRIORITY&lt;/td&gt; 

&lt;td &gt;


105&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITY&lt;/td&gt; 

&lt;td &gt;


MEDIUM&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMEPRIORITYTHRESHOLD&lt;/td&gt; 

&lt;td &gt;


60&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
QUEUETIMEOUT&lt;/td&gt; 

&lt;td &gt;


00:05 (minutes)&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
RUNTIMECAP&lt;/td&gt; 

&lt;td &gt;


NONE&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
PLANNEDCONCURRENCY&lt;/td&gt; 

&lt;td &gt;


7&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
MAXCONCURRENCY&lt;/td&gt; 

&lt;td &gt;










&lt;p&gt;Sets across all nodes the maximum number of concurrent execution slots available to TM pool. The default value is 7. This setting specifies the maximum number of merges that can occur simultaneously on multiple threads.&lt;/p&gt;
&lt;div class=&#34;alert admonition note&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Note&lt;/h4&gt;
&lt;p&gt;0 or NONE (unlimited) are invalid settings.&lt;/p&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
SINGLEINITIATOR&lt;/td&gt; 

&lt;td &gt;









&lt;p&gt;True&lt;/p&gt;
&lt;div class=&#34;admonition important&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Important&lt;/h4&gt;
Included for backwards compatibility. Do not change.
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYSET&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CPUAFFINITYMODE&lt;/td&gt; 

&lt;td &gt;
ANY / cannot be set&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
CASCADETO&lt;/td&gt; 

&lt;td &gt;


Empty / cannot be set&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;


      </description>
    </item>
    
  </channel>
</rss>
