この章では、『Oracle Database VLDBおよびパーティショニング・ガイド』の変更点について説明します。
関連項目:
Oracle Database 12cリリース1 (12.1)の新機能の詳細は、『Oracle Database新機能ガイド』を参照してください。
Oracle Database 12cリリース1 (12.1.0.2)の大規模データベースおよびパーティション化の変更点は次のとおりです。
Oracle Database 12cリリース1(12.1.0.2)には、大規模データベースをサポートするための次のような新機能があります。
自動ビッグ・テーブル・キャッシングでは、大きな表のキャッシュで温度ベースのアルゴリズムを使用することで、単一インスタンス環境とOracle Real Application Clusters (Oracle RAC)環境の両方で、Oracle Databaseのインメモリー問合せ機能を拡張します。
Oracle RAC環境では、この機能はパラレル問合せでのみサポートされます。単一インスタンス環境では、この機能はパラレル問合せとシリアル問合せの両方でサポートされます。
自動ビッグ・テーブル・キャッシングを使用した問合せとバッファ・キャッシュの統合については、「自動ビッグ・テーブル・キャッシング」を参照してください。
関連項目:
自動ビッグ・テーブル・キャッシングの詳細は、『Oracle Database管理者ガイド』を参照してください。
自動ビッグ・テーブル・キャッシングの詳細は、『Oracle Database概要』を参照してください。
DB_BIG_TABLE_CACHE_PERCENT_TARGET
初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください
V$BT_SCAN*
ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。
各パーティションがINMEMORY
句とCREATE
TABLE
およびALTER
TABLE
SQL文のパーティショニング句を使用してインメモリー列ストアにロードされることを指定できます。例については、「インメモリー列ストアとパーティショニングを使用した表の作成」を参照してください。
関連項目:
インメモリー列ストアの概要については、『Oracle Database概要』を参照してください。
メモリー管理およびインメモリー列ストアについては、『Oracle Database管理者ガイド』を参照してください。
インメモリー列ストアに関連するSQL構文については、『Oracle Database SQL言語リファレンス』を参照してください。
データ・ウェアハウス環境でインメモリー列ストアを使用する方法の詳細は、『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。
強制全データベース・キャッシュ・モードでは全データベースをメモリー内にキャッシュできるため、全表スキャンの実行時やLOBのアクセス時にパフォーマンスが大幅に向上する可能性があります。
関連項目:
全データベース・キャッシュ・モードの詳細は、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。
表の属性クラスタリングにより、表中の特定の列の値に基づく順序に従って、データをディスク上の近接した位置に格納するようにできます。
パーティション保守操作については、パーティション・クラスタリング・オプションで明確に禁止されている場合を除き、クラスタリング・オプションが有効な表は引き続きクラスタリングされます。
関連項目:
表内の属性クラスタリングの詳細は、『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。
ゾーン・マップはアクセス構造で、ゾーン・マップを使用すると、表のディスク・ブロックのスキャン時に、列の述語に基づいてプルーニングできます。
ゾーンは、関連する列の最小値と最大値を格納する、隣接する一連のデータ・ブロックです。SQL文に、ゾーンに格納されている列の述部が含まれる場合、データベースは述部の値をゾーンに格納されている最小値および最大値と比較して、SQL実行時に読み取るゾーンを決定します。これにより、スキャンのI/OコストとCPUコストが著しく改善されます。
ゾーン・マップは属性クラスタリングと統合できます。属性クラスタ化された表の主なメリットはI/Oプルーニングで、表スキャンのI/OコストとCPUコストを著しく削減できます。ゾーン・マップを使用するプルーニングについては、「ゾーン・マップを使用するパーティション・プルーニング」を参照してください。
関連項目:
ゾーン・マップおよび属性クラスタリングの詳細は、『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。
拡張索引圧縮は、Oracleが提供する次世代の圧縮ソリューションです。拡張索引圧縮を使用して索引を作成することで、サポートされているすべての一意索引と非一意索引のサイズが低減します。拡張索引圧縮は、索引への効率的なアクセスを提供しつつ、圧縮率を著しく向上させます。拡張圧縮は、接頭辞圧縮の候補として適切ではない索引を含め、サポートされているすべての索引で適切に機能します。
パーティション索引の場合は、パーティションごとにパーティションの圧縮タイプを指定できます。親索引が圧縮されていない場合でも、索引パーティションに対して拡張索引圧縮を指定できます。
拡張索引圧縮と索引パーティション化の詳細は、「パーティション索引での拡張索引圧縮」を参照してください。パーティション化と表の圧縮については、「パーティション化と表の圧縮」を参照してください。
関連項目:
拡張索引圧縮の詳細は、『Oracle Database管理者ガイド』を参照してください。
Oracle XML DBおよびドメイン索引を使用する他のアプリケーションは、ハッシュ・パーティション化方法を使用できます。ハッシュ・パーティション化は、一連のパーティションにI/Oを均等に分散させるために効果的な方法です。このパーティション化方法の利点をXML DBおよびドメイン索引を使用する他のアプリケーションのユーザーが使用できるようになりました。詳細は、「ハッシュ・パーティション化」を参照してください。
ハッシュ、リストおよびレンジのパーティション化がXMLIndexに対してサポートされています。詳細は、「バイナリXML表のXMLIndexのパーティション化」を参照してください。
関連項目:
XMLデータの索引の詳細は、『Oracle XML DB開発者ガイド』を参照してください。
ハッシュ・パーティション化方法を使用するドメイン索引の詳細は、『Oracle Databaseデータ・カートリッジ開発者ガイド』を参照してください
Oracle Database 12cリリース1 (12.1.0.1)の大規模データベースおよびパーティション化の変更点は次のとおりです。
Oracle Database 12cリリース1 (12.1.0.1)には、大規模データベースをサポートするための次のような新機能があります。
この機能は、複数のパーティションのパーティション・メンテナンス操作を可能にし、簡略化されたアプリケーション開発およびより効率的なパーティション・メンテナンスを提供します。
複数パーティション・メンテナンス操作では、表への複数のパーティションの追加、複数のパーティションの削除、1つのパーティションへの複数のパーティションのマージ、複数のパーティションへの1つのパーティションの分割、1つのSQLデータ定義言語(DDL)文を使用した複数のパーティションの切捨てが可能です。有効なメンテナンス操作の概要は、「パーティションで実行できるメンテナンス操作」を参照してください
詳細は、「複数のパーティションの追加」、「複数のパーティションの削除」、「複数のパーティションのマージ」、「複数のパーティションへの分割」および「複数のパーティションの切捨て」を参照してください。
この機能では、新しいデータおよび古いデータのヒート・マップを提供し、必要に応じてデータベースの各行のアーカイブ状態を指定でき、情報ライフサイクル管理(ILM)戦略の実装を支援します。データベースの各行をアーカイブ状態に基づいて適切に管理し、データベースの全データの表示、圧縮およびストレージ層について非常に細かく制御できます。他のILM関連機能と組み合せると、この機能により、ユーザーはデータベースの記憶域を自動的に最適化してパフォーマンスを最大化し、コストを最小限に抑えることができます。
行、セグメントおよび表レベルで、データのアクセスおよび変更操作を追跡できます。この機能で追跡された情報に基づいて、ポリシードリブン自動化を実行することもできます。
詳細は、「ヒート・マップの使用」および「Oracle Enterprise ManagerでのILMヒート・マップおよびADOの管理」を参照してください。
関連項目:
HEAT_MAP
初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。
DBMS_HEAT_MAP
パッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。
ヒート・マップ・ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。
この機能は、行、セグメントおよび表領域レベルのポリシーを指定するSQL文オプションを提供して、情報ライフサイクル管理(ILM)戦略の実装を支援します。
この機能を使用して、データベース内の異なる層のストレージ間のデータの移動を自動化できます。これには、各層の異なる圧縮レベルを指定する機能およびデータの移動が発生する時間を制御する機能が含まれます。データベースの各表内の行およびセグメント・レベルで圧縮を指定できます。行およびセグメント・レベルで圧縮した層を組み合せると、データベースのデータの格納および管理方法を非常に細かく制御できます。
詳細は、「自動データ最適化の使用」および「Oracle Enterprise ManagerでのILMヒート・マップおよびADOの管理」を参照してください。
関連項目:
ADOを管理するSQL文のILM句の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。
DBMS_ILM
パッケージとDBMS_ILM_ADMIN
パッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。
ILM
ビューの詳細は、『Oracle Databaseリファレンス』を参照してください
インデータベース・アーカイブおよび時間的な有効性機能では、実際の状況のデータの有効性および表示を管理できます。
詳細は、「Oracle Databaseのデータの有効性および表示の制御」を参照してください。
関連項目:
Oracle Temporalの詳細は、『Oracle Database開発ガイド』を参照してください
DBMS_FLASHBACK_ARCHIVE
パッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。
SQL文を使用したインデータベース・アーカイブおよび時間的な有効性機能の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。
表情報の監視に使用するビューの詳細は、『Oracle Databaseリファレンス』を参照してください
増分統計が拡張され、パーティション交換ロードがサポートされるようになりました。非パーティション表にロードされるデータは表のパーティションと交換でき、非パーティション表の統計および既存のパーティション・レベル統計を使用して、パーティション表のグローバル統計を正確に自動計算します。詳細は、「パーティションおよびサブパーティションの交換について」を参照してください。
この機能は、既存のパラレル文のキューイング機能に追加されます。
この機能に含まれる内容は次のとおりです。
キューに入れられた問合せの手動による実行または取消し
キューに入れられている問合せを手動で実行するか、取り消すことができます。
関連項目:
DBMS_RESOURCE_MANAGER
パッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。
プラガブル・データベース(PDB)計画のパラレル・サーバー制限ディレクティブ
parallel_target_percentage
ディレクティブのかわりにparallel_server_limit
ディレクティブを使用します。このディレクティブでは、ディレクティブを設定する際にコンシューマ・グループが使用できる、使用可能なパラレル・サーバーの割合を指定します。
マルチテナント・コンテナ・データベース(CDB)のリソース・プランでは、プラガブル・データベースにこの制限が適用されます。PDBリソース・プランまたはCDB以外のリソース・プランの場合、この制限がコンシューマ・グループに適用されます。
詳細は、「Oracle Database Resource Managerによるパラレル文のキューイングの管理について」を参照してください。
関連項目:
Oracle Database Resource Managerによるマルチテナント・コンテナ・データベースのサポートの詳細は、『Oracle Database管理者ガイド』を参照してください。
DBMS_RESOURCE_MANAGER
パッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。
自動パラレル・キューイングの強化
キューに入れられた文の監視および分析
キューに入れられたパラレル文の分析を容易にするため、V$RSRC_SESSION_INFO
ビューはPQ_SERVERS
およびPQ_STATUS
列を提供します。
V$RSRC_SESSION_INFO.PQ_SERVERS
は、このパラレル操作で使用されるパラレル・サーバーの数を指定します。
V$RSRC_SESSION_INFO.PQ_STATUS
は、パラレル操作がキューに入れられる理由を指定します。
詳細は、「V$RSRC_SESSION_INFO」を参照してください。
関連項目:
V$RSRC_SESSION_INFO
ビューの詳細は、『Oracle Databaseリファレンス』を参照してください
パラレル文のキューイングの履歴統計
パラレル文のキューイングに関連する統計は、指定された1分間の統計を取得して約1時間保持するリソース・マネージャ・メトリックに追加されます。
これらの統計により、DBAは時間経過に応じてパラレル文のキューイングを監視できます。
詳細は、「V$RSRCMGRMETRIC」を参照してください。
関連項目:
V$RSRCMGRMETRIC
ビューの詳細は、『Oracle Databaseリファレンス』を参照してください
クリティカルなパラレル文の優先順位
parallel_stmt_critical
パラメータでは、プラン・ディレクティブのパラレル文についてクリティカルとして特定のコンシューマ・グループをマークできます。
このパラメータは、特定のコンシューマ・グループのパラレル操作をキューに入れず、これらの文をすぐに実行することを指定します。
詳細は、「クリティカルなパラレル文の優先順位」を参照してください。
関連項目:
DBMS_RESOURCE_MANAGER
パッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。
DBA_RSRC_PLAN_DIRECTIVES
ビューの詳細は、『Oracle Databaseリファレンス』を参照してください
パラレル文のキューイングの詳細は、「SQL文のキューイングについて」を参照してください。
表のパーティションのサブセットにローカルおよびグローバル索引を作成して、索引の作成の柔軟性を高めることができます。この操作は、デフォルトの表索引付けプロパティを使用してサポートされます。表が作成または変更される場合、デフォルト索引付けプロパティを表またはそのパーティションに指定できます。
パーティション表における部分索引の作成の詳細は、「パーティション表の部分索引」を参照してください。
この機能では、グローバル索引を使用不可にしないでグローバル索引メンテナンスを遅延してDROP
およびTRUNCATE
パーティションから分離できます。強化点には、高速なDROP
とTRUNCATE
パーティション操作および索引メンテナンスをピーク時以外に延期する機能が含まれます。
詳細は、「パーティションを削除および切り捨てる非同期グローバル索引メンテナンス」を参照してください。
この機能は、最上位パーティション化戦略として参照パーティション表による時間隔パーティション化の使用を有効にして、適切なパーティション化モデリングを提供します。時間隔パーティション表を参照パーティション化の親表として使用できます。参照パーティション表に挿入すると、親表の時間隔パーティションに対応する参照パーティション表のパーティションが作成されます。
詳細は、「時間隔 -参照パーティション表の作成」を参照してください。
この機能では、参照および時間隔 - 参照パーティション表のTRUNCATE
PARTITION
およびEXCHANGE
PARTITION
操作のCASCADE
オプションを指定して、参照パーティション化された子表に操作をカスケードできます。この機能は、親表から子表へのパーティション・メンテナンス操作の継承を有効にして、簡略化されたアプリケーション開発を可能にします。カスケード・オプションはデフォルトで無効になっているため、互換性に影響しません。
詳細は、「カスケード・オプションを使用したパーティションの交換について」および「カスケード・オプションを使用したパーティションの切捨て」を参照してください。
この機能では、ALTER
TABLE
..MOVE
PARTITION
オプションが提供され、移動されているパーティションでDML操作を中断しないで実行できます。また、グローバル索引はパーティションの移動中にメンテナンスされるため、手動の索引の再作成は必要ありません。この機能により、ALTER
TABLE
MOVE
PARTITION
ONLINE
コマンドの特別な停止時間の必要がなくなります。
詳細は、「パーティションおよびサブパーティションの移動について」を参照してください。
関連項目:
この機能の制限事項を含むオンライン移動パーティションの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。