データベースリソースマネージャ
マシンリソースの割り当て方法をデータベースで制御するための機能
データベースリソースマネージャの要素
リソースプラン
リソースプランディレクティブ
リソースコンシューマグループ
データベース・リソース・マネージャの設定
リソースマネージャのオブジェクトの作成手順
管理者はペンディング領域内でプランを作り、必要に応じて変更し、
変更を検証し、コミット(サブミット)が完了すると、
プランがOracleデータベース内に格納される。
administer_resource_manager権限が必要
dbms_resource_manager_privsパッケージを使用
begin
dbms_resource_manager_privs.grant_system_privilege(
grantee_name => 'SCOTT',
admin_option => false);
end;
begin
dbms_resource_manager_privs.revoke_system_privilege(
revokee_name => 'SCOTT');
end;
ペンディングエリアの作成
DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA()
リソースコンシューマグループの作成
DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(…)
begin
dbms_resource_manager.create_consumer_group(
consumer_group => 'hoge',
comment => 'hoge');
end;
リソースプランの作成
DBMS_RESOURCE_MANAGER.CREATE_PLAN(…)
begin
dbms_resource_manager.create_plan(
plan => 'test',
comment => 'test');
end;
※commentを書かないとエラーになりました。
リソースプランディレクティブの作成
DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(…)
begin
dbms_resource_manager.create_plan_directive(
plan => 'test',
group_or_subplan => 'hoge',
comment => 'aaa',
cpu_p1 => 100);
end;
begin
dbms_resource_manager.create_plan_directive(
plan => 'test',
group_or_subplan => 'hoge2',
comment => 'bbb',
cpu_p2 => 100);
end;
ペンディング領域に作成されたプランの正当性の検証
DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA()
ペンディング領域に作成されたプランのコミット
DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA()
ユーザーに対するリソースコンシューマグループの割り当て
DBMS_RESOURCE_MANAGER_PRIVS.GRANT_SWITCH_CONSUMER_GROUP
ログインしたときに有効になるようにする
begin
dbms_resource_manager_privs.grant_switch_consumer_group(
grantee_name => 'SCOTT',
consumer_group => 'hoge',
grant_option => true);
end;
begin
dbms_resource_manager.set_initial_consumer_group(
user => 'SCOTT',
consumer_group => 'hoge');
end;
コンシューマグループにユーザーを割り当てる
begin
dbms_resource_manager.switch_consumer_group_for_user(
user => 'SCOTT',
consumer_group => 'hoge');
end;
ユーザーの初期リソースコンシューマグループの設定
DBMS_RESOURCE_MANAGER.SET_INITIAL_CONSUMER_GROUP
インスタンスが使用するプランの設定
初期化パラメータに設定
RESOURCE_MANAGER_PLAN = プラン名
RESOURCE_MANAGER_PLAN:リソースプランの設定
インスタンスを停止及び再起動せずにリソースプランを変更
ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = プラン名
プランに対するすべての変更はペンディング領域で行わなければならない。
リソース管理情報
DBA_RSRC_PLANS リソースプラン
DBA_RSRC_PLAN_DIRECTIVES リソースプランディレクティブ
DBA_RSRC_CONSUMER_GROUPS リソースコンシューマグループ
DBA_RSRC_CONSUMER_GROUP_PRIVS コンシューマグループを付与されたユーザー
DBA_USERS ユーザーの初期コンシューマグループ
V$RSRC_PLAN 現在アクティブなリソースプラン
V$RSRC_CONSUMER_GROUP コンシューマグループ別のCPU使用率の統計情報
|