DEFERRED_SEGMENT_CREATION
DEFERRED_SEGMENT_CREATIONはリリース11.2.0以降で有効な初期化パラメータで、遅延セグメント作成に関する指定を行います。
パラメータ名 | DEFERRED_SEGMENT_CREATION |
値 |
TRUE
FALSE
|
デフォルト値 | TRUE |
動的変更方法 |
ALTER SESSION
ALTER SYSTEM
|
TRUEを設定すると、表のセグメントと依存オブジェクト(LOB、索引)は、表に最初の行が挿入されるまで作成されません。
「多数の表を作成するけれども、当面はデータを投入しない」といったケースでは、この設定によってディスク領域を節約することができます。アプリケーションのインストール時などには多数の表が作成されることが多いので、この設定によって時間を短縮することができます。
半面、表に最初の行を挿入する際に新しいセグメントが作成されることになるため、そのタイミングではパフォーマンスが多少劣化することになります。
◆◆◆
第8回目となる今回は、Oracle Database 11gから新たに追加された初期化パラメータについて解説しました。次回は、Oracle Database 11gから新たに追加されたバックグラウンド・プロセスについて解説する予定です。
それでは、最後に津島博士のワンポイントアドバイスです。津島博士、よろしくお願いいたします。
みなさんこんにちは。日本オラクルの津島と申します。
Oracle Database11g Release 2 (11.2)の初期化パラメータは、リファレンスに掲載されているだけで260項目もあるので、とっつきにくいと感じたり、設定が面倒に思うかもしれません。
しかし、Oracle Databaseはバージョンアップするごとに自動化機能を強化して設定を簡略化し、ミスや運用の手間を削減しています。
今回は、代表的な初期化パラメータを二つご紹介しましょう。
・MEMORY_TARGET(11.1.0.6以降)
PGAおよびSGAに割り当てるサイズを指定します。
自動メモリ管理機能を有効にすると、Oracle Database は指定されたサイズの中で、必要に応じて各コンポーネントのメモリ割り当てを自動的に行います。また、運用中も負荷に応じて自動的にサイズが調整され、最適化されるのでメモリ割り当てエラー(ORA-4031)などに悩まされることが少なくなります。
関連記事:Oracleの自動メモリ管理機能~見積り、割当て設定、チューニングが容易に!
・PARALLEL_DEGREE_POLICY(11.2.0以降)
自動パラレル度設定を導入することにより、パラレル処理の設定を容易にします。
従来、パラレル度の設定にはリソース競合を避けるための入念な調査と設計が必要でした。この初期化パラメータを設定すると、クエリー、DML、DDLそれぞれのSQL文に対して最適なパラレル度が自動的に設定されるため、パラレル度設定に関するデータベース管理者、アプリケーション開発者の負担を大幅に軽減できます。
関連資料:簡単設定で自動高速化!SQLのパラレル実行の活用 (PDF)
簡単設定で自動高速化!SQLのパラレル実行の活用 (MP4)
また、DWHに特化した初期化パラメータの設定方法については、柴田竜典(シバタツ)さんの記事によくまとまっているので、ぜひ参考にしてください。
シバタツ流! DWHチューニングの極意
第1回 初期化パラメータと表領域作成
それでは、次回もお楽しみに。
◆◆◆
【津島博士プロフィール】
長年に渡りデータベースの構築やパフォーマンスチューニングなどに従事し、最近では若手エンジニアの育成および大規模データベース案件などの支援に従事。
「津島博士のパフォーマンス講座」を連載中です。
【関連情報】「好奇心が、エンジニア人生を豊かにする。」