113 DBMS_MEMOPTIMIZE

DBMS_MEMOPTIMIZEパッケージは、ラージ・プールとmemoptimizeプールにバッファリングされたMemoptimized Rowstoreデータを管理するためのインタフェースを提供します。

この章のトピックは、次のとおりです:

113.1 DBMS_MEMOPTIMIZEの概要

DBMS_MEMOPTIMIZEパッケージは、ラージ・プールとmemoptimizeプールにバッファリングされるMemoptimized Rowstoreデータを管理するためのインタフェースを提供します。

Memoptimized Rowstoreには、次の機能があります。

  • 高速収集

    高速収集により、高頻度の単一行データ挿入の処理が最適化されます。高速収集では、SGAのラージ・プールを使用して、ディスクに書き込む前に挿入をバッファリングします。

  • 高速参照

    高速参照により、高頻度の問合せのデータを高速に取得できます。高速参照では、memoptimizeプールというSGA内の専用のメモリー領域を使用して、表から問い合せたデータをバッファリングします。

DBMS_MEMOPTIMIZEパッケージは、Memoptimized Rowstoreに関連する次の操作を可能にします。

  • 高速収集の操作:

    • すべてのセッションで、ラージ・プールからディスクに正常に書き込まれた行の順序番号のうち低い高水位標(低いHWM)を提示します。

    • 現在のセッションで、ラージ・プールに書き込まれた行の高水位標(HWM)順序番号を提示します。

    • 現在のセッションで、すべての高速収集データをラージ・プールからディスクにフラッシュします。

  • 高速参照の操作:

    • memoptimizeプールから表のデータを削除します。

    • memoptimizeプール内の表のデータを移入します。

113.2 DBMS_MEMOPTIMIZEサブプログラムの要約

この表は、DBMS_MEMOPTIMIZEサブプログラムを示し、簡単に説明しています。

113-1 高速収集に関連するDBMS_MEMOPTIMIZEパッケージのサブプログラム

プロシージャ 説明

GET_APPLY_HWM_SEQIDファンクション

すべてのセッションでグローバルにディスクに正常に書き込まれた行の順序番号のうち低い高水位標(低いHWM)を返します。

GET_WRITE_HWM_SEQIDファンクション

現在のセッションでラージ・プールに書き込まれた行の高水位標(HWM)順序番号を返します。

WRITE_ENDプロシージャ

現在のセッションで、すべての高速収集データをラージ・プールからディスクにフラッシュします。

表113-2 DBMS_MEMOPTIMIZEパッケージの高速参照に関連するサブプログラム

プロシージャ 説明

DROP_OBJECTプロシージャ

memoptimizeプールから表のデータを削除します。

POPULATEプロシージャ

memoptimizeプール内の表のデータを移入します。

113.2.1 DROP_OBJECTプロシージャ

このプロシージャでは、memoptimizeプールから表のデータを削除します。

構文

DBMS_MEMOPTIMIZE.DROP_OBJECT (
   schema_name        IN VARCHAR2,
   table_name         IN VARCHAR2,
   partition_name     IN VARCHAR2 DEFAULT NULL);

パラメータ

表113-3 DROP_OBJECTプロシージャのパラメータ

パラメータ 説明

schema_name

スキーマの名前です。

table_name

memoptimizeプールからデータを削除する必要がある表の名前。

partition_name

memoptimizeプールからデータを削除する必要がある表パーティションの名前。

これはオプション・パラメータであり、デフォルト値はNULLです。

113.2.2 GET_APPLY_HWM_SEQIDファンクション

このファンクションは、すべてのセッションでディスクに正常に書き込まれたレコードの順序番号のうち低い高水位標(低いHWM)を返します。

構文

DBMS_MEMOPTIMIZE.GET_APPLY_HWM_SEQID
  RETURN number;

戻り値

すべてのセッションでディスクに正常に書き込まれたレコードの順序番号のうち低い高水位標(低いHWM)を返します。

113.2.3 GET_WRITE_HWM_SEQIDファンクション

このファンクションは、現在のセッションでラージ・プールに書き込まれたレコードの高水位標(HWM)順序番号を返します。

構文

DBMS_MEMOPTIMIZE.GET_WRITE_HWM_SEQID
  RETURN number;

戻り値

現在のセッションでラージ・プールに書き込まれたレコードの高水位標(HWM)順序番号を返します。

113.2.4 POPULATEプロシージャ

このプロシージャでは、memoptimizeプール内の表のデータを移入します。

構文

DBMS_MEMOPTIMIZE.POPULATE (
   schema_name        IN VARCHAR2,
   table_name         IN VARCHAR2,
   partition_name     IN VARCHAR2 DEFAULT NULL);

パラメータ

表113-4 POPULATEプロシージャのパラメータ

パラメータ 説明

schema_name

スキーマの名前です。

table_name

データを移入する必要があるmemoptimizeプール内の表の名前。

partition_name

データを移入する必要があるmemoptimizeプール内の表パーティションの名前。

これはオプション・パラメータであり、デフォルト値はNULLです。

113.2.5 WRITE_ENDプロシージャ

このプロシージャでは、現在のセッションですべての高速収集データをラージ・プールからディスクにフラッシュします。

構文

DBMS_MEMOPTIMIZE.WRITE_END;