ヘッダーをスキップ
Oracle Ultra Search管理者ガイド
11gリリース1(11.1)
E05790-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

12 Oracle Ultra Search管理PL/SQL API

この章では、Oracle Ultra Searchで使用できるPL/SQL APIのリファレンス情報を提供します。APIは次のように分類されます。

各APIグループの内容を次の各表に示します。

インスタンス関連のAPI

ここでは、インスタンス関連のAPIを使用するためのリファレンス情報を提供します。

CREATE_INSTANCE

このプロシージャは、Oracle Ultra Searchインスタンスを作成するときに使用します。

構文

OUS_ADM.CREATE_INSTANCE(
  inst_name     IN VARCHAR2,
  schema_name   IN VARCHAR2,
  password      IN VARCHAR2 DEFAULT NULL,
  lexer         IN VARCHAR2 DEFAULT NULL,
  stop_list     IN VARCHAR2 DEFAULT NULL,
  data_store    IN VARCHAR2 DEFAULT NULL,
  snapshot      IN NUMBER DEFAULT ous_adm.NO,
);
inst_name

インスタンスの名前です。

schema_name

スキーマの名前です。

password

スキーマのパスワードです。

lexer

Oracle Text索引のレクサー設定です。

stop-list

Oracle Text索引のストップリスト設定です。

data_store

Oracle Text索引のデータストア設定です。

snapshot

OUS_ADMYESに設定されている場合は、スナップショット用のインスタンスを作成します。

OUS_ADM.CREATE_INSTANCE('Scott instance','scott','tiger');

DROP_INSTANCE

このプロシージャは、Oracle Ultra Searchインスタンスを削除するときに使用します。

構文

OUS_ADM.DROP_INSTANCE(
  inst_name IN VARCHAR2
);
inst_name

削除するインスタンスの名前です。

OUS_ADM.DROP_INSTANCE('Scott instance')

GRANT_ADMIN

このプロシージャは、現在のインスタンスまたはすべてのインスタンスのいずれかのインスタンス管理権限を指定したユーザーに付与するときに使用します。

構文

OUS_ADM.GRANT_ADMIN (
 user_name     IN VARCHAR2,
 user_type     IN NUMBER DEFAULT DB_USER,
 scope         IN NUMBER DEFAULT CURRENT_INSTANCE,
 grant_option  IN NUMBER DEFAULT NO_OPTION
);
user_name

管理者権限を割り当てるユーザーの名前です。

user_type

ユーザーのタイプ(OUS_ADM.DB_USER: データベース・ユーザー、OUS_ADM.LDAP_USER: ライトウェイトsingle sign-onユーザー)です。

scope

権限付与の有効範囲(CURRENT_INSTANCEまたはALL_INSTANCE)です。

grant_options

権限を付与するオプション(NO_OPTIONまたは権限受領者がその他のユーザーに権限を付与できるWITH_GRANT)です。

OUS_ADM.GRANT_ADMIN('scott',ous_adm.DB_USER, ous_adm.ALL_INSTANCE);

REVOKE_ADMIN

このプロシージャは、指定されたユーザーからインスタンス管理者権限を取り消すときに使用します。

構文

OUS_ADM.REVOKE_ADMIN (
 user_name  IN VARCHAR2,
 user_type  IN NUMBER DEFAULT DB_USER,
 scope      IN NUMBER DEFAULT CURRENT_INSTANCE
);
user_name

権限が取り消されるユーザーの名前です。

user_type

ユーザーのタイプ(OUS_ADM.DB_USER: データベース・ユーザー、OUS_ADM.LDAP_USER: ライトウェイトsingle sign-onユーザー)です。

scope

権限付与の有効範囲(CURRENT_INSTANCEまたはALL_INSTANCE)です。

OUS_ADM.REVOKE_ADMIN('scott',ous_adm.DB_USER);

SET_INSTANCE

このプロシージャは、Oracle Ultra Searchインスタンスを操作するときに使用します。ほぼすべてのOUS_ADM APIで、SET_INSTANCEを最初にコールする必要があります。

構文

このプロシージャは2つの形式で使用します。1つ目の形式では、設定するインスタンスの名前を指定します。

OUS_ADM.SET_INSTANCE(
  inst_name IN VARCHAR2
);
inst_name

設定するインスタンスの名前です。

2つ目の形式では、設定するインスタンスのIDを指定します。

OUS_ADM.SET_INSTANCE(
  inst_id IN NUMBER
);
inst_id

設定するインスタンスのIDです。

OUS_ADM.SET_INSTANCE('Scott Instance');

スケジュール関連のAPI

ここでは、スケジュール関連のAPIを使用するためのリファレンス情報を提供します。

CREATE_SCHEDULE

このプロシージャは、クローラ・スケジュールを作成するときに使用します。スケジュールのIDを戻します。

構文

OUS_ADM.CREATE_SCHEDULE (
 name            IN VARCHAR2,
 interval        IN VARCHAR2,
 crawl_mode      IN NUMBER DEFAULT REGULAR_CRAWL,
 recrawl_policy  IN NUMBER DEFAUL RECRAWL_WHEN_MODIFIED,
 crawler_id      IN NUMBER DEFAULT LOCAL_CRAWLER
) return number;
name

スケジュールの名前です。

interval

スケジュール間隔です。これは、OUS_INTERVALファンクションから生成された文字列です。

crawl_mode

クロール・モードは、REGULAR_CRAWLCRAWL_ONLYまたはINDEX_ONLYです。

recrawl_policy

再クロール条件は、RECRAWL_WHEN_MODIFIEDまたはRECRAWL_ON_EVERYTHINGです。

crawler_id

スケジュールの実行に使用するクローラのIDです。LOCAL_CRAWLERまたはリモート・クローラIDです。

この例では、索引のないマーケティングWebサイトのクロールのみを指示するクローラ・スケジュールを作成しています。ローカル・クローラによって6時間ごとに開始されます。

schedule_id := OUS_ADM.CREATE_SCHEDULE('marketing site schedule',
            OUS_ADM.INTERVAL(ous_adm.HOURLY,6), ous_adm.CRAWL_ONLY);

DROP_SCHEDULE

このプロシージャは、クローラ・スケジュールを削除するときに使用します。

構文

OUS_ADM.DROP_SCHEDULE (
 name IN VARCHAR2
);
name

削除するスケジュールの名前です。

OUS_ADM.DROP_SCHEDULE('marketing site schedule');

INTERVAL

このファンクションは、スケジュール間隔文字列を生成するときに使用します。

構文

OUS_ADM.INTERVAL (
 type        IN NUMBER,
 frequency   IN NUMBER DEFAULT 1,
 start_hour  IN NUMBER DEFAULT 1,
 start_day   IN NUMBER DEFAULT 1
) return varchar2;
type

スケジュール間隔のタイプです。パッケージ定数(HOURLYDAILYWEEKLYMONTHLYおよびMANUAL)を指定します。

frequency

スケジュール頻度です。間隔タイプに依存し、x時間/日/週/月ごとに実行されます。MANUAL間隔タイプの場合は、使用しません。

start_hour

スケジュールの起動時間を24時間形式で表します。1は午前1時を表します。HOURLYおよびMANUALスケジュールの場合は、使用しません。

start_day

スケジュールの開始日です。このパラメータは、WEEKLYおよびMONTHLY間隔でのみ使用します。曜日は0から6で指定し、0は日曜日を表します。日付は1から31で指定します。

5日ごとに午後6時から開始するように指定します。

OUS_ADM.INTERVAL(OUS_ADM.DAILY, 5, 18);

オンデマンドで起動するように指定します。

OUS_ADM.INTERVAL(OUS_ADM.MANUAL);

2週間ごとの月曜日に午前6時から開始するように指定します。

OUS_ADM.INTERVAL(type=>OUS_ADM.WEEKLY,frequency=>2,start_day=>2,start_hour=>6);

3か月ごとの1日の午後11時に開始するように指定します。

OUS_ADM.INTERVAL(OUS_ADM.MONTHLY, 3, 23, 1);

SET_SCHEDULE

このプロシージャは、スケジュールを実行、再開または停止するときに使用します。

構文

OUS_ADM.SET_SCHEDULE (
 name       IN VARCHAR2,
 operation  IN NUMBER
);
name

スケジュールの名前です。

operation

EXECUTERESUMEまたはSTOPを指定します。

OUS_ADM.SET_SCHEDULE('marketing site schedule', ous_adm.EXECUTE);

UPDATE_SCHEDULE

このプロシージャは、クローラ・スケジュールを更新するときに使用します。

構文

OUS_ADM.UPDATE_SCHEDULE (
 name       IN VARCHAR2,
 operation  IN NUMBER,
 value      IN VARCHAR2 DEFAULT null
);
name

更新するスケジュールの名前です。

operation

対象の更新操作です。

値が必要な操作もあります。RENAMEADD_DSREMOVE_DSSET_INTERVALCRAWL_MODERECRAWL_POLICYおよびSET_CRAWLERを指定できます。ENABLE_SCHEDULEおよびDISABLE_SCHEDULEは指定できません。

value

このパラメータは更新操作により指定する値が異なります。新しいスケジュール名(RENAME)、データ・ソース名(ADD_DSまたはREMOVE_DS)、間隔文字列(SET_INTERVAL)、クロール・モード値(CRAWL_MODE)、再クロール・ポリシー(RECRAWL)またはクローラID(SET_CRAWLER)を指定できます。

OUS_ADM.UPDATE_SCHEDULE('marketing site schedule', ous_adm.SET_INTERVAL,
       OUS_ADM.INTERVAL(ous_adm.HOURLY,3);
)
OUS_ADM.UPDATE_SCHEDULE('marketing site schedule', OUS_ADM.RENAME,
       'marketing site');
OUS_ADM.UPDATE_SCHEDULE('marketing site', OUS_ADM.ADD_DS,
       'marketing primary site');
OUS_ADM.UPDATE_SCHEDULE('marketing site', ous_adm. DISABLE_SCHEDULE);
OUS_ADM.UPDATE_SCHEDULE('marketing site',
       OUS_ADM.RECRAWL_POLICY, ous_adm.RECRAWL_ON_EVERYTHING);

この例では、1001はリモート・クローラのIDです。

OUS_ADM.UPDATE_SCHEDULE('marketing site', ous_adm.CRAWLER_ID, 1001);

クローラ構成API

ここでは、クローラ構成APIを使用するためのリファレンス情報を提供します。

SET_ADMIN_READONLY

このプロシージャは、クローラ構成設定の管理GUIページからの変更を防ぐために使用します。キャッシュ・ディレクトリの位置などの設定を管理GUIから制御できないようにする場合に、このプロシージャが役立ちます。サーバーの管理者がOracle Ultra Searchは管理しない場合などです。

構文

OUS_ADM.SET_ADMIN_READONLY (
 config_name IN NUMBER,
 read_only   IN NUMBER DEFAULT YES,
 crawler_id  IN NUMBER DEFAULT LOCAL_CRAWLER
);
config_name

クローラ構成設定の名前です。次の値を指定できます。

構成名 説明
CC_CACHE_DIRECTORY クローラ・キャッシュ・ディレクトリ・パス
CC_CACHE_SIZE キャッシュ・サイズ(MB単位)
CC_CACHE_DELETION 索引付け後のキャッシュ・ファイル削除の使用可能/使用不可
CC_LOG_DIRECTORY クローラ・ログ・ファイルの位置

read_only

設定をGUIから変更できないようにする場合は、YESに設定します。

crawler_id

構成を変更しているクローラのIDです。LOCAL_CRAWLERまたはリモート・クローラIDに設定できます。

OUS_ADM.SET_ADMIN_READONLY(ous_adm.CC_CACHE_DIRECTORY, ous_adm.YES);

OUS_ADM.SET_ADMIN_READONLY(ous_adm.CC_LOG_DIRECTORY,ous_adm.NO)

IS_ADMIN_READONLY

このファンクションは、クローラ構成設定が読取り専用かどうかを確認するときに使用します。構成が読取り専用の場合は、IS_ADMIN_READONLYは1を戻し、そうでない場合は0を戻します。

構文

OUS_ADM.IS_ADMIN_READONLY (
  config_name  IN NUMBER,
  crawler_id   IN NUMBER DEFAULT LOCAL_CRAWLER
) return number;
config_name

クローラ構成の名前です。次の値を指定できます。

構成名 説明
CC_CACHE_DIRECTORY クローラ・キャッシュ・ディレクトリ・パス
CC_CACHE_SIZE キャッシュ・サイズ(MB単位)
CC_CACHE_DELETION 索引付け後のキャッシュ・ファイル削除の使用可能/使用不可
CC_LOG_DIRECTORY クローラ・ログ・ファイルの位置

crawler_id

構成を確認しているクローラのIDです。LOCAL_CRAWLERまたはリモート・クローラIDに設定できます。

If OUS_ADM.IS_ADMIN_READONLY(ous_adm.CC_CACHE_DIRECTORY) then  …end if;

UPDATE_CRAWLER_CONFIG

このプロシージャは、クローラ構成を更新するときに使用します。

構文

OUS_ADM.UPDATE_CRAWLER_CONFIG (
 config_name   IN NUMBER,
 config_value  IN VARCHAR2
);
config_name

クローラ構成の名前です。

config_value

構成値です。次の値を指定できます。

構成名 説明
CC_CACHE_DIRECTORY クローラ・キャッシュ・ディレクトリ・パス 有効な任意のディレクトリ・パス
CC_CACHE_SIZE キャッシュ・サイズ(MB単位) 任意の正の整数
CC_CACHE_DELETION 索引付け後のキャッシュ・ファイル削除の使用可能/使用不可 OUS_ADM.DELETE_CACHEまたはOUS_ADM_KEEP_CACHE
CC_LOG_DIRECTORY クローラ・ログ・ファイルの位置 有効な任意のディレクトリ・パス
CC_DATABASE バックエンド・データベースへの接続文字列 有効な任意のJDBC接続文字列
CC_PASSWORD クローラがデータベースに接続するためのデータベース接続パスワード インスタンスを所有するスキーマのデータベース接続パスワード
CC_JDBC_DRIVER ローカル・クローラが使用するJDBCドライバ・タイプ OUS_ADM.THIN_DRIVERまたはOUS_ADM.OCI_DRIVER

OUS_ADM.UPDATE_CRAWLER_CONFIG(ous_adm.CC_CACHE_DIRECTORY,
          '/private1/ultrasearch/cache/');OUS_ADM.UPDATE_CRAWLER_CONFIG(ous_adm.CC_CACHE_SIZE,15);