13 インメモリー初期化パラメータ

IM列ストアの動作を制御するいくつかの初期化パラメータを示します。

この章は要約のみです。Oracle Databaseリファレンスには、すべてのデータベース・ビューについての完全な情報が含まれています。

表13-1 IM列ストアに関連する初期化パラメータ

初期化パラメータ 説明

INMEMORY_ADG_ENABLED

スタンバイ・データベース上でOracle Active Data Guardのインメモリーが有効(TRUE)になっているか無効(FALSE)になっているかを示します。デフォルトはTRUEです。

Active Data Guardの場合、メディア・リカバリでは、REDOを適用するときにインメモリー・オブジェクトを取得して、問合せの進行後に関連オブジェクトを無効にする必要があります。このパラメータは、メディア・リカバリで取得および無効化を実行するかどうかを制御します。

スタンバイ・リカバリが実行されていない場合のみ、このシステムレベル・パラメータを変更できます。スタンバイ・データベースでOracle RACが使用されている場合は、このパラメータをすべてのインスタンス上で同じ値に設定する必要があります。

INMEMORY_AUTOMATIC_LEVEL

作業データセットが常にIM列ストア内にあるように保証することによって、IM列ストアの管理を自動化します。

次の値を設定できます。

  • OFF: これがデフォルトです。この値が設定されている場合、自動インメモリーは無効になります。この値は、IM列ストアをOracleデータベース18cより前の動作に戻します安定した作業データ・セットがないと思われる場合は、パラメータをDISABLEに設定します。

  • LOW:この値が設定されている場合、データベースはメモリー不足のときにIM列ストアからコールド・セグメントを除去します。

  • MEDIUM:このレベルでは、メモリー不足のために移入されなかったホット・セグメントが最初に移入されるように保証する追加の最適化が含まれます。

INMEMORY_CLAUSE_DEFAULT

新しい表およびマテリアライズド・ビューに対してデフォルトのIM列ストア句を指定します。

このパラメータでは、次のオプションがサポートされています。

  • 新しい表およびマテリアライズド・ビューに対してデフォルトのIM列ストア句がないことを指定するには、このパラメータを未設定のままにするか、空の文字列に設定します。このパラメータをNO INMEMORYに設定すると、デフォルト値(空の文字列)に設定したのと同じ結果となります。

  • すべての新しい表およびマテリアライズド・ビューに対して句がデフォルトであることを指定するには、このパラメータを有効なINMEMORY句に設定します。句には、IM列ストアの圧縮方法およびデータ移入オプションに関する有効な句を含めることができます。オプションは次のとおりです。

    • 句がINMEMORYで始まる場合、INMEMORY句が指定されていないものも含め、すべての新しい表およびマテリアライズド・ビューがIM列ストアに移入されます。

    • 句からINMEMORYが省略されている場合、作成時にINMEMORY句を指定してIM列ストアに対して有効になっている新しい表およびマテリアライズド・ビューにのみ適用されます。

INMEMORY_EXPRESSIONS_USAGE

どのIM式がIM列ストアへの移入の対象かを制御します。

このパラメータでは、次のオプションがサポートされています。

  • ENABLE

    データベースでは、静的IM式と動的IM式の両方がIM列ストアに移入されます。この値を設定すると、一部の表でインメモリー・フットプリントが増加します。これはデフォルトです。

  • STATIC_ONLY

    静的構成では、IM列ストアでOSON (バイナリJSON)列をキャッシュできます。それらは、IS_JSONチェック制約でマークされます。内部的には、OSON列は、SYS_IME_OSONという名前の非表示仮想列です。

  • DYNAMIC_ONLY

    データベースでは、SYS_IME非表示仮想列として表に追加された、頻繁に使用されているかホットな式のみが移入されます。この値を設定すると、一部の表でインメモリー・フットプリントが増加します。

  • DISABLE

    データベースでは、静的か動的かに関係なく、IM式はIM列ストアに移入されません。

ノート:

IM式では、NLS依存のデータ型はサポートされていません。

INMEMORY_FORCE

IM列ストアに対して表およびマテリアライズド・ビューを有効化または無効化します。

このパラメータでは、次のオプションがサポートされています。

  • 移入を決定するためにINMEMORYまたはNO INMEMORY属性を使用可能にするには、このパラメータをDEFAULT (デフォルト値)に設定します。

  • IM列ストアに対してすべての表およびマテリアライズド・ビューを無効にするには、このパラメータをOFFに設定します。

INMEMORY_MAX_POPULATE_SERVERS

領域管理ワーカー・プロセス(Wnnn)によって他のシステムに負荷がかかりすぎないよう、移入に使用するそれらのプロセスの数を最大で指定します。

システムのコア数に基づいて、このパラメータを適切な値に設定します。デフォルトは、有効CPUスレッド数の半分、またはPGA_AGGREGATE_TARGET値を512 MBで割った値の、どちらか少ないほうです。

ノート: INMEMORY_MAX_POPULATE_SERVERS0に設定されている場合、IM列ストアにオブジェクトを移入できません。

INMEMORY_OPTIMIZED_ARITHMETIC

NUMBER列が、インメモリー最適化された形式で格納されるかどうかを制御します。

このパラメータでは、次のオプションがサポートされています。

  • DISABLE (デフォルト)は、最適化されたエンコーディングを使用しません。

  • ENABLEは、SIMDハードウェアを使用したネイティブ計算を可能にする最適化された形式で数値をエンコードします。この最適化は、FOR QUERY LOW圧縮を含む表で使用できます。

INMEMORY_QUERY

インメモリー問合せを許可するかどうかを指定します。

このパラメータでは、次のオプションがサポートされています。

  • ENABLE (デフォルト)は、移入されたオブジェクトに問合せがアクセスすることを許可します。

  • DISABLEは、移入されたオブジェクトへのアクセスをブロックします。

INMEMORY_SIZE

データベース・インスタンスでのIM列ストアのサイズを設定します。

デフォルト値は0であり、これにより、IM列ストアは無効になります。ゼロ以外の最小設定は100Mです。

INMEMORY_TRICKLE_REPOPULATE_SERVERS_PERCENT

トリクル再移入を実行する、移入プロセスと再移入プロセスの合計パーセンテージを制限します。

このパラメータの値は、INMEMORY_MAX_POPULATE_SERVERS初期化パラメータの値の割合になります。たとえば、INMEMORY_TRICKLE_REPOPULATE_SERVERS_PERCENTが5パーセントで、INMEMORY_MAX_POPULATE_SERVERSが20の場合、IM列ストアでは、平均値である1コア(.05 * 20)がトリクル再移入のために使用されます。

INMEMORY_VIRTUAL_COLUMNS

どの式をIM列ストアに移入するかを制御します。

このパラメータでは、次のオプションがサポートされています。

  • MANUAL (デフォルト)にすると、明示的にINMEMORYとして指定されているIM仮想列の移入が許可されます。

  • ENABLEにすると、INMEMORY表内のすべてのIM仮想列について、明示的にIM列ストアから除外されていないかぎり、移入が許可されます。

  • DISABLEにすると、移入の対象となるIM仮想列がないことが指定されます。

OPTIMIZER_INMEMORY_AWARE

Database In-Memoryのためのオプティマイザ・コスト・モデル機能拡張を制御します。

このパラメータでは、次のオプションがサポートされています。

  • TRUE (デフォルト)にすると、INMEMORYオブジェクトを参照するSQL文が最適化されます。

  • FALSEにすると、最適化中に表のINMEMORY属性が無視されます。