この項では、Oracle Database 11gリリース2(11.2)の新機能を説明し、詳細情報の参照先を示します。現在のリリースに移行するユーザーのために、以前のリリースでの新機能に関する情報も含まれています。
次の項で、Oracle Databaseの新機能について説明します。
分析関数
あるグループ内のメジャー値をリスト(または連結)できる新しいSQL分析関数(LISTAGG
)が導入されました。もう1つの新しい関数(NTH_VALUE
)では、ウィンドウ内の任意の(つまりn番目の)レコードを取得することが可能です。さらに、既存の関数LAG
およびLEAD
が改良され、IGNORE
NULLS
オプションを使用できるようになりました。
外部表からのファイルの事前処理
ファイルを処理する実行対象のプログラムを指定し、その出力をOracle Databaseで使用できるようになりました。このファイルの事前処理により、大量の圧縮データをロードする際、先にそのデータをディスクに展開する必要がなくなります。
マテリアライズド・ビューのリフレッシュの拡張
マテリアライズド・ビュー・ログをリフレッシュ・プロセス外でパージできるようになったため、パフォーマンスが向上します。さらに、集計、結合、もしくはその両方を格納するマテリアライズド・ビューでもパフォーマンスが向上しました。WITH
COMMIT
SCN
句を使用すると、マテリアライズド・ビュー・ログの処理を最適化できます。これにより、リフレッシュ・プロセスが速くなります。
ピボット演算子およびアンピボット演算子
PIVOT
演算子を使用すると、複数の行をレポートに有効なコンパクトな結果セットに要約するクロス集計出力を容易に作成できます。たとえば、1か月分の売上が行ごとに整理されている入力データを、各列を1か月分として、1行に12か月分が含まれるように出力できます。またPIVOT
では、複数の入力行が1行に結合されて出力されるので、表を自己結合することなく行間の比較が可能になります。UNPIVOT
演算子を使用すると、データを別のリレーショナル操作に有効なフォーマットに変形させることができます。たとえば、ソース・データ・セットの各行に12か月分の売上値が含まれている場合、UNPIVOT
を使用すると、各ソース行を、それぞれ1か月分の売上データを含む12の出力行に変形できます。アンピボットされた結果は、ソース・データよりも正規化されたリレーショナル形式になり、より簡潔で効率的なSQLで操作できるようになります。
パーティション・アドバイザ
SQLアクセス・アドバイザは、パーティション化のアドバイスもできるように拡張されました。アプリケーションから最大のパフォーマンスを得るためには、表、索引およびマテリアライズド・ビューのパーティション化を正しく行うことをお薦めします。
チェンジ・データ・キャプチャ(CDC)の拡張
CDCは、ダイレクト・パス・ロード操作と、パーティション・メンテナンス操作による暗黙的なデータ変更とを認識できるようになりました。ユーザーは必要に応じて、同期CDCをオンおよびオフにできます。また、チェンジ・テーブルから変更データをパージする際の柔軟性も向上し、日付範囲を指定してデータをパージできるようになりました。
さらに、データを変更するためのサブスクリプション・ウィンドウのメンテナンスが容易になりました。チェンジ・サブスクリプションの定義を制御できるようになったため、ウィンドウを前後に移動できます。
クエリー・リライトの拡張
クエリー・リライトは、インライン・ビューを含む問合せをサポートするように拡張されました。このリリースより前は、インライン・ビューを含む問合せはテキストがマテリアライズド・ビュー内のインライン・ビューと完全一致した場合にしかリライトできませんでした。インライン・ビューは問合せとマテリアライズド・ビューが文字どおりに一致する必要がなくなったため、より多くのインライン・ビューを含む問合せをリライトできるようになりました。また、新たに改良されたクエリー・リライトの重要な機能として、リモート表を参照している問合せをリライトできるようになったという点もあげられます。
リフレッシュの拡張
リフレッシュでは、UNION
ALL
マテリアライズド・ビューの自動索引作成、マテリアライズド・ビューのアトミック・リフレッシュ時のクエリー・リライトの使用、集合演算子を使用したマテリアライズド・ビューのリフレッシュをサポートするように拡張されました。また、UNION
ALL
マテリアライズド・ビューのパーティション・チェンジ・トラッキングのリフレッシュが可能になりました。さらに、カタログ・ビューは、パーティション化されたマテリアライズド・ビューの失効情報を含むように拡張されました。こうした改良により、リフレッシュ・パフォーマンスの高速化が期待できます。
Oracle OLAPオプション・データ・ウェアハウス機能
Oracle DatabaseのOLAPオプションは、OLAPキューブを表に対する便利な代替手段として利用して、データ・ウェアハウスの集計データの管理および問合せを行うような機能がいくつか用意されました。次に、機能の詳細を示します。
SQL問合せエンジンとキューブの新たな統合。1つは、Oracleクエリー・オプティマイザとキューブ行ソースへのキューブの統合です。こうした機能により、結合がOracle Databaseの多次元エンジンに直接プッシュされて表とキューブの間で効率的な結合が実行され、キューブからの選択時に秒当たりの総計行スループットが改善されることによって、OLAPキューブおよびOLAPディメンションから選択するSQL問合せの効率性が大幅に向上します。
キューブで構成されたマテリアライズド・ビューに対する自動クエリー・リライト。キューブで構成されたマテリアライズド・ビューでは、表ではなくOLAPキューブからデータにアクセスします。アプリケーションは、表ベースのマテリアライズド・ビューと同様に、問合せをディテール表またはビューに書き込んだり、データベースにキューブ内の事前集計データへの問合せを自動的にリライトさせたりできます。
データベース管理のキューブの自動リフレッシュ。このリリースでは、表ベースのマテリアライズド・ビューと同様にDBMS_MVIEW.REFRESH
プログラムを使用してキューブをリフレッシュできます。キューブでは、FAST
(増分)リフレッシュを強力にサポートしています。
コストベースの集計。多くの状況で、キューブは表と比較して集計データの管理という点で非常に効率的です。コストベースの集計では、集計データの事前集計および問合せの効率の改善や、集計データの管理プロセスの簡素化によって、こうしたメリットがさらに高まります。
ビジネス・インテリジェンス・ツールやアプリケーションで問合せを行う、ディメンションとしてモデル化されたデータ・セット(スター・スキーマやスノーフレーク・スキーマなど)をサポートするデータベース管理者は、大幅なパフォーマンス・メリットを期待できるOLAPキューブをサマリー管理ソリューションとして使用することを検討する必要があります。