ヘッダーをスキップ
Oracle® Fusion Middlewareパッチ適用ガイド
11g リリース1(11.1.1)
B61412-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 パッチ・セット・アシスタントによるスキーマの更新

パッチ・セット・アシスタントは、Oracle Fusion Middlewareコンポーネントのデータベース・スキーマを更新する場合にのみパッチ・セット・リリースで使用します。次に示すように、このツールは、11g リリース1のスキーマ・バージョンを更新します。

既存のスキーマ・バージョンが11.1.1.2.0より古い場合は、パッチ・セット・アシスタントを実行する前に、リリース11.1.1.2.0に移行しておく必要があります。詳細は、付録B「パッチ・アシスタントを使用した11g リリース1(11.1.1.1.0)からリリース1(11.1.1.2.0)への移行」を参照してください。

新しいスキーマを作成する場合や既存のスキーマを破棄する場合は、リポジトリ作成ユーティリティ(RCU)を使用する必要があります。RCUについては、『Oracle Fusion Middleware Repository Creation Utilityユーザーズ・ガイド』を参照してください。

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

4.1 パッチ・セット・アシスタントによる更新が必要なスキーマ

パッチ・セット・アシスタントを使用して、次のコンポーネント・スキーマ(表示されているのはデフォルト名)を11g リリース1(11.1.1.4.0)に更新する必要があります。


注意:

Oracle Internet Directoryのスキーマ(ODS)には、カスタムの接頭辞を加えることができません。


注意:

WebCenterのスキーマは、前述の順、つまり、Metadata Services、WebCenter Spaces、Discussions、Discussions Crawlerの順に更新する必要があります。

Discussions Crawlerのスキーマが、RCUを使用してインストールされていない場合には、Discussionsを移行すると、Discussions Crawlerのスキーマが自動的にインストールされ、Discussionsのスキーマと同じパスワードが割り当てられます。Discussions Crawlerのスキーマを個別に更新しようとすると、パッチ・セット・アシスタントによって、そのスキーマが更新済であるという警告が表示されます。


このリストにあげられていないスキーマにパッチを適用しようとすると、次のエラー・メッセージが表示されます。

"UPGAST-02001: unsupported schema for patching: PREFIX_SCHEMANAME "

4.2 スタンドアロンのOracle Portalのリポジトリ・スキーマで行う特殊な手順

OracleAS Metadata Repositoryの外に格納されているOracle Portalリポジトリを使用する場合は、そのリポジトリ内のPortalスキーマの更新にパッチ・セット・アシスタントを使用しないでください。かわりに、Oracle Fusion Middleware Oracle Portal、Forms、ReportsおよびDiscovererアップグレード・ガイドのカスタマ・データベースでのOracle Portalリポジトリのアップグレードに関する項を参照してください。

4.3 Oracle Service BusスキーマがMicrosoft SQL Serverデータベースにインストールされている場合の特殊な手順

Oracle Service BusスキーマをMicrosoft SQL Serverデータベースにインストールしてある場合は、Oracle Service Bus 11.1.1.3.0環境にOracle Fusion Middleware 11gリリース1(11.1.1.4.0)のパッチ・セットを適用するときに、このスキーマをアップグレードする必要があります。

詳細は、次の特殊な手順を参照してください。

4.4 パッチ・セット・アシスタントの使用を開始する前に

この項では、パッチ・セット・アシスタントを実行する前に確認しておく必要がある事項について説明します。

4.4.1 データベースとデータベース・スキーマのバックアップ

パッチ・セット・アシスタントを実行する前に、データベースの物理バックアップを実行する必要があります。詳細は、データベースのドキュメントを参照してください。

パッチ・セット・アシスタントを実行して既存のスキーマをアップグレードする際、正常にアップグレードできなかった場合は、元のスキーマをリストアしてからやりなおす必要があります。必ず、既存のデータベース・スキーマをバックアップしてから、パッチ・セット・アシスタントを実行してください。

4.4.2 データベースとスキーマの確認

パッチ・セット・アシスタントを実行する前に、データベースが起動して稼働中であることと、更新するスキーマがデータベースに存在することを確認する必要があります。たとえば、Oracleデータベースの場合、SQL*Plusを使用してユーザーprefix_schemanameとしてログインし、スキーマが存在することを確認します。

4.4.3 更新対象のスキーマを使用した全コンポーネントの停止

(管理対象サーバーとOracleインスタンスを含めた)Oracle Fusion Middlewareコンポーネントのうち、更新対象のスキーマを使用したコンポーネントがあれば、パッチ・セット・アシスタントの実行前に停止します。

4.4.4 Oracle Portalのaq_tm_processes値の確認

OracleデータベースでOracle Portalスキーマのパッチ・セット・アシスタントを実行する場合、データベースのaq_tm_processes 値が0を超えていないことを確認します。確認するには、データベースに接続した後、次のコマンドを使用します。

show parameter aq_tm_processes;

返された値が0の場合は、次のコマンドを使用して値を1に変更してください。

alter system set aq_tm_processes=1 scope=both;

4.5 パッチ・セット・アシスタントの実行

次の各項では、Oracle Fusion Middleware 11g リリース1(11.1.1.4.0)のパッチ・セットをインストールするときのパッチ・セット・アシスタントの実行方法について説明します。

4.5.1 パッチ・セット・アシスタントに関する全般的な情報

パッチ・セット・アシスタントは、パッチ・セット・インストーラによって、Oracleホームの中にあるbinディレクトリにインストールされます(第3章「Oracle Fusion Middlewareの最新パッチ・セットの適用」を参照)。

パッチ・セット・アシスタントを使用してコンポーネント・スキーマにパッチを適用できるのは、パッチ・セット・アシスタントが起動されたOracleホームの製品タイプとスキーマが一致している場合のみです。つまり、Oracle SOA Suiteが含まれているOracleホームからパッチ・セット・アシスタントを実行した場合、既存のOracle Portalスキーマにパッチを適用することはできません。Oracle Portalが含まれているOracleホームからパッチ・セット・アシスタントを実行する必要があります。

Oracle Portalが含まれていないOracleホームからOracle Portalスキーマを更新しようとすると、次のエラー・メッセージが表示されます。

UPGAST-02002: unsupported Oracle home type for patching component PORTAL
The command failed to complete successfully

注意:

Application Developer以外の製品がOracleホームにインストールされていない環境では、Oracle CommonのOracleホーム内のbinディレクトリからMetadata Services(prefix_MDS)スキーマを更新できます。

4.5.2 パッチ・セット・アシスタントの起動

パッチ・セット・アシスタントを起動するには、パッチを適用する製品スキーマのOracleホーム内にあるbinディレクトリに移動して、次のコマンドを実行します。

UNIXオペレーティング・システムの場合:

cd ORACLE_HOME/bin
./psa

Windowsオペレーティング・システムの場合:

CD ORACLE_HOME\bin
psa.bat

4.5.3 コマンドラインの構文

パッチ・セット・アシスタントの完全なコマンドライン構文は次のとおりです。

./psa (or psa.bat)
   -dbType database_type
   -dbConnectString 'database_connection_URL'
   (NOTE: single quote characters are only required for Microsoft SQL Server  and IBM DB2 databases on UNIX operating systems)
   -dbaUserName dba_user_name
   -schemaUserName schema_user_name
[-logLevel log_level]
[-invPtrLoc inventory_location]

これらのパラメータの説明については、表4-1を参照してください。

表4-1 パッチ・セット・アシスタントのコマンドライン・パラメータ

パラメータ 説明

-dbType

データベース・タイプ。「Oracle」、「Microsoft」または「IBM」を指定します。デフォルトは「Oracle」です。

-dbConnectString

データベース接続URL。

Windowsオペレーティング・システムおよびUNIXオペレーティング・システムでは、Oracleデータベースの場合は次のように指定します。

//host:port/service_name

Windowsオペレーティング・システムでは、Microsoft SQL ServerデータベースおよびIBM DB2データベースの場合は次のように指定します。

//host:port;DatabaseName=dbname

UNIXオペレーティング・システムでは、Microsoft SQL ServerデータベースおよびIBM DB2データベースの場合は次のように指定します。

'//host:port;DatabaseName=dbname'

注意: UNIXオペレーティング・システムでは、Oracle以外のすべてのデータベースの場合、UNIXシェルでは埋め込まれたセミコロン(;)が処理されるため、接続URLは一重引用符(')で囲む必要があります。

Oracle RACデータベースについては、1つのインスタンスの接続URLを指定するだけでかまいません。

-dbaUserName

データベース管理者のユーザー名:

  • Oracleデータベースの場合は、SYSなど、DBA権限が与えられているユーザーを入力します。

  • Microsoft SQL Serverデータベースの場合は、saなど、DBA権限が与えられているユーザーを入力します。

  • IBM DB2データベースの場合は、db2adminなど、DBA権限が与えられているユーザーを入力します。

注意: Oracleデータベース上のOracle Internet Directory(ODS)スキーマに対してパッチ・セット・アシスタントを実行している場合は、ユーザーSYSを使用する必要があります。

コマンドラインからデータベース管理者のパスワードを入力するよう求められます。

-schemaUserName

アップグレードするスキーマのユーザー名(PORTALODSSOAINFRAWEBCENTERIAUなど)。ODSは、Oracle Internet Directoryのデフォルトのスキーマ名です。

この名前は、スキーマ・バージョン・レジストリに存在しているスキーマ名のいずれかと一致し、アップグレードに対して有効なスキーマのいずれか(第4.1項「パッチ・セット・アシスタントによる更新が必要なスキーマ」に一覧表示されているスキーマのいずれか)である必要があります。

スキーマ名がスキーマ・バージョン・レジストリ内のスキーマ名のいずれとも一致していない場合は、次のエラー・メッセージが表示されます。

UPGAST-02003: schema is not registered in schema version registry: "PREFIX_SCHEMANAME"

さらに、Microsoft SQL Serverデータベースについては、スキーマのユーザー名をすべて大文字で指定する必要があります。これは、Microsoft SQL Serverでは大/小文字が区別され、RCUではすべて大文字を使用してスキーマ名が作成されるためです。

-logLevel

ロギング・レベル。次のいずれかです。

  • TRACE

  • NOTIFICATION

  • WARNING

  • ERROR

  • INCIDENT_ERROR

デフォルトのロギング・レベルはNOTIFICATIONです。

-invPtrLoc

Oracleインベントリの代替場所(UNIXオペレーティング・システムのみ)。

-help

すべてのコマンドライン・オプションを表示します。


4.5.4 サンプル・コマンド

UNIXオペレーティング・システムでOracleデータベースのDEV_PORTALスキーマを更新するコマンドの例は、次のとおりです。

./psa -dbType Oracle -dbConnectString //ExampleOracleDB:1521/orcl.us.oracle.com -dbaUserName sys -schemaUserName DEV_PORTAL

UNIXオペレーティング・システムでOracleデータベースのODSスキーマを更新するコマンドの例は、次のとおりです。

./psa -dbType Oracle -dbConnectString //ExampleOracleDB:1522/orcl2.us.oracle.com -dbaUserName sys -schemaUserName ODS

Microsoft Windowsオペレーティング・システムでMicrosoft SQL ServerデータベースのDEV_SOAINFRAスキーマを更新するコマンドの例は、次のとおりです。

psa.bat -dbType Microsoft -dbConnectString //ExampleSQLServerDB:1433;DatabaseName=ExampleSQLServerDB -dbaUserName sa -schemaUserName DEV_SOAINFRA

UNIXオペレーティング・システムでIBM DB2データベースのDEV_WCスキーマを更新するコマンドの例は、次のとおりです。

./psa -dbType IBM -dbConnectString 'ExampleDB2DB:50000;DatabaseName=ExampleDB2DB' -dbaUserName db2admin -schemaUserName DEV_WC

4.5.5 更新後のスキーマ・バージョン番号の検証

次のSQLコマンドを使用して、schema_version_registryのスキーマ・バージョンが正しく更新されていることを検証できます。

SELECT version, status FROM schema_version_registry WHERE owner='schema_name';

schema_nameは、コマンドラインから-schemaUserNameパラメータで指定した値に置き換えてください。バージョン番号は「11.1.1.4.0」と表示され、ステータスは「VALID」と表示されるはずです。


注意:

主要なリリースで使用されるアップグレード・アシスタントが一度に1つ以上のスキーマをアップグレードするのに対し、パッチ・セット・アシスタントが更新するスキーマは1つのみです(-schemaUserNameで渡されるスキーマ)。特に、RUUコンポーネント(スキーマ・バージョン・レジストリ)はパッチ・セット・アシスタントによって変更されないため、そのバージョン番号は11.1.1.3.0のまま変わりません。

ステータスが「INVALID」と表示された場合は、ステータスの更新が失敗しています。ログ・ファイルを調べて、失敗した理由を判定する必要があります。詳細は、第4.6項「パッチ・セット・アシスタントのログ・ファイル」を参照してください。

4.5.6 無効なデータベース・オブジェクトの確認

Oracleデータベースを使用している場合は、パッチ・セット・アシスタントを実行した後、データベース・オブジェクトを再コンパイルしてください。そのためには、SYSとしてデータベースに接続し、SQL*Plusから次のコマンドを実行します。

SQL> @?/rdbms/admin/utlrp.sql

この結果、パッチ・セット・アシスタントによって更新されたデータベース・オブジェクトがコンパイルされます。

その後、次の問合せを発行して、無効なデータベース・オブジェクトがなくなったことを確認します。

SELECT owner, object_name FROM all_objects WHERE status='INVALID';

この時点では、更新されたスキーマについて無効なデータベース・オブジェクトはありません。もしあった場合は、utlrp.sqlコマンドをもう一度実行して再確認します。

4.5.7 Oracle SOA Suite 11.1.1.4.0のパージ・スクリプトのロード

Oracle Fusion Middlewareデータベースに格納されているデータが大量になった場合は、データベースの保持が難しくなり、パフォーマンスに影響を与える可能性があります。Oracle Fusion Middleware 11g リリース1(11.1.1.4.0)に用意されている一連のツールを使用すると、不要なデータをOracle Fusion Middlewareからパージしやすくなります。

Oracle Fusion Middlewareの新規ユーザーがリポジトリ作成ユーティリティ(RCU)を使用してOracle SOA Suite 11g リリース1(11.1.1.4.0)スキーマをインストールすると、Oracle SOA Suiteのパージ・スクリプトで要求されるストアド・プロシージャがデータベースに自動的にインストールされます。

ただし、実行しているOracle Fusion Middleware 11gがリリース1(11.1.1.2.0)またはリリース1(11.1.1.3.0)の場合は、これらのストアド・プロシージャは自動的にはインストールされません。そのため、パッチ・セット・アシスタントを実行してOracle SOA Suiteスキーマを11.1.1.4.0に更新した後で、次の手順を使用して、必要なデータベース・オブジェクトを手動でインストールする必要があります。この手順は、Oracle SOA Suite 11g リリース1(11.1.1.4.0)に用意されているパージ機能を使用する場合に必要です。

  1. Oracle Fusion Middleware 11g リリース1(11.1.1.4.0)のリポジトリ作成ユーティリティ(RCU)ソフトウェアのアーカイブを見つけてダウンロードし、解凍します。

    詳細は、『Oracle Fusion Middleware Repository Creation Utilityユーザーズ・ガイド』のRCUの入手に関する項を参照してください。

    RCUソフトウェアを解凍するディレクトリをRCU_HOMEディレクトリと呼称します。

  2. SOAINFRAスキーマを所有するデータベース・ユーザーを使用してOracle SOA Suiteスキーマがインストールされているデータベースに、SQLPlusを使用して接続します。

  3. 次のスクリプトを実行して、Oracle SOA Suiteデータのパージに必要なデータベース・オブジェクトをロードします。

    RCU_HOME/rcu/integration/soainfra/sql/soa_purge/soa_purge_scripts.sql
    
  4. 次のスクリプトを実行して、データベース内のOracle SOA Suiteデータの検証に必要なデータベース・オブジェクトをロードします。

    RCU_HOME/rcu/integration/soainfra/sql/verify/soa_verify_scripts.sql
    

用意されているSQLスクリプトを使用してデータベース・オブジェクトをロードした後、詳細は、Oracle Fusion Middleware Oracle SOA Suite管理者ガイドのデータベースの拡大の管理に関する項を参照してください。

4.6 パッチ・セット・アシスタントのログ・ファイル

パッチ・セット・アシスタントでは、次の場所にログ・ファイルが書き込まれます。

UNIXオペレーティング・システムの場合:

ORACLE_HOME/upgrade/logs/psatimestamp.log

Windowsオペレーティング・システムの場合:

ORACLE_HOME\upgrade\logs\psatimestamp.log

一部のコンポーネントでは、psatimestamp.outという2番目のログ・ファイルが、同じ場所に作成されます。

timestampには、パッチ・セット・アシスタントが実行された実際の日時が反映されます。

パッチ・セット・アシスタントの実行時に障害が発生した場合、問題を診断して修正するために、これらのログ・ファイルが必要になります。そのため、ログ・ファイルは削除しないでください。ログ・ファイルの内容は、コマンドラインから別の-logLevelを指定することで変更できます。

パッチ・セット・アシスタントで実行される処理のいくつかは、他の処理より時間がかかる場合があります。時間のかかるこれらの処理の進行状況を確認するには、ログ・ファイルでこの情報を確認することもできます。