ヘッダーをスキップ
Oracle Rdb for OpenVMS Oracle RMUリファレンス・マニュアル
リリース7.2
E06177-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

1.16 RMU Convertコマンド

次のバージョン(またはこれらのバージョンに対する必須アップデート)のOracle RdbデータベースをOracle Rdbリリース7.2データベースに変換します。

Oracle Rdbの新規リリースのインストールとデータベースの変換の前に行う適切なバックアップ操作については、Oracle Rdbのインストレーションおよび構成ガイドを参照してください。

注意

データベースを変換する場合に検討する必要のある重要な点は、次のとおりです。

  • Oracle RMUの変換操作の後ただちに、データベースをバックアップする必要があります
    RMU Convertコマンドを使用して変換されたデータベースは、変換操作の完了後すぐにデータベースの全体バックアップが行われていない場合、リカバリできないことがあります。変換前に作成されたバックアップ・ファイルを使用してデータベースのリストアを試みると、データベースがリカバリ不可能な状態になる場合があります。

  • Convertコマンドの発行時にアフター・イメージ・ジャーナルが有効な場合、Oracle RMUで変換操作時にアフター・イメージ・ジャーナルが無効にされ、Convertコマンドの発行時に使用されていた.aijファイルのタイプによって次のいずれかの処理が行われます。

    • 拡張可能な.aijファイルが使用されていた場合、変換されたデータベース用にOracle RMUで新規ジャーナル・ファイルを作成し、アフター・イメージ・ジャーナルを有効にします。

    • 固定サイズの.aijファイルが使用されていた場合、Oracle RMUで次の使用可能な固定サイズのジャーナルをアクティブにし、アフター・イメージ・ジャーナルを有効にします。使用可能な固定サイズのジャーナルがない場合、ジャーナルは無効のままになります。


    変換操作時または変換操作後に作成またはアクティブになった.aijファイルのみを、変換操作後すぐに作成したバックアップ・ファイルとともに使用して、データベースをリストアまたはリカバリします。変換操作前に作成された.aijファイルは、変換されたデータベースのリカバリに使用できません。
    Rollback修飾子を指定してRMU Convertコマンドを発行すると、Oracle RMUでアフター・イメージ・ジャーナルを無効にし、RMU-I-CANTENAAIJメッセージを返します。変換操作の完了後、データベースをバックアップし、アフター・イメージ・ジャーナルを有効にすることをお薦めします。

  • 変換操作時、RDB$SYSTEM記憶領域が、通常大きくなります。新規メタデータおよび変換されたメタデータに十分なディスク領域があるようにします。
    変換操作時、Oracle RMUメタデータのアップグレード・コピーが作成されます。変換操作に失敗すると、ロールバック用に古いメタデータが使用可能になります。Nocommit修飾子を指定した場合、メタデータの両方のコピーが同時に存在します。(手動のロールバック処理を行うため)。Commit修飾子を指定した場合、変換操作が正常に完了すると、古いメタデータが削除されます。

シングルファイルおよびマルチファイル・データベースの変換に関する重要な情報については、「説明」を参照してください。


形式



説明

RMU Convertコマンドは、システム表および索引の変換したコピーを作成するよう動作します。つまり、変換時にRDB$SYSTEM記憶領域が大きくなる可能性がありますが、変換プロセスによってシステム表が断片化する可能性はほぼありません。

システム表のコピーが作成されるため、変換にかかる時間は、システム表に割り当てられている記憶域の量またはシステム表の行数、あるいはその両方に比例します。これは、通常データベースごとに数分です。ただし、データベースに非常に大きなシステム表がある場合、変換のコストが大きいこともあります。データベースの一部の表のバージョン数が多い場合、SQL EXPORTおよびIMPORT文を使用してデータベースを変換する方が効率的です。

変換後、システム表の両コピーともデータベースに格納されます。Commit修飾子では、変換されたコピーが選択され、元のコピーが削除されます。Rollback修飾子では、元のコピーが選択され、変換されたコピーが削除されます。データベースの変換時にNocommit修飾子を選択した場合、CommitまたはRollback修飾子を後で指定できます。

システム表の両方のコピーがある間は、データベースはOracle Rdbリリース7.1で使用できますが、それより前のバージョンでは使用できません。また、システム表の両方のコピーに矛盾が出ないよう、データベースに対するDDL(データ定義言語)操作はできません。CommitまたはRollback修飾子を指定した後は再び、データベースに対してDDL操作を行えます。

Oracle Rdbバージョン6.1より前に作成されたマルチファイル・データベースを、Nocommit修飾子を指定したRMU Convertコマンドを使用して変換し、その後RMU ConvertコマンドにRollback修飾子を指定して以前のデータベース構造レベルに戻すと、後続の検証処理でRMU-W-PAGTADINV警告メッセージが返されることがあります。詳細は、「使用上の注意」を参照してください。


コマンド・パラメータ

database-list

database-list parameterは、変換するデータベースのリストです。リストの項目は、データベース・ルート・ファイルのファイル指定またはデータ・ディクショナリ・パス名です。

データベース・ルート・ファイルのファイル指定にはワイルドカードを使用できます。

データ・ディクショナリ・パス名にはワイルドカードを使用できません。


コマンド修飾子

Commit

Nocommit

データベースの変換を永続的にします。Commit修飾子を指定した場合、データベースはOracle Rdbリリース7.1データベースに変換され、以前のバージョンに戻すことはできません。デフォルトはCommitです。

Nocommit修飾子を指定した場合、データベースがOracle Rdbリリース7.1に変換され、後で以前のバージョンにロールバックできます。

Nocommit修飾子は、新規バージョンのOracle Rdbに対してアプリケーションをテストする場合に役立ちます。問題があった場合、以前のバージョンにロールバックできます。アプリケーションが新規バージョンで正しく動作することが確認できたら、変換したデータベースをコミットします。

Confirm

Noconfirm

変換操作時にユーザーの入力を要求します。Confirm修飾子を指定した場合、データベースおよびaijバックアップ・ファイルに問題がないかどうかがOracle RMUから確認されます。変換するデータベースでアフター・イメージ・ジャーナルが有効な場合、続行するかどうかがOracle RMUから確認され、アフター・イメージ・ジャーナルを一時的に無効にすることが示されます。

Path

ファイル指定ではなく、データ・ディクショナリ・パス名でデータベースを指定したことを示します。Path修飾子は、位置依存修飾子です。

Prefix_Collection=option

データベースをOracle Rdbの7.0より前のリリースからリリース7.1に変換する場合、Prefix_Collection修飾子を使用して、すべてのシステムおよびユーザー・ソート索引に対するソート索引接頭辞カーディナリティの収集について、Enabled、Enabled FullまたはDisabledを指定します。

Prefix_Collection修飾子には、次のオプションが使用できます。

Reserve=(Area=n, Aij=n)

記憶領域または.aijファイル、あるいはその両方に対する領域をデータベース・ルート・ファイルに確保します。nは、領域を確保する対象の記憶領域または.aijファイルの数に置き換えます。

シングルファイル・データベースに対する領域は確保できないことに注意してください。シングルファイル・データベースの.aijファイルは確保できますが、データベースの変換後は、データベースをバックアップおよびリストアしないかぎり、これを変更できません。

データベースの変換時、追加の記憶領域または.aijファイルが必要なことが予測される場合、この修飾子は役立ちます。新たに記憶領域または.aijファイルを追加するには、ユーザーがデータベースにアタッチしていないことが必要となるため、データベースの変換時にこれを追加することで、ユーザーがデータベースにアクセスできない時間を最小限にできます。

デフォルトでは、1つの.aijファイルが確保され、記憶領域ファイルは確保されません。

Rollback

Norollback

Oracle Rdbリリース7.2データベースに変換された(が、コミットされていない)データベースを以前のバージョンに戻します。技術的、パフォーマンスまたはビジネス上の理由から、データベースを以前のバージョンに戻す場合があります。

Norollback修飾子では、変換されたデータベースを以前のバージョンに戻せないようにします。デフォルトはNorollback修飾子です。

1つのRMU ConvertコマンドでNocommit修飾子とRollback修飾子の両方を指定した場合、RMU Convertコマンドを実行すると、データベースはOracle Rdbリリース7.2に変換され、すぐに以前のバージョンにロールバックされます。

この修飾子は、7.0または7.1のいずれかのリリースから変換する場合にのみ有効です。


使用上の注意


例1

次の例の最初のコマンドでは、拡張可能な.aijファイルを持つOracle Rdbリリース7.0データベースをOracle Rdbリリース7.2データベースに変換します。最初のコマンドにNocommit修飾子が指定されているため、変換したデータベース(Oracle Rdbリリース7.2データベース)を元のOracle Rdbリリース7.0データベースにロールバックできます。

データベースの変換時、アフター・イメージ・ジャーナルは無効になります。データベースの変換後、拡張可能な.aijファイルが新たに作成され、アフター・イメージ・ジャーナルが再度有効になります。.aijファイルはバージョン固有であることに注意してください。.aijファイルの古いバージョンと新しいバージョンとの間に矛盾があるため、変換後全体バックアップ操作を行う必要があります。

2番目のコマンドでは、変換されたデータベースが元のデータベースにロールバックされます。


$RMU/CONVERT/CONFIRM/NOCOMMIT MF_PERSONNEL.RDB
%RMU-I-RMUTXT_000, Executing RMU for Oracle Rdb V7.2-00
Are you satisfied with your backup of
 DISK1:[TESTS]MF_PERSONNEL.RDB;1
 and your backup of any associated .aij files [N]? Y
%RMU-I-AIJ_DISABLED, after-image journaling is being disabled
 temporarily for the Convert operation
%RMU-I-LOGCONVRT, database root converted to current structure level
%RMU-S-CVTDBSUC, database DISK1:[TESTS]MF_PERSONNEL.RDB;1 successfully
 converted from version V7.0 to V7.2
%RMU-I-LOGCREAIJ, created after-image journal file
 DISK1:[TESTS]BACKUP_AFTER1.AIJ;2
%RMU-I-LOGMODSTR,     activated after-image journal "AFTER1"
%RMU-W-DOFULLBCK, full database backup should be done to ensure future recovery

$RMU/CONVERT/ROLLBACK MF_PERSONNEL.RDB
%RMU-I-RMUTXT_000, Executing RMU for Oracle Rdb V7.2-00
Are you satisfied with your backup of
 DISK1:[TESTS]MF_PERSONNEL.RDB;1 and your backup of
 any associated .aij files [N]? Y
%RMU-I-AIJ_DISABLED, after-image journaling is being disabled
 temporarily for the Convert operation
%RMU-I-LOGCONVRT, database root converted to current structure level
%RMU-I-CVTROLSUC, CONVERT rolled-back for DISK1:[TESTS]MF_PERSONNEL.RDB;1
 to version V7.0
%RMU-I-CANTENAAIJ, The JOURNAL is now DISABLED. RMU CONVERT can not enable
 the JOURNAL for previous versions. You must do this manually.
%RMU-W-DOFULLBCK, full database backup should be done to ensure future recovery

例2

この例は、変換時に固定サイズの.aijジャーナルが使用されていること以外、例1と同じです。この例の最初のコマンドでは、固定サイズの.aijファイルを持つOracle Rdbリリース7.1データベースをOracle Rdbリリース7.2データベースに変換します。最初のコマンドにNocommit修飾子が指定されているため、変換したデータベース(Oracle Rdbリリース7.2データベース)を元のOracle Rdbリリース7.1データベースにロールバックできます。

データベースの変換時、アフター・イメージ・ジャーナルは無効になります。データベースの変換後、Oracle RMUによって次の固定サイズの.aijファイルがアクティブになり、アフター・イメージ・ジャーナルが有効になります。.aijファイルはバージョン固有であることに注意してください。古い.aijファイルは新たに変換されたデータベースに不適合なため、変換後に全体バックアップ操作を行う必要があります。

2番目のコマンドでは、変換されたデータベースが元のデータベースにロールバックされます。


$RMU/CONVERT/CONFIRM/NOCOMMIT MF_PERSONNEL.RDB
%RMU-I-RMUTXT_000, Executing RMU for Oracle Rdb V7.2-00
Are you satisfied with your backup of DISK1:[TESTS]MF_PERSONNEL.RDB;1
 and your backup of any associated .aij files [N]? Y
%RMU-I-AIJ_DISABLED, after-image journaling is being disabled
 temporarily for the Convert operation
%RMU-I-LOGCONVRT, database root converted to current structure level
%RMU-S-CVTDBSUC, database DISK1:[TESTS]MF_PERSONNEL.RDB;1 successfully
 converted from version V7.1 to V7.2
%RMU-I-LOGMODSTR,     activated after-image journal "AFTER2"
%RMU-W-DOFULLBCK, full database backup should be done to ensure future recovery

$RMU/CONVERT/ROLLBACK MF_PERSONNEL.RDB
%RMU-I-RMUTXT_000, Executing RMU for Oracle Rdb V7.2-00
Are you satisfied with your backup of
 DISK1:[TESTS]MF_PERSONNEL.RDB;1 and your backup of
 any associated .aij files [N]? Y
%RMU-I-AIJ_DISABLED, after-image journaling is being disabled
 temporarily for the Convert operation
%RMU-I-LOGCONVRT, database root converted to current structure level
%RMU-I-CVTROLSUC, CONVERT rolled-back for
 DISK1:[TESTS]MF_PERSONNEL.RDB;1 to version V7.1
%RMU-I-CANTENAAIJ, The JOURNAL is now DISABLED. RMU CONVERT can not
 enable the JOURNAL for previous versions. You must do this manually.
%RMU-W-DOFULLBCK, full database backup should be done to ensure future recovery

例3

次のコマンドでは、DISK1:[RICK]とそのサブディレクトリのすべてのデータベース、およびデータ・ディクショナリ・パス名で識別されるSPECIAL_DBデータベースが変換されます。Noconfirm修飾子が指定されているため、Oracle RMUからユーザー入力は要求されません。Nocommit修飾子が指定されていないため、デフォルト修飾子のCommitが使用され、変換したデータベースはロールバックできません。


$ RMU/CONVERT/NOCONFIRM DISK1:[RICK...]*.RDB,CDD$TOP.RICK.SPECIAL_DB -
_$ /PATH

例4

次のコマンドでは、Oracle Rdbリリース7.0データベースをリリース7.2に変換します。また、変換後のデータベースのデータベース・ルート・ファイルに、4つの.aijファイルに対する領域を確保します。Convertコマンドの発行時、アフター・イメージ・ジャーナルは有効ではありません。


$RMU/CONVERT/CONFIRM/RESERVE=(AIJ=4)/COMMIT MF_PERSONNEL
%RMU-I-RMUTXT_000, Executing RMU for Oracle Rdb V7.2-00
Are you satisfied with your backup of DISK1:[TESTS]MF_PERSONNEL.RDB;1
 and your backup of any associated .aij files [N]? Y
%RMU-I-LOGCONVRT, database root converted to current structure level
%RMU-W-DOFULLBCK, full database backup should be done to ensure future recovery
%RMU-S-CVTDBSUC, database DISK1:[TESTS]MF_PERSONNEL.RDB;1 successfully
 converted from version V7.0 to V7.2

例5

次の例に、Confirm修飾子を指定したRMU Convertコマンドをバッチ・ジョブから発行する場合のバッチ・ファイルの内容を示します。


$ RMU/CONVERT/COMMIT/CONFIRM USER1:[COLLECT.V71DB]MF_PERSONNEL
Y
Y