データベースリソースの効率的な管理

  • データベースリソースマネージャ
    • システムの負荷やユーザー数に関係なく、適切なリソースをグループ単位で管理する
    • ALTER SYSTEMでリソースプランを動的に変更可能
    • 日中と夜間のリソース割当を変える、という管理が可能
  • 管理可能な項目
    • CPU時間をパーセンテージ単位で割り当て
    • 並列度の制限
    • ジョブの最大見積もり実行時間
    • 合計UNDO量の制限
    • 自動グループ切り替え
    • アクティブ・セッション・プール
  • リソースマネージャ用語
    • リソースコンシューマグループ
      • ユーザをグループ化したもの
      • 1つのユーザに複数割り当てられるが有効にできるのは1つだけ
        • SYS_GROUP:SYS、SYSTEMが含まれる
        • OTHER_GROUP:すべてのプランに含める必要がある
        • DEFAULT_CONSUMER_GROUP:ユーザはデフォルトでここに含まれる
        • LOW_GROUP:優先度低いグループ
    • リソースプラン
      • プラン定義名
      • 複数作成できるが有効にできるのは1つだけ
    • リソースプランディレクティブ
      • リソースプランとコンシューマグループの対応付け
      • それぞれのプランに対するコンシューマグループのリソース割当について定義する
  • リソースマネージャの利用方法
    • ペンディングエリア(作業領域)の作成
      • DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA
    • 要素の作成
      • DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP
      • DBMS_RESOURCE_MANAGER.CREATE_PLAN
      • DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE
    • ペンディングエリアの検証・コミット
      • DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA
      • DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA
    • リソースプランの有効化
      • ALTER SYSTEM SET RESOURCE_MANAGER_PLAN = プラン名