语法
CREATE RESOURCE POOL pool-name
... [ MEMORYSIZE {'sizeUnits' |DEFAULT }]
... [ MAXMEMORYSIZE {'sizeUnits' | NONE |DEFAULT }]
... [ EXECUTIONPARALLELISM {int | AUTO | DEFAULT} ]
... [ PRIORITY {integer | HOLD | DEFAULT}]
... [ RUNTIMEPRIORITY { HIGH | MEDIUM | LOW |DEFAULT} ]
... [ RUNTIMEPRIORITYTHRESHOLD { integer |DEFAULT }]
... [ QUEUETIMEOUT {integer | NONE |DEFAULT}]
... [ PLANNEDCONCURRENCY {integer | DEFAULT |AUTO }]
... [ MAXCONCURRENCY {integer | NONE |DEFAULT }]
... [ RUNTIMECAP {interval | NONE | DEFAULT} ]
... [ SINGLEINITIATOR { bool | DEFAULT }]
... [ CPUAFFINITYSET { 'cpuIndex' | 'cpuIndex list' | 'integer percentage' | NONE | DEFAULT }
]
... [ CPUAFFINITYMODE { SHARED | EXCLUSIVE | ANY | DEFAULT } ]
... [ CASCADE TO {secondary_pool | DEFAULT} ]
创建资源池
CREATE RESOURCE POOL ceo_pool MEMORYSIZE '1800M'
MAXMEMORYSIZE 10G;
=> GRANT USAGE ON RESOURCE POOL ceo_pool to ceo_user;
GRANT PRIVILEGE
=> ALTER USER ceo_user RESOURCE POOL ceo_pool;
ALTER USER
注意这里MEMORYSIZE 和MAXMEMORYSIZE 协调使用更灵活,可以节省内存空间,避免浪费
修改资源库大小
ALTER RESOURCE POOL person_pool MEMORYSIZE '4G'
MAXMEMORYSIZE 20G PLANNEDCONCURRENCY 4 MAXCONCURRENCY 5;
PLANNEDCONCURRENCY 和MAXCONCURRENCY 要视具体情况而定
授予资源池使用权限
GRANT USAGE ON RESOURCE POOL resource-pool [, ...] TO { username | role | PUBLIC } [, ...]
GRANT USAGE ON RESOURCE POOL person_pool
to username | role | PUBLIC;