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

前
 
次
 

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

パッチ・セット・アシスタントは、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)に更新する必要があります。

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

5.1 前提作業

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

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

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

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

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

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

5.1.3 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;

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

パッチ・セット・アシスタントは、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

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

パッチ・セット・アシスタントを起動するには、パッチを適用する製品スキーマのORACLE_HOME/bin(UNIXオペレーティング・システムの場合)またはORACLE_HOME\bin(Windowsオペレーティング・システムの場合)ディレクトリに移動し、次のコマンドを実行します。

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

./psa

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

psa.bat

5.2.2 コマンドラインの構文

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

./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 パッチ・セット・アシスタントのコマンドライン・パラメータ

パラメータ 説明

-dbType

データベース・タイプ。「Oracle」または「Microsoft」のみがサポートされています。デフォルトは「Oracle」です。

-dbConnectString

データベース接続URI。

Oracleデータベースの場合:

'//host:port/service_name'

Microsoft SQL Serverデータベースの場合:

'//host:port;DatabaseName=dbname'

接続URIは、一重引用符(')で囲む必要があります。

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

-dbaUserName

データベース管理者のユーザー名。Oracleデータベースの場合、通常はSYSまたはSYSTEMです。Microsoft SQL Serverデータベースの場合、通常はsaです。

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

-schemaUserName

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

この名前は、リポジトリ作成ユーティリティ(RCU)を使用して作成されたバージョン11.1.1.2.0のスキーマ名のいずれかと一致している必要があります。

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

-logLevel

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

  • NOTIFICATION

  • WARNING

  • ERROR

  • INCIDENT_ERROR

  • TRACE

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

-invPtrLoc

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

-help

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


5.2.3 サンプル・コマンド

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

5.2.4 更新の検証

次の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';

この時点では、更新されたスキーマについて無効なデータベース・オブジェクトはありません。

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

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

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

ORACLE_HOME/upgrade/logs/psatimestamp.log

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

ORACLE_HOME\upgrade\logs\psatimestamp.log

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

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

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