AutoUpgradeおよびOracle Databaseの構成オプション

AutoUpgradeを実行すると、データベースのタイプ(Oracle Database、Oracle ASMを備えたOracle DatabaseスタンドアロンまたはOracle RAC)が判別され、そのタイプのデータベースのアップグレードが実行されます

非CDBからPDBへのアップグレードのガイドラインおよび例

変換前に、データファイルおよびデータベースをバックアップし、ソースのOracle Databaseリリースに関するガイドラインに従います。

変換に失敗した場合にリカバリできるようにするために、AutoUpgradeを使用して非CDBのアップグレードおよび変換を実行する前に、アップグレード計画に時間をかけてバックアップ戦略を実装してください。

アップグレード計画のガイドライン

非CDBからPDBへの変換とアップグレードのプロセスはリカバリできません。適切なアップグレードと変換、および予期しない停止時間を減らすために、分析フェーズ中に見つかったエラー状態に対処することをお薦めします。

構成ファイル内でtarget_pdb_copy_optionを使用してデータ・ファイルのコピーを作成する場合は、既存のデータベースをバックアップとして使用できます。これは安全なオプションですが、さらに時間とディスク領域が必要になります。AutoUpgrade構成ファイルのtarget_pdb_copy_optionを設定していない場合、データベース変換は、既存のデータベース・ファイルで使用されているファイルの場所およびファイル名と同じものを使用します。潜在的なデータ損失を防ぐには、データをバックアップし、AutoUpgradeを起動する前にファイル配置計画を検討するようにします。

非CDBからマルチテナント・アーキテクチャへのGRPとアップグレード

  • アップグレード中に、AutoUpgradeは、AutoUpgradeデプロイ・ワークフローのアップグレード・ステージのコンテキストでのみ使用可能な保証付きリストア・ポイント(GRP)を作成します。潜在的なデータ損失に備えて、AutoUpgradeを起動する前にバックアップ計画を実装する必要があります。
  • 非CDBからマルチテナント・アーキテクチャへのデータベース変換は、AutoUpgradeの排出ステージで実行されます。このステージが完了した後、AutoUpgradeによって作成されたGRPは削除され、AutoUpgradeのrestoreコマンドを使用してデータベースをリストアすることはできません。以前の非CDBのOracleデータベース・リリースへのリカバリが必要な場合は、データベースを手動でリカバリする準備が必要です。

例5-4 マルチテナント・アーキテクチャを使用した非CDBからOracle Database 19cへのアップグレードおよび変換

デプロイ変換およびアップグレード・ワークフロー中に、AutoUpgradeはGRPを作成し、事前修正ステージを実行します。事前修正ステージ完了までのデプロイ・ワークフローのいずれかの部分が失敗した場合、AutoUpgradeはデプロイメントの開始時に作成されたGRPにデータベースをリストアできます。

ただし、事前修正ステージが完了すると、アップグレードされたデータベースはターゲット・リリースのOracle Databaseコンテナ・データベース(CDB)に接続されて変換が完了します。非CDBがCDBに接続されるとすぐに、GRPは有効でなくなり削除されます。

接続の間になんらかの問題が発生し、構成ファイル内でtarget_pdb_copy_optionを使用してデータ・ファイルのコピーを作成しなかった場合、AutoUpgradeはデータベースをリカバリおよびリストアできないことに留意してください。その場合は、データベースを手動でリストアする必要があります。

Oracle Grid Infrastructure管理構成のAutoUpgradeプロセス・フロー

AutoUpgradeがOracle RACまたはOracle RAC One Nodeを検出すると、すべてのOracle RACインスタンスに必要なアップグレード・ステップの実行に進みます。

AutoUpgradeを起動すると、Oracle Real Application Clusters (Oracle RAC)またはOracle RAC One Nodeのいずれかの構成で、Oracle DatabaseがOracle Grid Infrastructureで管理されている場合が検出されます。AutoUpgradeを起動する前に、アップグレード先となるOracle Databaseリリース以上のリリースにOracle Grid Infrastructureをアップグレードしておく必要があります。

ノート:

このアップグレード・オプションを選択すると、AutoUpgradeがデータベース・インスタンスおよびシステム構成のアップグレードを完了している間に、クラスタ・データベースの停止時間が必要になります。Oracle Enterprise Managerを使用する場合は、アップグレード後に再構成する必要があります。

アップグレード中、AutoUpgradeは、Oracle DatabaseがOracle Clusterwareリソースであることを検出すると、次のステップを順番に実行します。

  1. AutoUpgradeは、データベース、またはOracle RACデータベースのすべてのインスタンスを停止します。
  2. AutoUpgradeは、Oracle RACおよびOracle RAC One Nodeの各サービスを無効にします。
  3. Oracle ClusterwareリソースがOracle RACの場合、AutoUpgradeは、Oracle Clusterware内のOracle RACデータベース・リソースを無効にします。
  4. AutoUpgradeは、Oracle Databaseインスタンスを起動します。
    • インスタンスがOracle RACインスタンスの場合、AutoUpgradeは、CLUSTER_DATABASEをfalseに設定して、アップグレード・モードでローカルのOracle Databaseインスタンスを起動します。
    • インスタンスが単一インスタンスのOracle Databaseの場合は、通常モードでインスタンスを起動します。
  5. AutoUpgradeは、ローカルのOracle Database Oracleホーム・バイナリを新しいOracle Databaseリリース・バイナリにアップグレードします。
  6. アップグレード中、AutoUpgradeは、ローカルのOracle Databaseホームからsrvctl upgrade databaseを実行し、Oracle RACの場合はOracle RACサービスの構成を新しいリリースにアップグレードします。パッチ操作中、AutoUpgradeは、srvctl upgrade databaseのかわりにsrvctl modify databaseを実行します。
  7. AutoUpgradeは、srvctl enable databaseを使用して、データベースのOracle Grid Infrastructureサービスを有効にします。Oracle RACインスタンスの場合、CLUSTER_DATABASEをtrueに変更します。
  8. AutoUpgradeは、更新されたパラメータと、リリース・アップグレードの影響を受けない環境に対して以前に設定したパラメータ・オプションを使用して、サーバー・パラメータ・ファイル(SPFILE)を再作成します。
  9. Oracle DatabaseがOracle RACデータベースのインスタンスである場合、AutoUpgradeは、Oracle RACデータベースのすべてのインスタンスがアップグレードされるまで、このプロセスを相互にクラスタ・メンバー・ノードで繰り返します。
  10. AutoUpgradeは、Oracle Databaseを起動します。Oracle RACの場合は、クラスタ上のOracle Real Application Clustersのすべてのインスタンスを起動します。

パッチ操作中もプロセスは同様ですが、次の違いがあります:

  1. AutoUpgradeは、データベース、またはOracle RACデータベースのすべてのインスタンスを停止します。
  2. AutoUpgradeは、Oracle RACおよびOracle RAC One Nodeの各サービスを無効にします。
  3. Oracle ClusterwareリソースがOracle RACの場合、AutoUpgradeは、Oracle Clusterware内のOracle RACデータベース・リソースを無効にします。
  4. AutoUpgradeは、Oracle Databaseインスタンスを起動します。
    • インスタンスがOracle RACインスタンスの場合、AutoUpgradeは、CLUSTER_DATABASEをfalseに設定して、アップグレード・モードでローカルのOracle Databaseインスタンスを起動します。
    • インスタンスが単一インスタンスのOracle Databaseの場合は、通常モードでインスタンスを起動します。

    アップグレード操作と比較して、パッチ・メンテナンスではこのステージで次のステップも実行されるため、ドレイン・ステージの完了後にデータベースを起動する準備が整います:

    • AutoUpgradeは、ローカルのOracle Database Oracleホーム・バイナリを新しいOracle Databaseリリース・バイナリにアップグレードします。
    • AutoUpgradeは、ローカルのOracle Databaseホームからsrvctl modify databaseを実行し、データベースにパッチを適用します。また、Oracle RACの場合は、Oracle RACサービスの構成にもパッチを適用して新しいリリース更新にします。
    • AutoUpgradeは、srvctl enable databaseを使用して、データベースのOracle Grid Infrastructureサービスを有効にします。F
    • AutoUpgradeは、更新されたパラメータと、リリース・パッチ・メンテナンスの影響を受けない環境に対して以前に設定したパラメータ・オプションを使用して、サーバー・パラメータ・ファイル(SPFILE)を再作成します。
    • Oracle DatabaseがOracle RACデータベースのインスタンスである場合、AutoUpgradeは、Oracle RACデータベースのすべてのインスタンスがアップグレードされるまで、このプロセスを相互にクラスタ・メンバー・ノードで繰り返します。
    • AutoUpgradeは、Oracle Databaseを起動します。Oracle RACの場合は、クラスタ上のOracle Real Application Clustersのすべてのインスタンスを起動します。

AutoUpgradeを使用したアップグレードのためのOracle RACの要件

AutoUpgradeでOracle Real Application Clusters (Oracle RAC)またはOracle RAC One Nodeデータベースをアップグレードできるかどうかを判断するには、ユースケース要件を確認します。

Oracle RACデータベースでAutoUpgradeを使用するための要件

AutoUpgradeを使用して、Oracle RACまたはOracle Real Application Clusters One Nodeシステムのアップグレードを実行できます。ただし、システムが次の要件のすべてを満たしている必要があります。

  • Oracle RACデプロイメントでのAutoUpgradeの使用は、POSIXシステムとMicrosoft Windowsシステムの両方でサポートされるようになりました。
  • Microsoft Windowsの場合のみ、AutoUpgradeはOracle RAC APIを統合しているため、WindowsプラットフォームでSSHを有効にする必要はありません。AutoUpgradeは、Microsoft Windows上のOracle Grid Infrastructureのリリース19、21および23でサポートされています。データベースのアップグレードおよびパッチ適用は、サポートされているOracle Grid Infrastructureのリリースで実行されるデータベースでサポートされています。Microsoft Windows Oracle RAC環境でアップグレードまたはパッチ適用を実行する場合、完全なソリューションとしてAutoUpgradeのWindows資格証明機能を使用することをお薦めします。
  • 新しいOracle Databaseリリースにアップグレードするためのアップグレード要件を満たしている必要があります。
  • サーバー制御(SRVCTL)ユーティリティを使用して登録および管理する必要があります。

データベース管理者がAutoUpgradeを使用するために必要なタスク

データベース管理者は、次のタスクを完了する必要があります。

  • アップグレードによる問題によるデータ損失を防ぐために、適切なバックアップ計画を作成します。
  • 必要に応じて、ローカルのtnsnames.oraリスナーとSCANリスナーの両方に対して、リスナーおよびTransparent Network Substrate (TNS)ファイルを構成します。
  • Oracle Walletの証明書および管理(必要な場合)を構成し、自動ログインを構成します。

AutoUpgradeを使用したOracle RACのアップグレードの準備

アップグレード前に収集する必要がある情報およびその他のアップグレード準備のガイドラインを確認します。

Oracle Real Application Clusters (Oracle RAC)のアップグレードにAutoUpgradeを使用するには、アップグレードの前に必要な情報を収集し、アップグレード中に情報を指定する準備が整っていることを確認します。

AutoUpgradeおよびOracle RACのスコープ制限

AutoUpgradeは、Oracle Grid InfrastructureのOracle ClusterwareコンポーネントとOracle ASMコンポーネントのアップグレードを実行しません。AutoUpgradeを起動してOracle RACデータベースをアップグレードする前に、新しいリリースへのOracle Grid Infrastructureのアップグレードを正常に完了する必要があります。

AutoUpgradeを使用したアップグレード前のファイル・システムの準備

AutoUpgradeは、Oracle ASMで共有されるPFILEファイルおよびSPFILEファイルを識別できます。AutoUpgradeは、SPFILEをアップグレードの一部として再作成します。Oracle ASMを使用してクラスタ上でSPFILEを共有する場合、この手順を完了する必要はありません。

AutoUpgradeとOracle Data Guard

Oracle Database 21c以降、AutoUpgradeでは、Oracle Data Guard用に構成されたプライマリ・データベースおよびセカンダリ・データベースのアップグレード・プロセスを簡略化できます。

AutoUpgradeによるOracle Data Guardのアップグレードの実行方法

AutoUpgradeは、Oracle Data Guard構成を検出し、プライマリ・データベース用に構成されたスタンバイ・データベースへのログの送信を遅延させることができます。

AutoUpgradeでは、Oracle Data Guardデプロイメントの有無と、そのデプロイメントが手動で構成されているのか、Data Guard Brokerを使用してOracle Data Guard構成を管理およびモニターしているのかが自動的に検出されます。

構成ファイルでパラメータdefer_standby_log_shippingno (デフォルト)に設定すると、AutoUpgradeでは、Oracle Data Guardが手動で構成されている場合とData Guard Brokerを使用してOracle Data Guardが構成されている場合の両方で、構成済のスタンバイ・データベースへのログ送信を遅延させることができます。

データベースとOracle Data GuardのAutoUpgradeによるアップグレード前の準備

アップグレードを開始する前に、プライマリ・データベースのアップグレード中に障害が発生した場合またはプライマリ・データベースをソースOracleホームに戻す必要がある場合に備えて、スタンバイ・データベースが保護されており、リカバリ可能であることを確認します。

Oracle Data GuardのアップグレードのためにAutoUpgradeで実行されるステップ

AutoUpgradeで実行されるステップは、スタンバイ・データベースが手動で管理されているか、Data Guard Brokerを使用して管理されているかによって異なります。

Oracle Data Guardが手動またはData Guard Brokerを使用して管理されるOracle Data Guardの以前のリリース(ソース)のデータベースの場合、スタンバイ・データベースへのログ送信を管理するために、AutoUpgrade構成ファイルでdefer_standby_log_shipping=yes (デフォルトはno)を設定できます。ただし、AutoUpgradeで実行される特定のアクションは、スタンバイ・データベースの管理方法によって異なります。

ノート:

手動またはData Guard Brokerを使用して管理されるスタンバイ・データベースの場合、アップグレードの完了後、プライマリ・データベースでのアップグレードが正常に終了した後に各スタンバイ・アーカイブ・ログの宛先でENABLE DATABASE database-name;を実行し、REDOログ適用を使用してスタンバイ・データベースをアップグレードするために必要なステップをすべて実行する必要があります。

手動管理のOracle Data Guardスタンバイ・データベース

直接アップグレードがサポートされているOracle Data Guardスタンバイ・データベースの場合、AutoUpgradeは、手動管理スタンバイ・データベースとData Guard Broker管理スタンバイ・データベースの両方のアップグレード・プロセスを開始する前に、すべてのVALIDおよびENABLEDスタンバイ・アーカイブ・ログの宛先をDEFERモードにします。

Data Guard Broker管理のOracle Data Guardスタンバイ・データベース

Data Guard Brokerを使用して管理されるOracle Data Guardスタンバイ・データベースとの直接アップグレードがサポートされているOracle Databaseリリースの場合、AutoUpgradeは次のアクションを完了します。

  • プライマリ・データベースの状態が、Data Guard Brokerを使用して構成されたすべてのスタンバイ・データベースに対してTRANSPORT-OFFに設定されます。
  • Data Guard Brokerのファイルが、ソースOracleホームからターゲットOracleホームにコピーされます。

ノート:

Data Guard BrokerファイルがOracleホームの外部にある場合、ファイルは見つからず、コピーされません。

プライマリ・データベースのアップグレード後のステップ

Oracle Data Guardのアップグレードでは、プライマリ・データベースをアップグレードした後に、次の手順を実行する必要があります。

  • プライマリ・データベースでREDO転送が有効になっていることを確認し、アップグレードがスタンバイ・データベースに適用されるようにします。
  • アーカイブが適用され、ギャップが最小限であることを確認します。適用ラグおよびトランスポート・ラグは5分以内にすることをお薦めします。

例5-5 REDO転送サービスのステータスの確認

プライマリ・データベースのREDO転送サービスのステータスを確認するには、Data Guard Brokerコマンドライン・インタフェース(DGMGRL)で監視可能なプロパティLogXptStatusを使用します。たとえば:

DGMGRL> SHOW DATABASE 'sales1' 'LogXptStatus' ;

例5-6 適用ラグおよびトランスポート・ラグの確認

アーカイブが適用されていることを確認し、適用ラグおよびトランスポート・ラグが5分以内であることを確認するには、プライマリ・データベースにログインし、次のようなSQL問合せを発行します。

[oracle]$ sqlplus / as sysdba
SYS@sales1>

SET LINESIZE 200
COL VALUE FOR A30
SELECT NAME,VALUE,TIME_COMPUTED,DATUM_TIME FROM V$DATAGUARD_STATS WHERE NAME LIKE '%lag';

結果は次のようになります。

NAME VALUE TIME_COMPUTED DATUM_TIME
-------------- -------------- --------------------- --------------------
transport lag +00 00:00:00 timestamp timestamp
apply lag +00 00:01:07 timestamp timestamp

高速デプロイ・オプションを使用してAutoUpgradeを実行する方法

停止時間を最小限に抑えるには、高速デプロイ・オプションを使用してAutoUpgradeを実行することでデータベースをアップグレードできます。

AutoUpgrade 21.2以降、アプリケーションで停止時間を最小限に抑える必要がある場合、高速デプロイを使用することで停止時間を短くしてアップグレードできるようになりました。高速デプロイ・オプションを使用すると、データベースがオンライン中でも事前チェックおよび事前修正を実行できます。ソース・データベースで修正を実行した後、デプロイ・モードでAutoUpgradeを実行し、事前チェックおよび事前修正のステージをスキップできるため、実際のアップグレードのみに停止時間が必要となります。

ノート:

標準の分析モードとデプロイ・モードを使用してAutoUpgradeを実行することをお薦めします。高速デプロイ方法を使用する場合は、アップグレード前の分析モードでAutoUpgradeを実行した後、かつアップグレード・モードでAutoUpgradeを実行する前の期間中に新しい問題が発生する可能性があるというリスクがわずかにあることに注意してください。これが問題を引き起こす可能性があります。そのリスクを評価し、それに応じて予防措置を講じてください。
  1. AutoUpgrade構成ファイルを作成し、ソース・システムおよびターゲット・システムに関する情報とアップグレード・プリファレンスを指定します。次の各ステップでは、そのファイル名はmyconfig.cfgです。

  2. 分析モードを使用してデータベースを分析します。

    – java -jar autoupgrade.jar -config myconfig.cfg -mode analyze
  3. 修正モードを使用してアップグレード前の修正を実行します。

    – java -jar autoupgrade.jar -config myconfig.cfg -mode fixups
  4. アップグレード・モードを使用してデータベースをアップグレードします。

    – java -jar autoupgrade.jar -config myconfig.cfg -mode upgrade

    このコマンドを実行すると、アップグレードされるデータベースがターゲットのOracleホームでUPGRADEモードでオープンされるため、データベースが停止することがあります。

暗号化されたPDBの切断/接続アップグレードの実行方法

AutoUpgradeユーティリティを使用して、暗号化されたPDBの切断/接続アップグレードを実行する方法について説明します。

注意:

AutoUpgradeがglobal.keystoreを使用して作成するディレクトリを指定する場合は、ソフトウェア・キーストアが格納されることに注意してください。TDEキーストア・ファイルとともに使用する場合と同じセキュリティのベスト・プラクティスを使用して保護する必要があります。

暗号化されたPDBのアップグレードを実行するには、AutoUpgradeでTDEキーストアのパスワードを独自のセキュア・キーストアにロードする必要があります。パスワードをロードするには、構成ファイルでAutoUpgradeグローバル構成ファイル・パラメータkeystoreを設定し、コマンドライン・パラメータload_passwordを使用してAutoUpgradeを実行します。このパラメータは、-configパラメータとともに使用する必要があります。引数はありません。かわりに、キーストアに必要な情報を提供できる特定のコマンドを使用して対話型プロンプトを起動します。AutoUpgradeは、アップグレード中に安全にロードされたパスワードを格納し、必要に応じてこれらのパスワードを使用します。

ノート:

データベースがOracle Secure External Password Store (SEPS)を使用しており、TDEキーストア・パスワードが要求されると、AutoUpgradeはIDENTIFIED BY EXTERNAL STORE句を使用するため、パスワードをAutoUpgradeパスワード・キーストアにロードする必要はありません。ただし、すべてのデータベースがセキュアな外部パスワード・ストアを使用して構成されている場合は、引き続き構成ファイルでglobal.keystoreを定義する必要があります。

AutoUpgradeキーストアは、Oracle Databaseが使用する他のキーストアと似ています。自動ログイン・キーストアとして作成することもできます。たとえば、外部キーストアがewallet.p12の場合、AutoUpgradeは、ewallet.p12キーストアを開くために使用される自動ログイン・キーストアcwallet.ssoを作成します。

暗号化されたPDBのアップグレードを開始する前に、次を満たす必要があります。

  • AutoUpgradeはバージョン22.2以降である必要があります。常に最新バージョンのAutoUpgradeをダウンロードして実行することをお薦めします。
  • 外部TDEキーストアを使用する必要があります
  • ソースおよびターゲットのCDBの外部キーストア・パスワードを使用可能にしておく必要があります。

例5-7 AutoUpgradeを使用した切断/接続アップグレードによる暗号化されたPDBのアップグレード

次の例では、Transparent Data Encryption (TDE)を使用しているOracle Database 12cリリース2 (12.2) PDBが、アップグレード中にTDEキーのセキュア・ストアを指定するためにAutoUpgrade構成ファイル・キーストア・パラメータとともにAutoUpgrade load_passwordコマンド・オプションを使用して、Oracle Database 19cにアップグレードされます。

  1. 最新バージョンのAutoUpgradeがあることを確認します。
    $ java -jar autoupgrade.jar -version
    

    AutoUpgradeバージョンが以前のリリースの場合は、My Oracle Support AutoUpgradeツール(ドキュメントID 2485457.1)から最新バージョンのAutoUpgradeをダウンロードします

  2. AutoUpgrade構成ファイルを作成します。この例では、パス/u01/app/oracle/admin/autoupgrade/keystoreの、Oracleベース・ディレクトリ下のadminフォルダに指定されているキーストアへのパスを使用して、構成ファイルPDB1.cfgが作成されます。ソースCDBはCDB1で、ターゲットCDBはCDB2です。
    global.autoupg_log_dir=/u01/app/oracle/cfgtoollogs/autoupgrade
    global.keystore=/u01/app/oracle/admin/autoupgrade/keystore
    upg1.log_dir=/u01/app/oracle/cfgtoollogs/autoupgrade/DB12
    upg1.source_home=/u01/app/oracle/product/12.2.0/dbhome_1
    upg1.target_home=/u01/app/oracle/product/19.1.0/dbhome_1
    upg1.sid=CDB1
    upg.pdbs=PDB1
    upg1.target_cdb=CDB2
    

    ノート:

    キーストアの場所を指定せず、以前にAutoUpgradeキーストアが作成されていない場合は、AutoUpgradeによってAutoUpgradeキーストアが作成されます。

  3. 分析モードでAutoUpgradeを実行します。
    $ java -jar autoupgrade.jar -config PDB1.cfg -mode analyze
    

    サマリー・レポートは、アップグレードを開始する前にTDEキーストア・パスワードが必要であることを示しています(TDE_PASSWORDS_REQURED)。

    [Stage Name]    PRECHECKS
    [Status]        FAILURE
    [Start Time]    2022-03-29 07:58:52
    [Duration]       
    [Log Directory] /u01/app/oracle/cfgtoollogs/autoupgrade/PDB1/CDB1/100/prechecks
    [Detail]        /u01/app/oracle/cfgtoollogs/autoupgrade/PDB1/CDB1/100/prechecks/cdb1_preupgrade.log
    		Check failed for PDB1, manual intervention needed for the below checks
    		[TDE_PASSWORDS_REQUIRED]
  4. TDEキーストア・パスワードをAutoUpgradeキーストアに追加します。

    $ java -jar autoupgrade.jar -config PDB1.cfg -load_password
    

    -load_passwordコマンド・オプションを指定してAutoUpgradeを初めて実行すると、TDEパスワードを安全に格納できるAutoUpgradeキーストアのパスワードを作成するよう求められます。

    
    Starting AutoUpgrade Password Loader - Type help for available options
    Creating new keystore - Password required
    Enter password:       
    Enter password again: 
    Keystore was successfully created

    SEPSキーストアを使用しない場合、AutoUpgradeにより、構成ファイルのsource_homeで指定されたデータベースのTDEキーストア・パスワードをAutoUpgrade独自のキーストアに追加するよう求められますが、この場合、そのデータベースがTDEキーストア・パスワードを必要とします。これは、構成ファイルの例で指定したものです。

    次の例では、ソースおよびターゲットのTDEキーストア・パスワードがロードされます。

    TDE> ADD CDB1
    Enter your secret/Password:
    Re-enter your secret/Password:
    
    TDE> ADD CDB2
    Enter your secret/Password:
    Re-enter your secret/Password:

    パスワードがロードされたことを確認します。

    TDE> LIST
    +---------------+-----------------+-----------------+--------------+----------------------+
    |ORACLE_SID     |Action Required  |TDE Password     |SEPS Status   |Active Wallet Type    |
    +---------------+-----------------+-----------------+--------------+----------------------+
    | CDB1          |                 | Verified        | Inactive     | Auto-login           |
    | CDB2          |                 | Verified        | Inactive     | Any                  |
    +---------------+-----------------+-----------------+--------------+----------------------+

    Action Required列が空の場合、アップグレードにTDEパスワードを使用できます。

    ソースCDBまたはターゲットCDBでSEPSキーストアを使用する場合、AutoUpgradeはTDEパスワードのソースとしてSEPSキーストアを自動的に検出します。AutoUpgradeはIDENTIFIED BY EXTERNAL STORE句を使用するので、TDEキーストア・パスワードをAutoUpgradeキーストアにロードする必要がありません。ここでも、TDE LISTコマンドで空のAction Required列が表示されます。

    TDE> LIST
    +--------------+------------------+-------------------------+--------------+---------------------+
    |ORACLE_SID    |Action Required    | TDE Password           |SEPS Status   |Active Wallet Type   |
    +--------------+-------------------+------------------------+--------------+---------------------+
    | CDB1         |                   |No password loaded      | Verified     | Any                 |
    | CDB2         |                   |No password loaded      | Verified     | Any                 |
    +--------------+-------------------+------------------------+--------------+---------------------+

    同じ構成ファイルで両方のオプションを使用できます。たとえば、ソース非CDBデータベースにSEPSキーストアを使用せずに、ターゲットCDBにSEPSキーストアを使用する場合、必要なのは、ソース非CDBのパスワードをロードすることのみです。

  5. TDEパスワードをAutoUpgradeキーストアに保存します。(オプション): この例では、キーストアを自動ログイン・キーストアに変換します。

    TDE> save
    Convert the keystore to auto-login [YES|NO] ? YES
    TDE> exit
  6. PDBを再度分析します。

    $ java -jar autoupgrade.jar -config PDB1.cfg -mode analyze

    レポートをレビューし、すべての問題が解決されたことを確認します。

  7. アップグレードおよび変換を開始します。
    $ java -jar autoupgrade.jar -config PDB1.cfg -mode deploy
    
  8. AutoUpgradeは、アップグレードを完了するために必要に応じてTDEパスワードを使用して、ターゲットOracle DatabaseでPDB1のアップグレードを開始します。この例では、AutoUpgrade自動ログイン・キーストアを作成し、独自のセキュア・キーストアを使用してTDEパスワードにアクセスするようにAutoUpgradeを構成したため、アップグレード中にTDEパスワードの指定を求められることはありません。

暗号化されたPDBの非CDBからPDBへの変換を実行する方法

AutoUpgrade 22.1以降の更新では、AutoUpgradeにより、Transparent Data Encryption (TDE)を使用するOracle Databaseのアップグレードおよび変換が簡略化されます。

アップグレード・プロセスを簡略化しながらアップグレード中に機密情報を保護するには、AutoUpgradeグローバル構成ファイル・パラメータkeystoreおよびAutoUpgradeコマンドライン・パラメータload_passwordを使用して、TDEパスワードをAutoUpgradeキーストアに安全にロードし、必要に応じてそのパスワードを使用します。
AutoUpgradeキーストアを使用できるようにするには、global.keystoreを使用して、AutoUpgrade構成ファイルで外部パスワード・ストアの場所を指定します。

ノート:

AutoUpgradeキーストア・パスを指定する場合、そのパスは、AutoUpgradeで指定した他のファイル・パスとは異なる必要があるので、キーストアはどのログ・ファイルの場所にも存在しません。AutoUpgradeキーストア・パス・ディレクトリが存在しない場合、AutoUpgradeによって自動的に作成されます。

データベースがOracle Secure External Password Store (SEPS)を使用しており、TDEキーストア・パスワードが要求されると、AutoUpgradeはIDENTIFIED BY EXTERNAL STORE句を使用するため、パスワードをAutoUpgradeパスワード・キーストアにロードする必要はありません。ただし、すべてのデータベースがセキュアな外部パスワード・ストアを使用して構成されている場合は、引き続き構成ファイルでglobal.keystoreを定義する必要があります。

例5-8 TDEを使用したデータベースのアップグレードおよび非CDBからPDBへの変換

次の例では、Transparent Data Encryption (TDE)を使用しているOracle Database 12cリリース2 (12.2)非CDBデータベースが、PDB変換およびアップグレード中にTDEキーのセキュア・ストアを指定するためにAutoUpgrade構成ファイル・キーストア・パラメータとともにAutoUpgrade load_passwordコマンド・オプションを使用して、Oracle Database 19cにアップグレードされ、PDBに変換されます。

  1. 最新バージョンのAutoUpgradeがあることを確認します。
    $ java -jar autoupgrade.jar -version
    

    AutoUpgradeバージョンが以前のリリースの場合は、My Oracle Support AutoUpgradeツール(ドキュメントID 2485457.1)から最新バージョンのAutoUpgradeをダウンロードします

  2. AutoUpgrade構成ファイルを作成します。この例では、キーストアへのパスが、パス/u01/app/oracle/admin/autoupgrade/keystoreの、Oracleベース・ディレクトリ下のadminフォルダに指定されています。
    global.autoupg_log_dir=/u01/app/oracle/cfgtoollogs/autoupgrade
    global.keystore=/u01/app/oracle/admin/autoupgrade/keystore
    upg1.log_dir=/u01/app/oracle/cfgtoollogs/autoupgrade/DB12
    upg1.source_home=/u01/app/oracle/product/12.2.0
    upg1.target_home=/u01/app/oracle/product/19.1.0
    upg1.sid=DB12
    upg1.target_cdb=CDB2
    
  3. 分析モードでAutoUpgradeを実行します。
    $ java -jar autoupgrade.jar -config DB12.cfg -mode analyze
    

    サマリー・レポートは、アップグレードを開始する前に追加のアップグレード前タスクを完了する必要がないことを示しています。

    [Stage Name]    PRECHECKS
    [Status]        SUCCESS
    [Start Time]    2022-03-30 10:28:38
    [Duration]       
    [Log Directory] /u01/app/oracle/cfgtoollogs/autoupgrade/DB12/DB12/100/prechecks
    [Detail]        /u01/app/oracle/cfgtoollogs/autoupgrade/DB12/DB12/100/prechecks/db12_preupgrade.log
    				Check passed and no manual intervention needed
    

    TDE_PASSWORDS_REQUIREDチェックが失敗した場合は、TDEパスワードをロードします。

    $ java -jar autoupgrade.jar -config DB12.cfg -load_password
    

    -load_passwordコマンド・オプションを指定してAutoUpgradeを初めて実行すると、AutoUpgradeでアップグレードの実行にTDEパスワードが必要な場合は、TDEパスワードを安全に格納できるAutoUpgradeキーストアのパスワードを作成するよう求められます。

    
    Starting AutoUpgrade Password Loader - Type help for available options
    Creating new keystore - Password required
    Enter password:       
    Enter password again: 
    Keystore was successfully created

    SEPSキーストアを使用しない場合、AutoUpgradeにより、構成ファイルのsource_homeで指定されたデータベースのTDEキーストア・パスワードをAutoUpgrade独自のキーストアに追加するよう求められますが、この場合、そのデータベースがTDEキーストア・パスワードを必要とします。これは、構成ファイルの例で指定したものです。

    次の例では、ソースおよびターゲットのTDEキーストア・パスワードがロードされます。

    TDE> ADD DB12
    Enter your secret/Password:
    Re-enter your secret/Password:
    
    TDE> ADD CDB2
    Enter your secret/Password:
    Re-enter your secret/Password:
  4. TDE構成を確認するには、-load_passwordコマンド・パラメータを使用してAutoUpgradeを再度実行できます。今回は、パスワードがすでにロードされているため、TDEコンソール・プロンプトが表示されます。TDEコンソールのlistコマンドを実行して、TDE構成を確認します。
    $ java -jar autoupgrade.jar -config DB12.cfg -load_password
    	
    TDE> list
    +----------+---------------+------------------+-----------+------------------+
    |ORACLE_SID|Action Required|   TDE Password   |SEPS Status|Active Wallet Type|
    +----------+---------------+------------------+-----------+------------------+
    |      CDB2|               |No password loaded|   Verified|               Any|
    |      DB12|               |No password loaded|    Unknown|        Auto-login|
    +----------+---------------+------------------+-----------+------------------+
    

    listコマンドの表出力では、Action Required列は空です。この結果から、TDEキーストア・パスワードが指定されたことが確認されます。SEPS Status列で、AutoUpgradeはターゲットOracle Database CDB2でのパスワード・ストレージ・アクセスをチェックしたことをレポートし、パスワードが機能していることを確認しています。パスワードをチェックするTDEコンソール機能はOracle Database 19cで追加された機能であるため、AutoUpgradeはOracle Database 12cリリース2 (12.2)でTDEのパスワード・チェックを確認できないので、Unknownという結果が想定されます。

    ソースCDBまたはターゲットCDBでSEPSキーストアを使用する場合、AutoUpgradeはTDEパスワードのソースとしてSEPSキーストアを自動的に検出します。AutoUpgradeはIDENTIFIED BY EXTERNAL STORE句を使用するので、TDEキーストア・パスワードをAutoUpgradeキーストアにロードする必要がありません。ここでも、TDE LISTコマンドで空のAction Required列が表示されます。

    同じ構成ファイルで両方のオプションを使用できます。たとえば、ソース非CDBデータベースにSEPSキーストアを使用せずに、ターゲットCDBにSEPSキーストアを使用する場合、必要なのは、ソース非CDBのパスワードをロードすることのみです。

  5. アップグレードおよび変換を開始します。
    $ java -jar autoupgrade.jar -config DB12.cfg -mode deploy
    
  6. AutoUpgradeは、アップグレードを完了するために必要に応じてTDEパスワードを使用して、ソースの非CDB Oracle DatabaseのアップグレードおよびターゲットOracle DatabaseのPDBへの変換を開始します。

注意:

他のOracle Databaseキーストアと同様に、AutoUpgradeキーストア・ファイルを保護します。

  • 制限されたファイル・システム権限の適用
  • アクセスの監査
  • キーストアのバックアップ