(8.0)
select @@session.max_execution_time;
set @@session.max_execution_time = 3000;
select @@session.max_execution_time;
select sleep(10);
(12cR1)
set time on
set timing on
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();
END;
/
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP (
CONSUMER_GROUP => 'OLTP',
COMMENT => 'OLTP applications');
END;
/
BEGIN
DBMS_RESOURCE_MANAGER.SET_CONSUMER_GROUP_MAPPING(
ATTRIBUTE => DBMS_RESOURCE_MANAGER.ORACLE_USER,
VALUE => 'TEST',
CONSUMER_GROUP => 'OLTP');
END;
/
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN(
PLAN => 'DAYTIME',
COMMENT => 'More resources for OLTP applications');
END;
/
BEGIN
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE (
PLAN => 'DAYTIME',
GROUP_OR_SUBPLAN => 'OLTP',
COMMENT => 'OLTP group',
MGMT_P1 => 90,
SWITCH_FOR_CALL => TRUE,
SWITCH_ELAPSED_TIME => 3,
SWITCH_GROUP => 'CANCEL_SQL');
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE (
PLAN => 'DAYTIME',
GROUP_OR_SUBPLAN => 'OTHER_GROUPS',
COMMENT => 'This one is required',
MGMT_P1 => 10);
END;
/
BEGIN
DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA();
END;
/
BEGIN
DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
END;
/
show parameter resource_manager_plan
alter system set resource_manager_plan = DAYTIME;
show parameter resource_manager_plan
execute dbms_lock.sleep(10);
(11)
\timing 1
show statement_timeout;
set statement_timeout = 3000;
show statement_timeout;
select pg_sleep(10);
(2022)
メモリを集中的に使用するクエリ (並べ替えやハッシュ演算に関係するクエリなど) は、そのクエリの実行に使用できるメモリが不足しているとキューに登録されます。
[クエリの待機] オプションは、タイムアウトになるまでのクエリのリソース待ち時間を秒数 (0 ~ 2147483647) で指定します。
このオプションの既定値は -1 です。 このとき、タイムアウトは予測されるクエリ コストの 25 倍になります。
USE test;
GO
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE ;
GO
EXEC sp_configure 'query wait', 0 ;
GO
RECONFIGURE;
GO