14 Oracle Textアプリケーションの移行

新しいリリースのOracle Databaseにアップグレードする際、以前のリリースのOracle Textからアプリケーションを移行するときに問題が発生する場合があります。該当する場合には、Oracle Textアプリケーションを新しいリリースに移行するときに必要な手順についてオラクル社にお問い合せください。

この章の構成は、次のとおりです。

関連項目:

Oracle Databaseのアップグレードの詳細と、アプリケーションの移行については、『Oracle Databaseアップグレード・ガイド』を参照してください

14.1 Oracle Textとロジカル・スタンバイによるローリング・アップグレード

ロジカル・スタンバイ・データベースを使用すると、ローリング・アップグレードを実行できます。ローリング・アップグレード中は、プライマリ・データベースとロジカル・スタンバイ・データベースで異なるリリースのOracle Databaseを実行しながら、プライマリ・データベースの停止時間を最短に抑えて各リリースを一度に1つずつアップグレードできます。ローリング・アップグレード中、Oracle TextはText索引のアップグレードをフルに活用します。

すべてのCTX PL/SQLプロシージャはスタンバイ・データベースに完全にレプリケートされ、したがってアップグレードされますが、次のプロシージャでは、それぞれに説明されているように特定の制限があります。

関連項目:

ロジカル・スタンバイ・データベースを作成してローリング・アップグレードを実行する方法は、『Oracle Data Guard概要および管理』を参照してください

14.1.1 CTX_DDL PL/SQLプロシージャ

Oracle Databaseでは、ROWIDを内部的に使用して索引が構築されます。次のCTX_DDLプロシージャは、スタンバイに完全にはレプリケートされません。

  • ADD_MDATA

  • REMOVE_MDATA

14.1.2 CTX_OUTPUT PL/SQLプロシージャ

CTX_OUTPUT.ENABLE_QUERY_STATSCTX_OUTPUT.DISABLE_QUERY_STATSのみがレプリケートされます。つまり、Oracle Textのロギングの原因になる操作を実行する前にプライマリ・データベースでロギングを有効にした場合、その操作はプライマリ・データベースではロギング付きで実行されますが、セカンダリ・データベースではロギングなしで実行されます。

14.1.3 CTX_DOC PL/SQLプロシージャ

Oracle Text結果表を使用して次の CTX_DOCプロシージャを使用すると、その表に格納されるデータはレプリケートされます。結果表を使用せずにプロシージャを使用すると、レプリケートされません。

  • CTX_DOC.SET_KEY_TYPE

  • CTX_DOC.FILTER

  • CTX_DOC.GIST

  • CTX_DOC.MARKUP

  • CTX_DOC.TOKENS

  • CTX_DOC.THEMES

  • CTX_DOC.HIGHLIGHT

  • CTX_DOC.FILTER_CLOB_QUERY

  • CTX_DOC.MARKUP_CLOB_QUERY

  • CTX_DOC.HIGHLIGHT_CLOB_QUERY

関連項目:

プライマリ・データベースで停止時間を最小限に抑えてローリング・アップグレードを実行する方法は、『Oracle Data Guard概要および管理』を参照してください

14.2 Oracle Textファイルを識別し、新しいOracleホームにコピーする

Oracle Textをアップグレードするには、この手順を使用して必要なファイルを特定し、それを既存のOracleホームから新しいリリースのOracleホームにコピーします。このタスクはOracle Databaseをアップグレードした後で実行します。

一部のOracle Text機能は、ユーザーが構成したOracleホーム下のファイルを使用します。新しいリリースへの手動アップグレードの後、または、Oracleホームを変更する他の処理の後に、これらのファイルを手動で特定し、移動する必要があります。これらのファイルにはユーザー・フィルタ、メール・フィルタ構成ファイルおよびナレッジ・ベース拡張ファイルなどがあります。これらのファイルを特定したら、既存のOracleホームから新しいOracleホームにコピーします。

既存のOracleホームからコピーする必要があるファイルのリストを特定するには、SQLスクリプト/ctx/admin/ctx_oh_files.sqlを実行することをお薦めします。
  1. 以前のリリースのデータベースのSYSSYSTEMまたはCTXSYSシステム権限を使用してログインします。
  2. 前のリリースのデータベースのOracleホーム下の$ORACLE_HOME/ctx/admin/ctx_oh.sqlを実行します。

    次にその例を示します。

    sqlplus / as sysdba
    connected
    SQL> @?/ctx/admin/ctx_oh_files
  3. ctx_oh_files.sqlコマンドの出力を確認し、それらのファイルを新しいOracleホームにコピーします。