プライマリ・コンテンツに移動
Oracle® Textリファレンス
12cリリース1 (12.1)
B71316-03
目次へ移動
目次
索引へ移動
索引

前
次

5 CTX_ADMパッケージ

この章の内容は以下のとおりです。

5.1 CTX_ADMパッケージのプロシージャについて

CTX_ADM PL/SQLパッケージには、索引プリファレンスを管理するための管理プロシージャが用意されています。

CTX_ADMパッケージには、次のストアド・プロシージャが含まれています。

名前 説明

MARK_FAILED

索引のステータスをLOADINGからFAILEDへ変更します。

RECOVER

削除したテキスト表のデータベース・オブジェクトをクリーン・アップします。

RESET_AUTO_OPTIMIZE_STATUS

CTX_AUTO_OPTIMIZE_STATUSビューをリセットします。

SET_PARAMETER

索引作成のシステム・レベルのデフォルトを設定します。

注意:

CTX_ADMパッケージを使用できるのは、CTXSYSユーザーのみです。

5.2 MARK_FAILED

MARK_FAILEDプロシージャを使用して索引のステータスをLOADINGからFAILEDへ変更します。

まれに、CREATE INDEXまたはALTER INDEXに失敗すると、索引のステータスがLOADINGのままになる場合があります。索引のステータスがLOADINGになると、RESUME INDEXを使用してリカバリしようとしてもブロックされます。このような場合は、RESUME INDEXで索引をリカバリできるように、CTX_ADM.MARK_FAILEDを使用してステータスをLOADINGからFAILEDに強制的に変更します。

CTX_ADM.MARK_FAILEDを実行するには、CTXSYSとしてログオンする必要があります。

警告:

CTX_ADM.MARK_FAILEDを使用する場合は、注意が必要です。これは最後の手段として使用し、索引に影響を与えるセッションが他にない場合にのみ使用するようにしてください。通常、別のセッションでCREATEまたはALTER INDEXを使用して索引を作成中の場合、CTX_ADM.MARK_FAILEDは正常に実行されません。ただし、場合によっては索引の作成や変更において、CTX_ADM.MARK_FAILEDが正常に実行できるタイミングがあります。このとき、別のセッションで索引を作成中であっても、索引が失敗としてマーク付けされます。

CTX_ADM.MARK_FAILEDはローカル・パーティション索引で機能します。ただし、すべてのパーティションのステータスがFAILEDに変更されます。したがって、CTX_ADM.MARK_FAILEDを使用した後は、ALTER INDEX REBUILD PARTITION PARAMETERS ('RESUME')を使用してすべての索引パーティションを再構築する必要があります。この操作の後にALTER INDEX PARAMETER ('RESUME')を実行すると、索引パーティションのステータスが有効にリセットされます。MARK_FAILED操作の前に正常に構築された索引パーティションは、再構築されません。

構文

CTX_ADM.MARK_FAILED(
  owner_name     in    VARCHAR2,
  index_name     in    VARCHAR2);
owner_name

ステータス変更対象索引の所有者名

index_name

ステータス変更対象の索引名

begin
   CTX_ADM.MARK_FAILED('owner_1', 'index_1');
end;

5.3 RECOVER

RECOVERプロシージャは、テキスト・データ・ディクショナリをクリーン・アップし、残りのプリファレンスなどのオブジェクトを削除します。

構文

CTX_ADM.RECOVER;

begin
   ctx_adm.recover;
end;

5.4 RESET_AUTO_OPTIMIZE_STATUS

RESET_AUTO_OPTIMIZE_STATUSを使用して、CTX_AUTO_OPTIMIZE_STATUSビューをリセット(またはその内容を削除)します。

CTX_ADM.RESET_AUTO_OPTIMIZE_STATUSを実行するには、CTXSYSとしてログオンする必要があります。

構文

CTX_ADM.RESET_AUTO_OPTIMIZE_STATUS;

begin
   ctx_adm.reset_auto_optimize_status;
end;

5.5 SET_PARAMETER

SET_PARAMETERプロシージャは、索引作成用とほぼリアルタイムの索引用のシステム・レベルのパラメータを設定します。

構文

CTX_ADM.SET_PARAMETER(param_name IN VARCHAR2,
                      param_value IN VARCHAR2);
param_name

設定するパラメータの名前を指定します。次のいずれかのパラメータを指定できます。

  • max_index_memory(索引付けに使用可能な最大メモリー)

  • default_index_memory(索引付けに割り当てられたデフォルトのメモリー)

  • log_directory(CTX_OUPUTファイル用ディレクトリ)

  • ctx_doc_key_type(CTX_DOCプロシージャ用のデフォルトの入力キー型)

  • file_access_role(FILEまたはURLデータストアを使用する場合の索引作成用のデフォルトのデータベース・ロール名)

  • auto_optimize (自動最適化のENABLEまたはDISABLE)

  • auto_optimize_logfile (自動最適化ログ・ファイルのベース・ファイル名)

    注意:

    自動最適化ログ・ファイルはログ・ディレクトリに作成され、自動最適化ジョブ開始時刻のタイムスタンプがベース・ファイル名に追加されます。新しいログ・ファイルの名前は、次の自動最適化ジョブを実行するときに有効になります。

  • default_datastore(デフォルトのデータストア・プリファレンス)

  • default_filter_file(ファイルに格納されているデータ用のデフォルトのフィルタ・プリファレンス)

  • default_filter_text(デフォルトのテキスト・フィルタ・プリファレンス)

  • default_filter_binary(デフォルトのバイナリ・フィルタ・プリファレンス)

  • default_section_html(デフォルトのhtmlセクション・グループ・プリファレンス)

  • default_section_xml(デフォルトのxmlセクション・グループ・プリファレンス)

  • default_section_text(デフォルトのテキスト・セクション・グループ・プリファレンス)

  • default_lexer(デフォルトのレクサー・プリファレンス)

  • default_wordlist(デフォルトのワードリスト・プリファレンス)

  • default_stoplist(デフォルトのストップリスト・プリファレンス)

  • default_storage(デフォルトの記憶域プリファレンス)

  • default_ctxcat_lexer (CTXCAT索引のデフォルトのレクサー・プリファレンス)

  • default_ctxcat_stoplist (CTXCAT索引のデフォルトのストップリスト・プリファレンス)

  • default_ctxcat_storage (デフォルトのCTXCAT索引記憶域)

  • default_ctxcat_wordlist (CTXCAT索引のデフォルトのワードリスト・プリファレンス)

  • default_ctxrule_lexer (CTXRULE索引のデフォルトのレクサー)

  • default_ctxrule_stoplist (CTXRULE索引のデフォルトのストップリスト)

  • default_ctxrule_storage (CTXRULE索引のデフォルト記憶域)

  • default_ctxrule_wordlist (CTXRULE索引のデフォルトのワードリスト)

    関連項目:

    これらのパラメータに対するデフォルト値の詳細は、「Oracle Text索引付けの要素」「システム・パラメータ」を参照してください。

param_value

パラメータに割り当てる値を指定します。max_index_memoryおよびdefault_index_memoryの場合、指定する値は次の構文になります。

number[K|M|G]

KはKB、MはMB、GはGBを表します。

その他の各パラメータに対しては、プリファレンスを指定し、索引付けのデフォルトとして使用します。

auto_optimizeに対して指定する値は、ENABLEまたはDISABLEです。このパラメータをENABLEに設定すると、自動最適化ジョブを開始できます。このパラメータをDISABLEに設定すると自動最適化ジョブは開始できず、現在実行中の最適化ジョブはすべて停止します。

begin
  ctx_adm.set_parameter('default_lexer', 'my_lexer');
end;