Resource Manager はデフォルトで有効です。
実際に有効かどうかを確認するには、[Administration] メニューで [Resource Manager] をクリックして、
[Configuration] タブで [On] オプションが選択されていることを確認します。
1. プランの定義
1.1 プランを有効にするタイミング
Always: 常に有効。
CPU usage is equal to or greater than: CPU 使用率が特定のパーセント値を超えたとき。この制限は、クエリ開始時およびその後 20 秒おきに評価されます。
1.2 Resource Manager が実行するアクション
①Stop query always
②Switch query to plan
③Stop query when the maximum execution time has been reached
④Stop query when the maximum number of returned rows has been reached
⑤Set the priority of the threads that execute the query
⑥Set the maximum number of concurrent queries
⑦Set the maximum number of queued queries
⑧Set automatic simplification of the query to
⑨Set the maximum number of queries per time unit
⑩Add variables values to query context
2. ルールの定義
条件で使用できるすべてのフィールド
access_interface
admin_user
client_ip
connection_start_time
database_name
intermediate_client_IP
JMS_queue_name
last_executed_query
query_running
query_running_queued
(roles).value
user_agent
user_authentication_type
user_name
web_service_name
ルールの例
user_agent='reports application'
user_agent='reports application' AND gethour(CURRENT_TIMESTAMP) >= 8 AND gethour(CURRENT_TIMESTAMP) < 23
access_interface in ('Data-Catalog', 'JDBC')
(roles).value = 'developer' or (roles).value = 'tester'
(getdayofweek(current_date) = 7 OR getdayofweek(current_date) = 1)
(gethour(CURRENT_TIMESTAMP) >= 18 OR gethour(CURRENT_TIMESTAMP) < 7)
(gethour(connection_start_time) >= 18 OR gethour(connection_start_time) < 7)
3. 動作確認
9時台の時間帯だけ返される行数を1件に制限
# RESOURCE MANAGER PLANS
# #######################################
CREATE OR REPLACE RESOURCE_MANAGER PLAN plan01
DESCRIPTION = 'plan01'
CONDITION true ACTION 'STOP_QUERY_WHEN_MAX_NUMBER_OF_RETURNED_ROWS_REACHED' PARAMETERS ('MaxReturnedRows' = 1);
# #######################################
# RESOURCE MANAGER RULES
# #######################################
CREATE OR REPLACE RESOURCE_MANAGER RULE rule01
DESCRIPTION = 'rule01'
CONDITION (gethour(now()) >= 9 AND gethour(now()) < 10)
RESOURCE_MANAGER PLAN plan01;
→ 特にエラーとならず、返される行数が1件になる