この章では、次の項目について説明します。
インストール時に、WKSYS
およびWKPROXY
の2つのOracle Ultra Searchシステム・スキーマが作成されます。スキーマのパスワードを更新するには、次の手順を実行します。
データベースをインストールすると、すべてのユーザー・スキーマ・アカウントがロックされます。ユーザーWKSYS
(またはWKPROXY
)としてログインするには、SYSTEM
またはSYS
データベース・ユーザーとして次の文を実行し、WKSYS
(またはWKPROXY
)のロックを解除します。
ALTER USER WKSYS ACCOUNT UNLOCK IDENTIFIED BY password;
Oracle ASおよびOracle Collaboration Suiteから、Enterprise Managerを使用してメタデータ・リポジトリ・データベースのWKSYS
(またはWKPROXY
)のパスワードを変更することができます。
注意: OracleAS Metadata RepositoryのWKSYS (またはWKPROXY )パスワードを変更する場合は、データベースとOracle Internet Directoryの両方でパスワードが更新されるように、Application Server Controlコンソールを使用してパスワードを変更する必要があります。インストール済コンポーネントのパスワードを変更する方法の詳細は、『Oracle Application Server管理者ガイド』およびOracle Application Serverドキュメント・ライブラリ内のコンポーネント・ガイドを参照してください。 |
ここでは、データベース管理の操作について説明します。この操作は、Oracle Enterprise ManagerまたはSQL*Plusを使用して行います。
Oracle REDOログのサイズの拡張(必要な場合)
Oracleデータベースのすべてのインスタンスには、関連するオンラインREDOログがあります。これは、データベースに対してコミットされた変更をすべて記録する複数のオンライン・ログ・ファイルの集合です。オンラインREDOログは、インスタンスに障害が発生したときにデータベースを保護します。REDOログ・ファイルのサイズによって、REDOログ・ファイルの切替え頻度が決まります。この頻度は、テキストの索引付けのスピードにも大きく影響します。ログ・ファイルの切替え頻度を減らすために、REDOログ・ファイルのサイズはそれぞれ100MB以上であることを確認してください。
ここでは、REDOログ・ファイルのサイズを拡張する方法を簡単に説明します。適切なOracleの管理者権限を使用して、次のセクションに文を入力します。
関連項目:
|
REDOログ・ファイルの位置およびサイズを決定します。
SELECT v$logfile.member, v$logfile.group#, v$log.status, v$log.bytes FROM v$log, v$logfile WHERE v$log.group# = v$logfile.group#;
サイズの大きいREDOログ・ファイルを追加します。
ALTER DATABASE ADD LOGFILE 'redo_log_directory/newredo1.log' size 100m; ALTER DATABASE ADD LOGFILE 'redo_log_directory/newredo2.log' size 100m; ALTER DATABASE ADD LOGFILE 'redo_log_directory/newredo3.log' size 100m;
本番データベースでは、ログ・グループごとのログ・メンバーを増加し、異なるストレージ・デバイスを使用してパフォーマンスと信頼性を向上させます。
元のログ・ファイルを削除します。元の各REDOログ・ファイルに対してALTER
SYSTEM
SWITCH
LOGFILE
文を入力し、ステータスをINACTIVE
にします。これは、ログ・ファイルの削除時にOracleがこのログ・ファイルを使用しないようにするためです。
次の文を入力して、元のREDOログ・ファイルを削除します。
ALTER DATABASE DROP LOGFILE 'redo_log_directory/redo01.log'; ALTER DATABASE DROP LOGFILE 'redo_log_directory/redo02.log'; ALTER DATABASE DROP LOGFILE 'redo_log_directory/redo03.log';
元のログ・ファイルをファイル・システムから手動で削除します。元の各REDOログ・ファイルについては、適切なオペレーティング・システム文を使用して不要なログ・ファイルをファイル・システムから削除します。
UNDO領域のサイズの拡張
すべてのOracleデータベースには、データベースに対する変更のロールバック(UNDO)に使用する情報を保持する方法が必要です。このような情報は、主にコミットされる前のトランザクションのレコードで構成されます。これらのレコードは集合的にUNDOと呼ばれます。Oracle Universal Installerによって作成されるUNDO領域は、通常は小さすぎることがあります。自動UNDO管理を使用し、UNDO領域を大きくすることをお薦めします。
関連項目: 自動UNDO管理の使用方法の詳細は、『Oracle Database管理者ガイド』を参照してください。 |
Oracle初期化パラメータのチューニング
初期化ファイルで次の値を設定します。
Oracle Universal Installerによって作成された初期データベースが作成する一時表領域は、小さすぎることがあります。Oracle Ultra Searchは、Oracle Textエンジンを集中的に使用します。このため、Oracle TextシステムのCTXSYS
ユーザー用に大規模な一時表領域を作成する必要があります。読取りおよび書込みのパフォーマンスを向上させる場合は、RAWデバイス上に表領域を作成します。
作成した一時表領域を、CTXSYS
ユーザーに一時表領域として割り当てます。割り当てるには、SYSTEM
またはSYS
ユーザーでログインする必要があります。次の文を入力して、CTXSYS
ユーザーに一時表領域を割り当てます。
ALTER USER CTXSYS TEMPORARY TABLESPACE new_temporary_tablespace;
関連項目: 一時表領域の作成方法の詳細は、『Oracle Database管理者ガイド』を参照してください。 |
Oracle Ultra Searchの各インスタンス用に、クロールおよび索引付けの処理中に取得するすべてのデータを格納するために、十分な大きさの表領域を作成する必要があります。表領域の大きさは、クロールおよび索引付けするデータ量によって異なります。ただし、ほとんどの場合、収集するデータ量は事前にわかりません。クロールするすべてのデータの累積サイズを見積ってください。
サイズを見積もることができない場合は、できるだけ大きい領域を割り当ててください。ディスク領域がなくなった場合は、インスタンスの表領域にデータ・ファイルを追加して、Oracle Ultra Searchを再開します。
次に、新規表領域の作成方法の例を示します。
CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 150M;
表領域に格納されるデータ量が非常に大きくなることがあります。この場合、より多くの記憶領域が必要になるたびに、新しいエクステントを割り当てることになります。extent management句で新しいエクステントが現在のエクステントより大きくなるように指定した場合は(つまり、PCTINCREASE
の設定が0(ゼロ)以外の場合)、割り当てられる次のエクステントが、使用可能なエクステントより大きくなることがあります。このような場合は、表領域に新しいエクステントが追加されるまで索引付けが停止されます。CREATE
TABLESPACE
文のSTORAGE
句で、システムによって割り当てられる値が指定されていることを確認してください。
この問題を回避するには、特定のインスタンス固有の表に記憶域パラメータを明示的に設定する必要があります。これらのインスタンス固有の表には、初期エクステント・サイズ、次のエクステント・サイズおよびPCTINCREASE
設定を定義します。新しいインスタンスが作成されると、これらの表が作成されます。表およびSTORAGE句の設定は、次のとおりです。
DR$WK$DOC_PATH_IDX$I (initial extent size 5M, next extent size 50M, PCTINCEASE 1) DR$WK$DOC_PATH_IDX$K (initial extent size 5M, next extent size 50M, PCTINCEASE 1)
読取りおよび書込みのパフォーマンスを向上させる場合は、RAWデバイス上に表領域を作成します。
Oracle Ultra Searchインスタンスの各ユーザー用に、大規模な表領域を新しく作成してください。
関連項目:
|
Oracle Ultra Searchは、Oracleのファイングレイン・アクセス・コントロール機能を使用して、複数のOracle Ultra Searchインスタンスを1つの物理データベースでサポートします。この機能は、1つのOracleのインストールで複数の非結合検索の索引をホストする大きな組織やアプリケーション・サービス・プロバイダ(ASP)で特に有効です。
注意: Oracle Ultra Searchでは、Oracle Ultra Searchの各仮想インスタンスが、一意のデータベース・ユーザーに対応している必要があります。そのため、インストール・プロセスの一部として、Oracle Ultra Searchインスタンス用にすべてのデータを所有する1つ以上の新しいデータベース・ユーザーを作成する必要があります。2つ以上のデータベース・インスタンスを作成する場合は、各ユーザーに対してユーザー表領域を1つずつ作成する必要があります)。 |
新規Oracle Ultra Searchインスタンスをホストするデータベース・ユーザーに対し、WKUSER
ロールを付与する必要があります。
次の文を入力して、新しいユーザーを作成および構成します。これらの文は、WKSYS
、SYSTEM
またはSYS
データベース・ユーザーで実行します。
CREATE USER username
IDENTIFIED BY password DEFAULT TABLESPACE default_tbs
TEMPORARY TABLESPACE temporary_tbs QUOTA UNLIMITED
ON default_tbs;
username = Oracle Ultra Searchインスタンス所有者の名前
password = Oracle Ultra Searchインスタンス所有者のパスワード
default_tbs = 手順3で作成したOracle Ultra Searchインスタンスのデフォルト表領域
temporary_tbs = 手順2で作成した一時表領域
GRANT WKUSER TO username;
これらの手順を完了すると、WKSYS
またはOracle Ultra Searchスーパーユーザーは、このユーザー・スキーマにOracle Ultra Searchインスタンスを作成できます。
このユーザーに一般管理権限またはスーパーユーザー権限を付与する場合は、Oracle Ultra SearchスーパーユーザーまたはWKSYS
としてログインし、管理ツールの「ユーザー」タブに進み、該当する権限を付与します。
このステップはオプションです。Oracle Ultra Searchインスタンスの作成時に、空の索引が作成されます。既存の索引設定(言語固有のパラメータなど)は、$ORACLE_HOME/ultrasearch/admin/wk0pref
.sql
ファイルに定義されています。
設定を変更して、すべての新しいOracle Ultra Searchインスタンスで変更後の設定を使用できます。インスタンスの作成直後に独自の設定を使用して索引を変更することもできます。索引はSQLを使用して変更します。
注意: クローラは、索引付けを開始する前にバイナリ・ドキュメントをフィルタ処理し、すべてのドキュメントをHTMLファイルに変換します。 |
関連項目:
|
Oracle Database 10gから、Oracle Ultra Searchは、Secure Sockets Layer(SSL)をサポートするようになりました。したがって、Oracle Ultra Searchでは、HTTPベースのURLに加え、HTTPSベースのURL(SSLを使用したHTTP)にもアクセスできます。Ultra SearchはSSLをJVMのサービスとして扱うので、SSLのカスタマイズ、チューニングまたは構成はJREレベルで行われます。Oracle Ultra Searchは、Sun社のJDKが提供するSSLサービスを使用します。Sun社のSSL実装を使用すると、デフォルトのTrust Manager、Key Managerおよびトラストストアを簡単に置き換えることができます。トラストストアとは、SSLを使用してピアが通信できるエンティティを識別するパブリックSSL証明書のリストです。トラストストアは、メンテナンスする必要があります。期限切れの証明書を新しく発行された証明書で更新するか、トラストストアに新しい証明書を追加する必要があります。新しいエンティティをリストに追加することにより、SSLを介してそれらのエンティティと通信できます。たとえば、Oracle Ultra Searchを使用して、セキュアなOracle Portalインストールを提供するとします。Oracle Portalインストールでは、よく知られた認証局が発行した証明書を持たない場合、ユーザーが発行した自己署名証明書が使用されます。つまり、Oracle Portalの証明書は、Oracle Ultra Searchが使用するトラストストアにありません。このため、Oracle Portalインストールを識別する証明書をトラストストアに追加する必要があります。サード・パーティ・ツールの他に、Sun社はkeytoolという独自のトラストストア管理ツールを提供しています。keytoolを使用すると、Sun社のトラストストアで証明書の追加、更新、削除およびインポートを実行できます。keytoolでは、独自の自己署名証明書も作成できます。
更新の必要なトラストストアが複数存在する場合もあります。Oracle Ultra Searchクローラおよび中間層は、異なるJDKインストール(Oracle Application ServerまたはOracle Collaboration Suiteのデプロイメントのように、2つが別の層にあるときなど)を使用できます。それぞれに個別のトラストストアがあり、それぞれのトラストストアを更新する必要があります。
関連項目: Sun社のkeytoolキーおよび証明書管理ユーティリティの使用方法の詳細、SSLサービスのカスタマイズの詳細およびトラストストア管理の詳細は、JSSEユーザーズ・ガイドなどのSun社のドキュメントを参照してください。 |
すべてのOracle Ultra Searchインスタンスには、対応するストップリストがあります。ストップリストとは、索引付け処理中に無視される単語のリストです。これらの単語をストップワードと呼びます。ストップワードに索引付けを行っても有効ではなく、索引付けのパフォーマンスおよび正確さが低下するため、ストップワードには索引付けを行いません。
インストール時に、Oracle Ultra Search製品のデフォルトのストップリストが作成されます。その後、Oracle Ultra Searchインスタンスが作成され、デフォルトのストップリストのコピーがOracle Ultra Searchインスタンスに作成されます。
デフォルトのストップリストは、WKSYS
スキーマに作成されます。デフォルトのストップリスト名は、wk_stoplist
です。(このリストは、インストール時に実行される$ORACLE_HOME/ultrasearch/admin/wk0pref
.sql
ファイルに定義されています)。ストップリストは、英語でのみ作成されます。
ストップワードを追加または削除して、デフォルトのストップリストを変更できます。ただし、これらの変更は既存のOracle Ultra Searchインスタンスには影響を与えません。変更後に作成されたOracle Ultra Searchインスタンスにのみ影響を与えます。
インスタンスのストップリストの変更は、あまりお薦めしません。次のいずれかの方法を使用します。
インスタンスを作成する前に、デフォルトのストップリストを変更する場合
インスタンスを作成した直後に、インスタンスのストップリストを置き換える。
インスタンスの作成直後にインスタンスのストップリストを置き換えると、そのインスタンスのみが影響を受けます。最初にユーザー定義のストップリストを作成する必要があります。
どちらの場合も、Oracle Ultra Searchインスタンスのストップリストは、初回のクロール前に変更および定義されます。つまり、Oracle Ultra Searchクローラによって収集されたすべてのドキュメントは、正しいストップリストと照合して評価されます。すべてのドキュメントの再クロールを回避するために、初回のクロール前にストップリストを変更してください。
インスタンスを作成する前に、デフォルトのストップリストを変更する場合
たとえば、デフォルトのストップリストにストップワードwebを追加するには、SQL*Plusを使用してユーザーWKSYS
でログインし、次の文を実行します。
EXEC ctx_ddl.add_stopword('wk_stoplist','web');
デフォルトのストップリストからストップワードwebを削除するには、SQL*Plusを使用してユーザーWKSYS
でログインし、次の文を実行します。
EXEC ctx_ddl.remove_stopword('wk_stoplist','web');
これによって、すべての新しいインスタンスのストップリストには、デフォルトのストップリストに対して行われた変更が反映されます。
インスタンスの作成直後に、インスタンスのストップリストを置き換える場合
ユーザー定義のストップリストを新しく作成する必要があります。SQL*Plusを使用してインスタンスの所有者としてログインし、次の文を実行します。
BEGIN ctx_ddl.create_stoplist('example_stoplist'); ctx_ddl.add_stopword('example_stoplist','example_stopword'); ... (add more stopwords by repeated the previous line with new stopwords) ... END; /
インスタンスのストップリストを新しいストップリストと置き換えるには、SQL*Plusを使用してインスタンスの所有者としてログインし、次の文を実行します。
ALTER INDEX wk$doc_path_idx rebuild parameters('replace stoplist example_stoplist');
次のいずれかの方法で、初回のクロール後にインスタンスのストップリストを変更します。
インスタンスのストップリストにストップワードを追加する場合
インスタンスのストップリストにストップワードを追加しても、クロールまたは索引付けされたドキュメントには影響しません。この処理には、コストはかかりません。
たとえば、インスタンスのストップリストにストップワードwebを追加するには、SQL*Plusを使用してインスタンスの所有者としてログインし、次の文を実行します。
ALTER INDEX wk$doc_path_idx rebuild parameters('add stopword web');
初回のクロール後に、インスタンスのストップリストを置き換える場合
新しいストップリストを定義して、インスタンスのストップリストと置き換えると、索引全体が無効になります。この方法を選択すると、Oracle Ultra Searchクローラで索引のすべてのドキュメントを再クロールする必要があります。これを行うには、「スケジュールの編集」ページの「全ドキュメントの処理」をクリックします。この処理には、非常にコストがかかります。そのため、できるだけこの方法は使用しないでください。
Oracle Ultra Search問合せアプリケーションは、Oracle Ultra Searchのインストール時に自動的にデプロイされます。ただし、Oracle Ultra Searchでは複数のインスタンスによる異なるスキーマ・ユーザーの使用が許可されているため、問合せアプリケーションは自動的にデータベースに接続するよう構成されていません。データベース接続は、OC4Jにデータソースを作成することによって構成されます(Oracle Ultra Searchのデータソースではありません)。これを行うには、data-sources.xml
ファイルを編集します。
Oracle Ultra Searchでは複数のインスタンスによる異なるスキーマ・ユーザーの使用が許可されているため、複数の問合せアプリケーションが同じデータベースに共存できます。各問合せアプリケーションは、データベースへの接続情報がdata-sources.xml
で定義されている必要があります。jdbc/UltraSearchPooledDS1
、jdbc/UltraSearchPooledDS2
などのように、それぞれ異なる位置の値を定義する必要があります。これに対応して、問合せアプリケーションは複数回OC4Jでデプロイされる必要があります。
data-sources.xml
内の正しいエントリを使用するように各アプリケーションのデプロイメントを構成する必要があります。これを行うには、問合せのJSPソースを編集します。検索アプリケーション全体についてはcommon_customize_instance.jsp
を編集し、次の行を編集して正しい位置の値を使用するように設定します。
String m_datasource_name = "jdbc/UltraSearchPooledDS"