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

このトピックでは、IM列ストアに関連する初期化パラメータを説明します。

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

初期化パラメータ 説明

INMEMORY_ADG_ENABLED

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

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

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

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_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列ストアに移入するかを制御します。

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

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

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

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

OPTIMIZER_INMEMORY_AWARE

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

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

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

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