パッチ・セット・アシスタントは、Oracle Fusion Middlewareコンポーネントのデータベース・スキーマを更新する場合にのみパッチ・セット・リリースで使用します。このツールは、11gリリース1スキーマ・バージョン11.1.1.2.0、11.1.1.3.0、および場合によっては11.1.1.4.0をバージョン11.1.1.5.0に更新します。具体的な情報は、表4-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)を使用する必要があります。情報は、『Oracle Fusion Middleware Repository Creation Utilityユーザーズ・ガイド』にあります。
この章の内容は次のとおりです。
表4-1のコンポーネント・スキーマ(表示されているのはデフォルト名)を11gリリース1(11.1.1.5.0)に更新するには、パッチ・セット・アシスタントを使用してそれらを更新する必要があります。独自の製品のコンポーネント・スキーマに加えて依存スキーマも更新することを忘れないでください。
|
注意: Oracle Portalなどいくつかの製品は11.1.1.5.0ではリリースされていません。それらの製品に対してパッチ・セット・アシスタントを実行した場合、それらは11.1.1.5.0ではなく最新の使用可能バージョンに更新されます。 |
表4-1 最新のリリース用に更新する必要があるスキーマ
| コンポーネント | スキーマ | 依存関係 | 対象となる更新 |
|---|---|---|---|
|
共通スキーマ |
|
なし。 |
11.1.1.2.0から11.1.1.5.0 11.1.1.3.0から11.1.1.5.0 |
|
|
なし。 |
11.1.1.2.0から11.1.1.5.0 11.1.1.3.0から11.1.1.5.0 11.1.1.4.0から11.1.1.5.0 |
|
|
Oracle Portal |
|
なし。 |
11.1.1.2.0から11.1.1.4.0 11.1.1.3.0から11.1.1.4.0 |
|
Oracle Internet Directory |
注意: Oracle Internet Directoryのスキーマ( |
なし。 |
11.1.1.2.0から11.1.1.5.0 11.1.1.3.0から11.1.1.5.0 11.1.1.4.0から11.1.1.5.0 |
|
Oracle Identity Management |
|
|
11.1.1.3.0から11.1.1.5.0 |
|
Oracle Adaptive Access Manager |
|
|
11.1.1.3.0から11.1.1.5.0 |
|
Oracle Adaptive Access Manager(パーティション・サポート) |
|
|
11.1.1.3.0から11.1.1.5.0 |
|
Oracle Business Intelligence |
|
|
11.1.1.3.0から11.1.1.5.0 |
|
Oracle Data Integrator (マスターおよび作業リポジトリ) |
|
なし。 |
11.1.1.3.0から11.1.1.5.0 |
|
Oracle SOA Suite |
|
|
11.1.1.2.0から11.1.1.5.0 11.1.1.3.0から11.1.1.5.0 |
|
Oracle WebCenterのスキーマ |
|
|
11.1.1.2.0から11.1.1.5.0 11.1.1.3.0から11.1.1.5.0 |
|
|
なし。 |
11.1.1.2.0から11.1.1.5.0 11.1.1.3.0から11.1.1.5.0 |
|
注意: WebCenterのスキーマは、MDS、WEBCENTER、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 and Discovererアップグレード・ガイドのカスタマ・データベースでのOracle Portalリポジトリのアップグレードに関する項を参照してください。
この項の手順は、Oracle Service Busバージョン11.1.1.3.0をシステムにインストールして構成してある場合のみを対象としています。
Oracle Service BusスキーマをMicrosoft SQL Serverデータベースにインストールしてある場合は、Oracle Service Bus 11.1.1.3.0環境に最新のパッチ・セットを適用するときに、そのスキーマをアップグレードする必要があります。
詳細は、次の特殊な手順を参照してください。
Oracle Service Busを既存のOracle SOA Suiteドメインの一部としてインストールしてある場合は、この章に記述されている手順を使用し、最新のパッチ・セットをインストールした後で、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データベースに接続し、スクリプトを実行してスキーマをアップグレードします。
この項では、パッチ・セット・アシスタントを実行する前に確認しておく必要がある事項について説明します。
バッチ・セット・アシスタントを実行する前に、第3.4.3項「データベースとデータベース・スキーマのバックアップ」の手順に従って既存のデータベースとデータベース・スキーマを必ずバックアップしてください。
パッチ・セット・アシスタントを実行する前に、データベースが起動して稼働中であることと、更新するスキーマがデータベースに存在することを確認する必要があります。たとえば、Oracleデータベースの場合、SQL*Plusを使用してユーザーprefix_schemanameとしてログインし、スキーマが存在することを確認します。
Oracleデータベースを使用している場合は、パッチ・セット・アシスタントを実行した後、データベース・オブジェクトを再コンパイルしてください。そのためには、SYSとしてデータベースに接続し、SQL*Plusから次のコマンドを実行します。
@?/rdbms/admin/utlrp.sql
(管理対象サーバーとOracleインスタンスを含めた)Oracle Fusion Middlewareコンポーネントのうち、更新対象のスキーマを使用したコンポーネントがあれば、パッチ・セット・アシスタントの実行前に停止します。
次の各項では、Oracle Fusion Middleware 11g リリース1(11.1.1.5.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] [-odi] [-invPtrLoc inventory_location]
これらのパラメータの説明は、表4-2を参照してください。
表4-2 パッチ・セット・アシスタントのコマンドライン・パラメータ
| パラメータ | 必須パラメータ/オプション・パラメータ | 説明 |
|---|---|---|
|
|
データベースがOracleの場合はオプション、Oracle以外の場合は必須。 |
データベース・タイプ。「Oracle」、「Microsoft」または「IBM」を指定します。データベース・タイプが指定されていない場合、デフォルトはOracleです。 Oracle Data Integratorは、追加のデータベース・タイプをサポートします。詳細は、第4.5.4項「Oracle Data Integratorの追加のデータベース接続情報」を参照してください。 |
|
|
必須。 |
データベース接続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 Data IntegratorでRCUによって作成されたものではないODIスキーマをアップグレードする場合は必須。 |
このパラメータは、RCUによって作成されたものではないODIスキーマ(たとえば、ODI Studioアプリケーションによって作成されたスキーマ)の場合にのみ必要です。RCUでは、Oracle、Microsoft SQL Server、およびIBM DB2データベースに対してのみODIスキーマを作成できます。 データベース管理者のパスワードとODI 11gマスター・リポジトリ・スキーマのパスワードを入力するよう求められます。 Oracle Data Integratorのスキーマは、様々なデータベースでサポートされています。ODIスキーマにパッチ・セット・アシスタントを実行する前に、重要な情報について第4.5.4項「Oracle Data Integratorの追加のデータベース接続情報」を参照してください。 |
|
|
オプション。 |
Oracleインベントリの代替場所(UNIXオペレーティング・システムのみ)。 |
|
|
オプション。 |
すべてのコマンドライン・オプションを表示します。 |
表4-3に、ODIに使用できる追加の接続情報を示します。パッチ・セット・アシスタントを実行する際は、「データベース」列の値を-dbType parameterで指定し、「JDBC URL」列の値を-dbConnectString parameterで指定します。
|
注意: ODIスキーマがHypersonic SQL (HSQL)データベースのバージョン1.7.3に配置されている場合は、ODI 11.1.1.5.0にアップグレードする前にHSQLデータベースのバージョンをバージョン2.0にアップグレードする必要があります。これを実行する手順については、Oracle Fusion Middleware Oracle Data Integratorアップグレード・ガイドのHypersonic SQL 1.7.3.3のスキーマのクローニング・プロセスに関する項を参照してください。 |
表4-3 ODIに対して使用可能なデータベース接続の詳細
| JDBCドライバ | JDBC URL | データベース |
|---|---|---|
|
Oracle JDBCドライバ |
jdbc:oracle:thin:@host:port:service_name |
Oracle |
|
Sybase Direct JDBCドライバ |
jdbc:weblogic:sybase://host:port[;property=value[;...]] |
Sybase |
|
MySQL DataDirect JDBCドライバ |
jdbc:weblogic:sqlserver://host:port[;property=value[;...]] |
Microsoft |
|
DB2 DataDirect JDBCドライバ |
jdbc:weblogic:db2://host:port[;property=value[;...]] |
IBM |
|
Hypersonic 2.0 JDBCドライバ |
jdbc:hsqldb:hsql://host[:port][/alias][;property=value...] |
Hypersonic |
使用しているインストールに対して認定されている具体的なデータベースのバージョンを確認するには、次のページにある「Oracle Fusion Middlewareでサポートされるシステム構成」ドキュメントを参照してください。
http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html
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, UPGRADED FROM SCHEMA_VERSION_REGISTRY WHERE OWNER='schema_name';
schema_nameは、コマンドラインから-schemaUserNameパラメータで指定した値に置き換えてください。値UPGRADED flag='Y'は、スキーマが11.1.1.5.0にアップグレード済であることを示しています。
|
注意: 主要なリリースで使用されるアップグレード・アシスタントが一度に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スキーマをインストールすると、Oracle SOA Suiteのパージ・スクリプトで要求されるストアド・プロシージャがデータベースに自動的にインストールされます。
ただし、実行しているOracle Fusion Middleware 11gがリリース1(11.1.1.2.0)またはリリース1(11.1.1.3.0)の場合は、これらのストアド・プロシージャは自動的にはインストールされません。そのため、パッチ・セット・アシスタントを実行してOracle SOA Suiteスキーマを最新のバージョンに更新した後で、次の手順を使用して、必要なデータベース・オブジェクトを手動でインストールする必要があります。この手順は、Oracle SOA Suite 11g リリース1(11.1.1.4.0以降)に用意されているパージ機能を使用する場合に必要です。
最新のOracle Fusion Middleware 11gのリポジトリ作成ユーティリティ(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
一部のコンポーネントでは、psatimestamp.outという2番目のログ・ファイルが、同じ場所に作成されます。
timestampには、パッチ・セット・アシスタントが実行された実際の日時が反映されます。
パッチ・セット・アシスタントの実行時に障害が発生した場合、問題を診断して修正するために、これらのログ・ファイルが必要になります。そのため、ログ・ファイルは削除しないでください。ログ・ファイルの内容は、コマンドラインから別の-logLevelを指定することで変更できます。
パッチ・セット・アシスタントで実行される処理のいくつかは、他の処理より時間がかかる場合があります。時間のかかるこれらの処理の進行状況を確認するには、ログ・ファイルでこの情報を確認するか、次の問合せを使用できます。
SELECT VERSION, STATUS, UPGRADED FROM SCHEMA_VERSION_REGISTRY WHERE OWNER='schema_name';
問合せ結果のSTATUSフィールドは、スキーマへのパッチ適用処理中は「UPGRADING」または「UPGRADED」に、処理が終了すると「VALID」になります。