2 Oracle Databaseのアップグレードの準備
Oracle Databaseをアップグレードする前に、新機能を確認し、手順を実行してデータベースをアップグレードに備えます。
ノート:
特に、アップグレード処理をテストし、バックアップ計画を準備することをお薦めします。- 新しいOracleホームへのOracleソフトウェアのインストール
ターゲットのOracleホームの新しい場所を選択してから、単一インスタンス用の新しいOracle Databaseソフトウェアをインストールします。 - Oracle Databaseをアップグレードする前のバックアップ計画の準備
アップグレードの成功を保証する適切なバックアップ計画を設計して実行する必要があります。 - Oracle Databaseのアップグレードを開始する前に完了するデータベースの準備作業
Oracle Databaseのアップグレードを開始する前に、これらのデータベースの準備作業を完了していることを確認してください。 - Oracle Databaseのアップグレード後のOracle Database Vaultの有効化
ターゲットのデータベース・リリースによっては、Oracle Database Vaultを無効にしないとOracle Databaseのアップグレードを完了できない場合があります。 - AutoUpgrade処理モードを実行するための準備
AutoUpgrade処理モードを実行する前に、準備を完了している必要があります。 - AutoUpgradeを使用したアップグレード前情報のチェック
Oracle Databaseをアップグレードする前に実行する必要があるタスクのチェックリストを取得するには、analyze
モードでAutoUpgradeユーティリティ(autoupgrade.jar
)を実行します。 - AutoUpgradeの構成ファイルの作成
AutoUpgradeを使用してアップグレードを完了するには、まず、新しいリリースのOracleホームからAutoUpgradeで構成ファイルを作成します。 - AutoUpgrade構成ファイルのローカルに変更可能なグローバル・パラメータ
AutoUpgradeの必須構成パラメータは、すべてのアップグレードに対してグローバルに設定することも、ローカルに設定することもできます。 - AutoUpgrade構成ファイルのローカル・パラメータ
AutoUpgradeユーティリティのアップグレード用に特定のOracle Databaseの情報を構成するには、AutoUpgradeローカル・パラメータに情報を指定します。 - AutoUpgradeユーザー構成ファイルのグローバル・パラメータ
構成ファイルで扱われるすべてのOracle Databaseアップグレードのパラメータに対するデフォルトの動作を指定するには、オプションのAutoUpgradeグローバル・パラメータを使用できます。 - AutoUpgradeを使用した非CDBからPDBへのアップグレードの理解
1回の操作で非CDBを新しいCDBのPDBにアップグレードおよび変換するか、非CDBデータベースを既存のCDBのPDBにアップグレードしてから変換できます。 - 非CDBからPDBへのアップグレードのガイドラインおよび例
変換前に、データファイルおよびデータベースをバックアップし、ソースのOracle Databaseリリースに関するガイドラインに従います。 - AutoUpgradeを使用した切断/接続のアップグレードの理解
AutoUpgradeでは、以前のリリースのソース・コンテナ・データベース(CDB)からプラガブル・データベース(PDB)を切断し、新しいリリースのターゲットCDBに接続して、PDBをターゲットCDBリリースにアップグレードするために必要なすべてのステップを完了できます。 - AutoUpgradeの非CDBからPDBの構成ファイルの例
これらの例を使用して、AutoUpgradeの独自のOracle Databaseアップグレード構成ファイルを変更する方法を理解します。
AutoUpgradeでのアップグレード前情報チェック
Oracle Databaseをアップグレードする前に完了する必要があるタスクのチェックリストを取得するには、analyze
モードでAutoUpgradeユーティリティ(autoupgrade.jar
)を実行します。
Oracleでは、Oracle Databaseをアップグレードする前に、AutoUpgradeの最新リリースをダウンロードして-analyze
モードで実行することをお薦めします。AutoUpgradeでは、アップグレードを開始する前に対処する必要がある問題を識別できます。場合によっては、一部の問題を解決できるスクリプトをAutoUpgradeで生成することもできます。
ヒント:
Mike Dietrichのアップグレード・ブログで、アップグレードの準備に役立つヒントおよび推奨事項について確認することを検討してください。My Oracle Supportでチェックリストを確認することもできますが、必ず最新バージョンのAutoUpgradeツールをダウンロードし、アップグレード用に生成されたチェックリストAutoUpgradeを使用してください。
AutoUpgrade構成ファイルのローカルに変更可能なグローバル・パラメータ
AutoUpgradeの必須構成パラメータは、すべてのアップグレードに対してグローバルに設定することも、ローカルに設定することもできます。
使用上のノート
AutoUpgradeの必須パラメータをローカルに変更可能なグローバル・パラメータとしてグローバルに設定した場合、これらのパラメータは、特定のアップグレードに設定されたローカル・パラメータによってオーバーライドできるため、AutoUpgradeジョブの処理をより適切に制御できます。
ローカルに変更可能なグローバル・パラメータでは、接頭辞global
を使用して、必須パラメータの値をAutoUpgrade構成ファイルのすべてのジョブのグローバル・パラメータとして設定できますが、ローカル・ジョブ接頭辞と同じパラメータを指定して、グローバル値を同じ構成ファイル内の特定のジョブの別の値に再設定できます。ローカルで変更可能なグローバル・パラメータのみを、各AutoUpgradeジョブのローカル・パラメータとして設定することもできます。
ノート:
これらのパラメータは、My Oracle SupportからダウンロードできるAutoUpgradeの最新バージョンで使用できます。ローカルで変更可能なグローバル・パラメータがグローバル接頭辞とローカル・ジョブ接頭辞の両方で設定されている場合、ローカルに変更されたパラメータ値は、パラメータで使用する接頭辞によって識別されるジョブのグローバル・パラメータ値をオーバーライドします。
たとえば、global.target_home
の場合、使用する構文はglobal.target_home=Global target Oracle home
およびdatabase.target_home=local target Oracle home
の形式になります。
例
AutoUpgrade構成ファイルでは、必須パラメータtarget_home
が1つのOracleホーム・パスにグローバルに設定されます。ただし、構成ファイルでは、同じパラメータが別のOracleホーム・パスに対してローカルに設定されます。AutoUpgradeは構成ファイル内のジョブを処理すると、接頭辞upgrade3
で定義されたジョブのtarget_home
にローカルに定義されたパスを使用し、グローバル・パラメータ設定をオーバーライドします。
global.target_home=/u01/app/oracle/21.0.0/dbhome01
upgrade3.target_home=/u03/app/oracle3/12.2.0.1/dbhome3
- defer_standby_log_shipping
プライマリ・データベースから任意のスタンバイ・データベースへのログ送信を遅延します。すべてのログ・アーカイブの保存先(log_archive_dest_n
)が遅延に設定されます。 - dictionary_stats_after
(オプション)アップグレードの完了後に、AutoUpgradeがターゲット・データベースのデータ・ディクショナリ統計を収集するように指定します。 - dictionary_stats_before
(オプション)アップグレードを開始する前に、AutoUpgradeがソース・データベースのデータ・ディクショナリ統計を収集するように指定します。 - drop_grp_after_upgrade
データベースのアップグレード後に、保証付きリストア・ポイント(GRP)を削除します。 - enable_local_undo
CDBのアップグレードの場合、CDB$ROOT
のアップグレード前にLOCAL
UNDOを有効にする必要があるかどうかを指定します。 - fixed_stats_before
(オプション)アップグレードを開始する前に、AutoUpgradeがソース・データベースの固定オブジェクト統計を収集するように指定します。 - manage_network_files
アップグレード中にネットワーク・ファイルを処理するかどうかを指定します。 - remove_underscore_parameters
構成ファイル内のすべてのOracle Databaseについて、アップグレード中およびアップグレード後にPFILE
ファイルからアンダースコア(非表示)パラメータを削除します。 - restoration
(Enterprise Editionでのみ使用可能)データベース・リストアの保証付きリストア・ポイント(GRP)を生成します。 - target_base
ターゲットOracleホームのターゲットORACLE_BASE
パスを指定します。 - target_home
(ターゲット・ホームがシステム上にない場合で、アップグレード・モードおよびデプロイ・モードの場合は必須です。分析および修正モードの場合はオプションです。 )ターゲットOracleホーム(ORACLE_HOME
)パスを指定します。 - target_version
(ターゲットOracleホームがシステム上にないか、リリース12.2の場合は必須) AutoUpgradeでアップグレードを実行するターゲット・リリース・バージョンを指定します。
親トピック: Oracle Databaseのアップグレードの準備
defer_standby_log_shipping
log_archive_dest_n
)が遅延に設定されます。
使用上のノート
デフォルトでは、ログ送信はアップグレードの一部として実行されます。Autoupgradeによりログ送信が遅延すると、ログ送信が遅延され、アップグレードが正常に完了した後にプライマリ・データベースからセカンダリ・データベースへの送信ログを再度有効にする必要があることが通知されます。
ノート:
この構成ファイル・パラメータは、スタンバイ・データベースだけでなく、Oracle Zero Data Loss Recovery Appliance (ZDLRA)リアルタイム・ログ・トランスポート、Oracle GoldenGateダウンストリーム取得など、プライマリ・データベースからREDOを受信するすべての製品またはサービスに影響します。オプション
[yes | no]
デフォルト値はno
です
デフォルトはnoです(ログ出送信は遅延されません)。デフォルトをYes
に変更するとログ送信は遅延され、アップグレード後はこれを手動で再度有効化する必要があります。
例
defer_standby_log_shipping=yes
dictionary_stats_after
(オプション)アップグレードの完了後に、AutoUpgradeがターゲット・データベースのデータ・ディクショナリ統計を収集するように指定します。
使用上のノート
データ・ディクショナリ表はアップグレード中に変更され、作成されるため、データベースのアップグレードの前後でディクショナリ統計を収集することをお薦めします。yesを指定すると、AutoUpgradeはアップグレードの完了後にディクショナリ統計を収集します。
オプション
[yes | no]
デフォルト値はYes
です。
例
global.dictionary_stats_after=yes
sales.dictionary_stats_after=yes
dictionary_stats_before
(オプション)アップグレードを開始する前に、AutoUpgradeがソース・データベースのデータ・ディクショナリ統計を収集するように指定します。
使用上のノート
データ・ディクショナリ表はアップグレード中に変更され、作成されるため、データベースのアップグレードの前後でディクショナリ統計を収集することをお薦めします。yesを指定すると、AutoUpgradeはアップグレードを開始する前にディクショナリ統計を収集します。
オプション
[yes | no]
デフォルト値はYes
です。
例
global.dictionary_stats_before=yes
sales.dictionary_stats_before=yes
drop_grp_after_upgrade
データベースのアップグレード後に、保証付きリストア・ポイント(GRP)を削除します。
使用上のノート
このオプションを選択した場合、アップグレードが正常に完了した後にGRPが削除されます。
オプション
[yes | no]
デフォルト値はno
です。
例
global.drop_grp_after_upgrade=yes
sales.drop_grp_after_upgrade=yes
enable_local_undo
CDBのアップグレードの場合、CDB$ROOT
のアップグレード前にLOCAL
UNDOを有効にする必要があるかどうかを指定します。
使用上のノート
このオプションを選択した場合、AutoUpgradeはアップグレード前に次の文を実行します: ALTER DATABASE LOCAL UNDO ON;
。
ローカルUNDOを最初に有効にすると、PDB$SEED
内のUNDO表領域のサイズは、CDB$ROOT
内のUNDO表領域のサイズの係数として決定されます。デフォルトは、UNDO表領域サイズの30%です。CDB内の他のすべてのPDBは、PDB$SEED
からこのプロパティを継承します。新しいUNDO
表領域を割り当てるのに十分な領域があることを確認します。
オプション
[yes | no]
デフォルト値はno
です。
例
enable_local_undo=yes
fixed_stats_before
(オプション)アップグレードを開始する前に、AutoUpgradeがソース・データベースの固定オブジェクトの統計を収集するように指定します。
使用上のノート
アップグレードの前に、固定オブジェクトの統計を再収集することをお薦めします。
固定オブジェクトは、X$
表とその索引です。V$
パフォーマンス・ビューは、X$
表を通じて定義されます。固定オブジェクトの統計の収集は、データベース・パフォーマンスにとって有益で(それらの統計はオプティマイザが適切な実行計画を生成する際に役立つため)、データベース・パフォーマンスが向上する可能性があります。代表的な統計を取得しないと、実行計画が最適ではなくなる可能性があり、深刻なパフォーマンス問題が発生する場合があります。
オプション
[yes | no]
デフォルト値はYes
です。
例
global.fixed_stats_before=yes
sales.fixed_stats_before=yes
manage_network_files
アップグレード中にネットワーク・ファイルを処理するかどうかを指定します。
使用上のノート
このオプションを選択すると、AutoUpgradeは、指定したオプションに応じてネットワーク・ファイルを処理します。
oranfstab
、ldap.ora
、tnsnames.ora
、sqlnet.ora
およびlistener.ora
の各ネットワーク・ファイルが処理されます。
オプション
[FULL|SKIP|IGNORE_READ_ONLY
]
FULL
: (デフォルト)ネットワーク・ファイルのターゲットOracleホームへのコピーおよびマージ中に発生したすべての例外を呼び出します。SKIP
: アップグレード後にネットワーク・ファイルを処理しません。IGNORE_READ_ONLY
: ネットワーク・ファイルをコピーおよびマージしようとしましたが、ターゲット・ファイルが読取り専用の場合、アップグレード中に例外は発生しません。
例
manage_network_files=ignore_read_only
remove_underscore_parameters
構成ファイル内のすべてのOracle Databaseについて、アップグレード時およびアップグレード後にPFILE
ファイルからアンダースコア(非表示)パラメータを削除します。
使用上のノート
アンダースコアのパラメータは、Oracleサポートの指示がある場合のみ使用できます。
オプション
[yes | no]
デフォルト値はno
です。
例
global.remove_underscore_parameters=yes
restoration
(Enterprise Editionでのみ使用可能)データベース・リストアの保証付きリストア・ポイント(GRP)を生成します。
使用上のノート
このオプションは、データベース・バックアップおよびデータベースのリストアをDBAによって手動で実行する必要があるかどうかを決定します。
Standard Editionはフラッシュバック・データベースをサポートしていないため、このオプションはStandard Editionでは使用できません。データベースがStandard EditionのOracle Databaseの場合、別個のフォールバック・メカニズムを持つようにする必要があります。
オプション
[yes | no]
デフォルト値はyes
。
例
global.restoration=no
target_base
ターゲットOracleホームのターゲットORACLE_BASE
パスを指定します。
例
global.target_base=/u01/app/oracle
sales4.target_base=/u04/app/oracle4
target_home
(ターゲット・ホームがシステム上にない場合で、アップグレード・モードおよびデプロイ・モードの場合は必須です。分析および修正モードの場合はオプションです。 )ターゲットOracleホーム(ORACLE_HOME
)パスを指定します。
使用上のノート
AutoUpgradeでは、このパラメータで指定したリリース・バージョン情報を使用して、アップグレード対象のターゲットのOracle Databaseリリースに対して正しいチェックおよび修正が使用されるようにします。このパラメータの形式は、有効なOracleバージョンのピリオド区切りの値です。
このオプションは、ターゲット・ホームがシステムに存在しないか、ターゲット・ホームが12.2リリースの場合のみ必要です。それ以外の場合、AutoUpgradeはターゲット・リリース値を導出できます。
オプション
有効な値
- 12.2
- 18
- 19
- 21
例
global.target_version=19
employees.target_version=12.2
target_version
(ターゲットOracleホームがシステム上にないか、リリース12.2の場合は必須) AutoUpgradeでアップグレードを実行するターゲット・リリース・バージョンを指定します。
使用上のノート
AutoUpgradeでは、このパラメータで指定したリリース・バージョン情報を使用して、アップグレード対象のターゲットのOracle Databaseリリースに対して正しいチェックおよび修正が使用されるようにします。このパラメータの形式は、有効なOracleバージョンのピリオド区切りの値です。
このオプションは、ターゲット・ホームがシステムに存在しないか、ターゲット・ホームが12.2リリースの場合のみ必要です。それ以外の場合、AutoUpgradeはターゲット・リリース値を導出できます。
オプション
有効な値
- 12.2
- 18
- 19
- 21
例
global.target_version=19
employees.target_version=12.2
AutoUpgradeを使用した切断/接続アップグレードの理解
AutoUpgradeでは、以前のリリースのソース・コンテナ・データベース(CDB)からプラガブル・データベース(PDB)を切断し、新しいリリースのターゲットCDBに接続して、PDBをターゲットCDBリリースにアップグレードするために必要なすべてのステップを完了できます。
アップグレードの構成方法に応じて、AutoUpgradeを使用した切断/接続PDBアップグレードには2つのワークフローがあります。
- 1つ以上のプラガブル・データベースを1つのソースCDBから切断し、新しいリリースのターゲットCDBに接続します。
- 異なるソースCDBから複数のプラガブル・データベースを切断し、新しいリリースのターゲットCDBに接続します。
アップグレード後、PDBごとに、データベース・リスナーおよびローカル・ネーミング・パラメータ(tnsnames.ora
ファイル)を構成する必要があります。
注意:
データベースに対するその他の変更と同様に、AutoUpgradeを実行して変換およびアップグレードを完了する前に、予期しないデータ損失を防ぐために信頼性のあるバックアップ計画を実装することをお薦めします。AutoUpgradeがこの手順を開始した後、切断/接続PDBアップグレードをロールバックするオプションはありません。フラッシュバック・データベースもPDB変換では機能せず、元に戻せません。バックアップが唯一のフォールバック計画です。AutoUpgradeでは、透過的データ暗号化(TDE)を使用するPDBまたは暗号化された表領域を含むPDBの切断/接続アップグレードはサポートされていません。次の図は、この単一PDBの場合の切断/接続操作を示しています。
- ソースOracle Databaseが1つとターゲット・リリースのOracle Databaseが1つあります。この段階で、構成ファイルを作成し、AutoUpgradeを分析モード(
autoupgrade.jar -mode analyze
)で実行してアップグレードの準備状況を確認し、レポートされた問題を修正します。 - AutoUpgradeをデプロイ・モード(autoupgrade.jar -mode deploy)で実行します。AutoUpgradeは、構成ファイルに指定された情報を使用してPDBをターゲット・リリースに移動し、PDBを接続します。
- AutoUpgradeは、事前修正を実行した後、PDBをターゲット・リリースにアップグレードします。
ソースCDBとターゲットCDBの要件
切断/接続アップグレードを実行するには、ソースCDBとターゲットCDBが次の条件を満たしている必要があります。
- 切断/接続アップグレードを開始する前に、ターゲット・リリースCDBを作成し、CDBをオープンしていること。
- ソースCDBとターゲットCDBのエンディアン形式が同じであること。
- ターゲット・リリースCDB用に構成されたOracle Databaseコンポーネントのセットに、ソースCDBで使用可能なすべてのコンポーネントが含まれていること。
- ソースCDBとターゲットCDBに、互換性のある文字セットと各国語文字セットがあること。
- ターゲットCDBリリースへの直接のアップグレードでは、ソースCDBリリースがサポートされている必要があります。
- ソースCDBおよびターゲットCDBに対して外部認証(オペレーティング・システム認証)が有効になっていること
- ソースCDBのOracle Application Expressインストール・タイプは、ターゲットCDBのインストール・タイプと一致する必要があります。
- CDBに接続する非CDB Oracle Databaseには、既存の保証付きリストア・ポイント(GRP)を含めないでください。
ノート:
最新バージョンのAutoUpgradeでは、AutoUpgradeを使用してOracle Data Guard構成に接続できるようになりました。AutoUpgradeは、STANDBYS=NONE
句を使用してPDBを作成します。アップグレード後、データ・ファイルをスタンバイ・データベースにリカバリすることでスタンバイを再確立できます。
切断/接続アップグレードの機能
切断/接続アップグレードを選択すると、AutoUpgrade構成ファイルの構成方法に応じて、AutoUpgradeを使用してアップグレード時に次のオプションを実行できます。
- ソースCDBにあるPDB名を保持するか、PDB名を変更できます。
- 古いファイルをすべて保持しながら、データ・ファイルのコピーをターゲットCDBに作成できます。
- データファイルをターゲットの場所にコピーしてから、ソースCDBで古いファイルを削除できます。
- 1つのPDBを処理することも、包含リストにリンクして多数のPDBを1つのアップグレード手順で処理することもできます。処理できるPDBの数の制限は、サーバー制限とCDB上のPDBの制限のみです。
例2-1 切断/接続アップグレード用のAutoUpgrade構成ファイル
切断/接続PDBアップグレード・オプションを使用するには、AutoUpgrade構成ファイルで次の値を識別する必要があります。
- ソースCDBのシステム識別子パラメータ(パラメータ
sid
)。 - ターゲットCDB (パラメータ
target_cdb
)。 - ソースCDB内のPDBの名前、および変換する場合はターゲット変換名。
たとえば、ソースCDBがCDB122
、ターゲットCDBがcdb21x
、ソースCDBのPDBの名前がpdb2
、ターゲットCDBに必要なPDBの変換名がdepsales
の場合を次に示します。
global.autoupg log_dir=/home/oracle/autoupg
upg1.sid=CDB122
upg1.source_home=/u01/app/oracle/product/12.2.0/dbhome_1
upg1.target_home=/u01/app/oracle/product/21.1.0/dbhome_1
upg1.target_cdb=cdb21x
upg1.pdbs=pdb_2
upg1.target_pdb_name.pdb_2=depsales
upg1.target_pdb_copy_option.pdb_2=file_name_convert=('pdb_2','depsales')
親トピック: Oracle Databaseのアップグレードの準備