パッチ・セット・アシスタントは、Oracle Fusion Middlewareコンポーネントのデータベース・スキーマを更新する場合にのみパッチ・セット・リリースで使用します。次に示すように、このツールは、11g リリース1のスキーマ・バージョンを更新します。
バージョン11.1.1.2.0からバージョン11.1.1.4.0へ
バージョン11.1.1.3.0からバージョン11.1.1.4.0へ
既存のスキーマ・バージョンが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ユーザーズ・ガイド』を参照してください。
この章の内容は次のとおりです。
パッチ・セット・アシスタントを使用して、次のコンポーネント・スキーマ(表示されているのはデフォルト名)を11g リリース1(11.1.1.4.0)に更新する必要があります。
Oracle Portal(prefix
_PORTAL
)
Oracle Internet Directory(ODS
)
SOA Infrastructure(prefix
_SOAINFRA
)
Audit Services(prefix
_IAU
)
Metadata Services(prefix
_MDS
)
WebCenter Spaces(prefix
_WEBCENTER
)
Discussions(prefix
_DISCUSSIONS
)
Discussions Crawler(prefix
_DISCUSSIONS_CRAWLER
)
注意: 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 "
OracleAS Metadata Repositoryの外に格納されているOracle Portalリポジトリを使用する場合は、そのリポジトリ内のPortalスキーマの更新にパッチ・セット・アシスタントを使用しないでください。かわりに、Oracle Fusion Middleware Oracle Portal、Forms、ReportsおよびDiscovererアップグレード・ガイドのカスタマ・データベースでのOracle Portalリポジトリのアップグレードに関する項を参照してください。
Oracle Service BusスキーマをMicrosoft SQL Serverデータベースにインストールしてある場合は、Oracle Service Bus 11.1.1.3.0環境にOracle Fusion Middleware 11gリリース1(11.1.1.4.0)のパッチ・セットを適用するときに、このスキーマをアップグレードする必要があります。
詳細は、次の特殊な手順を参照してください。
Oracle Service Busを既存のOracle SOA Suiteドメインの一部としてインストールしてある場合は、この章に記述されている手順を使用し、11.1.1.4.0のパッチ・セットをインストールした後で、Oracle SOA SuiteのOracleホームにインストールされているパッチ・セット・アシスタントを実行します。
Oracle SOA SuiteのOracleホームにインストールされているパッチ・セット・アシスタント・ユーティリティを使用すると、Microsoft SQL ServerデータベースにインストールされているOracle Service Busスキーマも更新されます。
Oracle Service Busを(Oracle SOA Suiteのない)独自のOracle WebLogic Serverドメインにインストールしてある場合は、Microsoft SQL Serverデータベース内のOracle Service Busスキーマをアップグレードするために、次の手順を使用します。
Oracle Service BusのOracleホーム内にある次の場所で、Oracle Service Busスキーマのアップグレード・スクリプトを探します。
OSB_ORACLE_HOME/dbscripts/mssql/upgrade_osb_111130_111140_sqlserver.sql
スクリプトを編集して、次の文字列をOracle Service Busスクリプトのデータベース・ユーザーに置き換えます。
$(SCHEMA_USER)
SQL Serverデータベースに接続し、スクリプトを実行してスキーマをアップグレードします。
この項では、パッチ・セット・アシスタントを実行する前に確認しておく必要がある事項について説明します。
パッチ・セット・アシスタントを実行する前に、データベースの物理バックアップを実行する必要があります。詳細は、データベースのドキュメントを参照してください。
パッチ・セット・アシスタントを実行して既存のスキーマをアップグレードする際、正常にアップグレードできなかった場合は、元のスキーマをリストアしてからやりなおす必要があります。必ず、既存のデータベース・スキーマをバックアップしてから、パッチ・セット・アシスタントを実行してください。
パッチ・セット・アシスタントを実行する前に、データベースが起動して稼働中であることと、更新するスキーマがデータベースに存在することを確認する必要があります。たとえば、Oracleデータベースの場合、SQL*Plusを使用してユーザーprefix
_
schemaname
としてログインし、スキーマが存在することを確認します。
(管理対象サーバーとOracleインスタンスを含めた)Oracle Fusion Middlewareコンポーネントのうち、更新対象のスキーマを使用したコンポーネントがあれば、パッチ・セット・アシスタントの実行前に停止します。
次の各項では、Oracle Fusion Middleware 11g リリース1(11.1.1.4.0)のパッチ・セットをインストールするときのパッチ・セット・アシスタントの実行方法について説明します。
パッチ・セット・アシスタントは、パッチ・セット・インストーラによって、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 )スキーマを更新できます。 |
パッチ・セット・アシスタントを起動するには、パッチを適用する製品スキーマのOracleホーム内にあるbin
ディレクトリに移動して、次のコマンドを実行します。
UNIXオペレーティング・システムの場合:
cd ORACLE_HOME/bin
./psa
Windowsオペレーティング・システムの場合:
CD ORACLE_HOME\bin
psa.bat
パッチ・セット・アシスタントの完全なコマンドライン構文は次のとおりです。
./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 パッチ・セット・アシスタントのコマンドライン・パラメータ
パラメータ | 説明 |
---|---|
|
データベース・タイプ。「Oracle」、「Microsoft」または「IBM」を指定します。デフォルトは「Oracle」です。 |
|
データベース接続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を指定するだけでかまいません。 |
|
データベース管理者のユーザー名:
注意: Oracleデータベース上のOracle Internet Directory( コマンドラインからデータベース管理者のパスワードを入力するよう求められます。 |
|
アップグレードするスキーマのユーザー名( この名前は、スキーマ・バージョン・レジストリに存在しているスキーマ名のいずれかと一致し、アップグレードに対して有効なスキーマのいずれか(第4.1項「パッチ・セット・アシスタントによる更新が必要なスキーマ」に一覧表示されているスキーマのいずれか)である必要があります。 スキーマ名がスキーマ・バージョン・レジストリ内のスキーマ名のいずれとも一致していない場合は、次のエラー・メッセージが表示されます。
UPGAST-02003: schema is not registered in schema version registry: "PREFIX_SCHEMANAME"
さらに、Microsoft SQL Serverデータベースについては、スキーマのユーザー名をすべて大文字で指定する必要があります。これは、Microsoft SQL Serverでは大/小文字が区別され、RCUではすべて大文字を使用してスキーマ名が作成されるためです。 |
|
ロギング・レベル。次のいずれかです。
デフォルトのロギング・レベルはNOTIFICATIONです。 |
|
Oracleインベントリの代替場所(UNIXオペレーティング・システムのみ)。 |
|
すべてのコマンドライン・オプションを表示します。 |
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
次の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項「パッチ・セット・アシスタントのログ・ファイル」を参照してください。
Oracleデータベースを使用している場合は、パッチ・セット・アシスタントを実行した後、データベース・オブジェクトを再コンパイルしてください。そのためには、SYSとしてデータベースに接続し、SQL*Plusから次のコマンドを実行します。
SQL> @?/rdbms/admin/utlrp.sql
この結果、パッチ・セット・アシスタントによって更新されたデータベース・オブジェクトがコンパイルされます。
その後、次の問合せを発行して、無効なデータベース・オブジェクトがなくなったことを確認します。
SELECT owner, object_name FROM all_objects WHERE status='INVALID';
この時点では、更新されたスキーマについて無効なデータベース・オブジェクトはありません。もしあった場合は、utlrp.sql
コマンドをもう一度実行して再確認します。
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)に用意されているパージ機能を使用する場合に必要です。
Oracle Fusion Middleware 11g リリース1(11.1.1.4.0)のリポジトリ作成ユーティリティ(RCU)ソフトウェアのアーカイブを見つけてダウンロードし、解凍します。
詳細は、『Oracle Fusion Middleware Repository Creation Utilityユーザーズ・ガイド』のRCUの入手に関する項を参照してください。
RCUソフトウェアを解凍するディレクトリをRCU_HOMEディレクトリと呼称します。
SOAINFRAスキーマを所有するデータベース・ユーザーを使用してOracle SOA Suiteスキーマがインストールされているデータベースに、SQLPlusを使用して接続します。
次のスクリプトを実行して、Oracle SOA Suiteデータのパージに必要なデータベース・オブジェクトをロードします。
RCU_HOME/rcu/integration/soainfra/sql/soa_purge/soa_purge_scripts.sql
次のスクリプトを実行して、データベース内のOracle SOA Suiteデータの検証に必要なデータベース・オブジェクトをロードします。
RCU_HOME/rcu/integration/soainfra/sql/verify/soa_verify_scripts.sql
用意されているSQLスクリプトを使用してデータベース・オブジェクトをロードした後、詳細は、Oracle Fusion Middleware Oracle SOA Suite管理者ガイドのデータベースの拡大の管理に関する項を参照してください。
パッチ・セット・アシスタントでは、次の場所にログ・ファイルが書き込まれます。
UNIXオペレーティング・システムの場合:
ORACLE_HOME/upgrade/logs/psatimestamp.log
Windowsオペレーティング・システムの場合:
ORACLE_HOME\upgrade\logs\psatimestamp.log
一部のコンポーネントでは、psa
timestamp
.out
という2番目のログ・ファイルが、同じ場所に作成されます。
timestamp
には、パッチ・セット・アシスタントが実行された実際の日時が反映されます。
パッチ・セット・アシスタントの実行時に障害が発生した場合、問題を診断して修正するために、これらのログ・ファイルが必要になります。そのため、ログ・ファイルは削除しないでください。ログ・ファイルの内容は、コマンドラインから別の-logLevel
を指定することで変更できます。
パッチ・セット・アシスタントで実行される処理のいくつかは、他の処理より時間がかかる場合があります。時間のかかるこれらの処理の進行状況を確認するには、ログ・ファイルでこの情報を確認することもできます。