パッチ・セット・アシスタントは、Oracle Fusion Middlewareコンポーネントのデータベース・スキーマを更新する場合にのみパッチ・セット・リリースで使用します。このツールでは、11g リリース1(11.1.1.2.0)バージョンのスキーマが11g リリース1(11.1.1.3.0)に更新されます。新しいスキーマを作成する場合や既存のスキーマを破棄する場合は、リポジトリ作成ユーティリティ(RCU)を使用する必要があります。RCUについては、『Oracle Fusion Middleware Repository Creation Utilityユーザーズ・ガイド』を参照してください。
パッチ・セット・アシスタントを使用して、次のコンポーネント・スキーマを11g リリース1(11.1.1.3.0)に更新する必要があります。
Oracle Portal(PORTAL)
Oracle Identity Management(OID)
SOAインフラストラクチャ(SOAINFRA)
監査サービス(IAU)
|
注意: これらのスキーマで更新されるのは、Oracleデータベース・バージョンおよびMicrosoft SQL Serverデータベース・バージョンのみです。11g リリース1(11.1.1.2.0)以前では、IBM DB2データベースはサポートされていませんでした。 |
この章の内容は次のとおりです。
この項では、パッチ・セット・アシスタントを実行する前に確認しておく必要がある事項について説明します。
パッチ・セット・アシスタントを実行する前に、データベースの物理バックアップを実行する必要があります。詳細は、データベースのドキュメントを参照してください。
パッチ・セット・アシスタントを実行して既存のスキーマをアップグレードする際、正常にアップグレードできなかった場合は、元のスキーマをリストアしてからやりなおす必要があります。必ず、既存のデータベース・スキーマをバックアップしてから、パッチ・セット・アシスタントを実行してください。
パッチ・セット・アシスタントを実行する前に、データベースが起動して稼働中であることと、更新するスキーマがデータベースに存在することを確認する必要があります。たとえば、Oracleデータベースの場合、SQL*Plusを使用してユーザーprefix_schemanameとしてログインし、スキーマが存在することを確認します。
パッチ・セット・アシスタントは、SparseインストーラによってORACLE_HOME/binディレクトリ(UNIXオペレーティング・システムの場合)またはORACLE_HOME\bin(Windowsオペレーティング・システムの場合)ディレクトリにインストールされます(第4章「Oracle Fusion Middlewareの最新パッチ・セットの適用」を参照)。
パッチ・セット・アシスタントを使用してコンポーネント・スキーマにパッチを適用できるのは、パッチ・セット・アシスタントが起動されたOracleホームの製品タイプとスキーマが一致している場合のみです。つまり、Oracle SOA Suiteが含まれているOracleホームからパッチ・セット・アシスタントを実行した場合、既存のOracle Portalスキーマにパッチを適用することはできません。Oracle Portalが含まれているOracleホームからパッチ・セット・アシスタントを実行する必要があります。
Oracle Portalが含まれていないOracleホームからOracle Portalスキーマを更新しようとすると、次のエラー・メッセージが表示されます。
PSA-02002: unsupported Oracle home type for patching component PORTAL The command failed to complete successfully
パッチ・セット・アシスタントを起動するには、パッチを適用する製品スキーマのORACLE_HOME/bin(UNIXオペレーティング・システムの場合)またはORACLE_HOME\bin(Windowsオペレーティング・システムの場合)ディレクトリに移動し、次のコマンドを実行します。
UNIXオペレーティング・システムの場合:
./psa
Windowsオペレーティング・システムの場合:
psa.bat
パッチ・セット・アシスタントの完全なコマンドライン構文は次のとおりです。
./psa (or psa.bat) -dbType database_type -dbConnectString 'database_connection_URL' -dbaUserName dba_user_name -schemaUserName schema_user_name [-logLevel log_level] [-invPtrLoc inventory_location]
これらのパラメータの説明については、表5-1を参照してください。
表5-1 パッチ・セット・アシスタントのコマンドライン・パラメータ
| パラメータ | 説明 |
|---|---|
|
|
データベース・タイプ。「Oracle」または「Microsoft」のみがサポートされています。デフォルトは「Oracle」です。 |
|
|
データベース接続URI。 Oracleデータベースの場合: '//host:port/service_name' Microsoft SQL Serverデータベースの場合: '//host:port;DatabaseName=dbname' 接続URIは、一重引用符(')で囲む必要があります。 Oracle RACデータベースについては、1つのインスタンスの接続URIを指定するだけでかまいません。 |
|
|
データベース管理者のユーザー名。Oracleデータベースの場合、通常は コマンドラインからデータベース管理者のパスワードを入力するよう求められます。 |
|
|
アップグレードするスキーマのユーザー名( この名前は、リポジトリ作成ユーティリティ(RCU)を使用して作成されたバージョン11.1.1.2.0のスキーマ名のいずれかと一致している必要があります。 さらに、Microsoft SQL Serverデータベースについては、スキーマのユーザー名をすべて大文字で指定する必要があります。これは、Microsoft SQL Serverでは大/小文字が区別され、RCUではすべて大文字を使用してスキーマ名が作成されるためです。 |
|
|
ロギング・レベル。次のいずれかです。
デフォルトのロギング・レベルはNOTIFICATIONです。 |
|
|
Oracleインベントリの代替場所(UNIXオペレーティング・システムのみ)。 |
|
|
すべてのコマンドライン・オプションを表示します。 |
UNIXオペレーティング・システムでOracleデータベースのDEV_PORTALスキーマを更新するコマンドの例は、次のとおりです。
./psa -dbType Oracle -dbConnectString '//myOracleDB:1521/orcl.us.oracle.com' -dbaUserName sys -schemaUserName DEV_PORTAL
UNIXオペレーティング・システムでOracleデータベースのDEV2_ODSスキーマを更新するコマンドの例は、次のとおりです。
./psa -dbType Oracle -dbConnectString '//myOracleDB:1522/orcl2.us.oracle.com' -dbaUserName sys -schemaUserName DEV2_ODS
Windowsオペレーティング・システムでMicrosoft SQL ServerデータベースのDEV_SOAINFRAスキーマを更新するコマンドの例は、次のとおりです。
psa.bat -dbType Microsoft -dbConnectString '//mySQLDB:1433;DatabaseName=MyDatabase' -dbaUserName sa -schemaUserName DEV_SOAINFRA
次のSQLコマンドを使用して、schema_version_registryのスキーマ・バージョンが正しく更新されていることを検証できます。
SELECT version, status FROM schema_version_registry WHERE owner='schema_name';
schema_nameは、コマンドラインから-schemaUserNameパラメータで指定した値に置き換えてください。バージョン番号は「11.1.1.3.0」と表示され、ステータスは「VALID」と表示されるはずです。
Oracleデータベースについては、「INVALID」と表示されるオブジェクトがある場合は必ず、パッチ・セット・アシスタントを実行した後、データベース・オブジェクトを再コンパイルしてください。そのためには、SYSとしてデータベースに接続し、SQL*Plusから次のコマンドを実行します。
SQL> @?/rdbms/admin/utlrp.sql
この結果、パッチ・セット・アシスタントによって更新されたデータベース・オブジェクトがコンパイルされます。
その後、次の問合せを発行して、無効なデータベース・オブジェクトがなくなったことを確認します。
SELECT owner, object_name FROM all_objects WHERE status='INVALID';
この時点では、更新されたスキーマについて無効なデータベース・オブジェクトはありません。
パッチ・セット・アシスタントでは、次の場所にログ・ファイルが書き込まれます。
UNIXオペレーティング・システムの場合:
ORACLE_HOME/upgrade/logs/psatimestamp.log
Windowsオペレーティング・システムの場合:
ORACLE_HOME\upgrade\logs\psatimestamp.log
一部のコンポーネントでは、psatimestamp.outという2番目のログ・ファイルが、同じ場所に作成されます。
timestampには、パッチ・セット・アシスタントが実行された実際の日時が反映されます。
パッチ・セット・アシスタントの実行時に障害が発生した場合、問題を診断して修正するために、これらのログ・ファイルが必要になります。そのため、ログ・ファイルは削除しないでください。ログ・ファイルの内容は、コマンドラインから別の-logLevelを指定することで変更できます。