AutoUpgradeおよびOracle Databaseの構成オプション
AutoUpgradeを実行すると、データベースのタイプ(Oracle Database、Oracle ASMを備えたOracle DatabaseスタンドアロンまたはOracle RAC)が判別され、そのタイプのデータベースのアップグレードが実行されます
- 非CDBからPDBへのアップグレードのガイドラインおよび例
変換前に、データファイルおよびデータベースをバックアップし、ソースのOracle Databaseリリースに関するガイドラインに従います。 - Oracle Grid Infrastructure管理構成のAutoUpgradeプロセス・フロー
AutoUpgradeがOracle RACまたはOracle RAC One Nodeを検出すると、すべてのOracle RACインスタンスに必要なアップグレード・ステップの実行に進みます。 - AutoUpgradeを使用したアップグレードのためのOracle RAC要件
AutoUpgradeがOracle Real Application Clusters (Oracle RAC)またはOracle RAC One Nodeデータベースをアップグレードできるかどうかを判断するには、ユースケース要件を確認します。 - AutoUpgradeを使用したOracle RACのアップグレードの準備
アップグレード前に収集する必要がある情報およびその他のアップグレード準備のガイドラインを確認します。 - AutoUpgradeおよびOracle Data Guard
Oracle Database 21c以降、AutoUpgradeでは、Oracle Data Guard用に構成されたプライマリ・データベースおよびセカンダリ・データベースのアップグレード・プロセスを簡略化できます。 - 高速デプロイ・オプションを使用してAutoUpgradeを実行する方法
停止時間を最小限に抑えるには、高速デプロイ・オプションを使用してAutoUpgradeを実行することでデータベースをアップグレードできます。 - 暗号化されたPDBの切断/接続アップグレードの実行方法
AutoUpgradeユーティリティを使用して、暗号化されたPDBの切断/接続アップグレードを実行する方法について説明します。 - 暗号化されたPDBの非CDBからPDBへの変換を実行する方法
AutoUpgrade 22.1以降の更新では、AutoUpgradeにより、Transparent Data Encryption (TDE)を使用するOracle Databaseのアップグレードおよび変換が簡略化されます。
非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リソースであることを検出すると、次のステップを順番に実行します。
- AutoUpgradeは、データベース、またはOracle RACデータベースのすべてのインスタンスを停止します。
- AutoUpgradeは、Oracle RACおよびOracle RAC One Nodeの各サービスを無効にします。
- Oracle ClusterwareリソースがOracle RACの場合、AutoUpgradeは、Oracle Clusterware内のOracle RACデータベース・リソースを無効にします。
- AutoUpgradeは、Oracle Databaseインスタンスを起動します。
- インスタンスがOracle RACインスタンスの場合、AutoUpgradeは、
CLUSTER_DATABASE
をfalseに設定して、アップグレード・モードでローカルのOracle Databaseインスタンスを起動します。 - インスタンスが単一インスタンスのOracle Databaseの場合は、通常モードでインスタンスを起動します。
- インスタンスがOracle RACインスタンスの場合、AutoUpgradeは、
- AutoUpgradeは、ローカルのOracle Database Oracleホーム・バイナリを新しいOracle Databaseリリース・バイナリにアップグレードします。
- アップグレード中、AutoUpgradeは、ローカルのOracle Databaseホームから
srvctl upgrade database
を実行し、Oracle RACの場合はOracle RACサービスの構成を新しいリリースにアップグレードします。パッチ操作中、AutoUpgradeは、srvctl upgrade database
のかわりにsrvctl modify database
を実行します。 - AutoUpgradeは、
srvctl enable database
を使用して、データベースのOracle Grid Infrastructureサービスを有効にします。Oracle RACインスタンスの場合、CLUSTER_DATABASE
をtrueに変更します。 - AutoUpgradeは、更新されたパラメータと、リリース・アップグレードの影響を受けない環境に対して以前に設定したパラメータ・オプションを使用して、サーバー・パラメータ・ファイル(
SPFILE
)を再作成します。 - Oracle DatabaseがOracle RACデータベースのインスタンスである場合、AutoUpgradeは、Oracle RACデータベースのすべてのインスタンスがアップグレードされるまで、このプロセスを相互にクラスタ・メンバー・ノードで繰り返します。
- AutoUpgradeは、Oracle Databaseを起動します。Oracle RACの場合は、クラスタ上のOracle Real Application Clustersのすべてのインスタンスを起動します。
パッチ操作中もプロセスは同様ですが、次の違いがあります:
- AutoUpgradeは、データベース、またはOracle RACデータベースのすべてのインスタンスを停止します。
- AutoUpgradeは、Oracle RACおよびOracle RAC One Nodeの各サービスを無効にします。
- Oracle ClusterwareリソースがOracle RACの場合、AutoUpgradeは、Oracle Clusterware内のOracle RACデータベース・リソースを無効にします。
- 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のすべてのインスタンスを起動します。
- インスタンスがOracle RACインスタンスの場合、AutoUpgradeは、
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構成を検出し、プライマリ・データベース用に構成されたスタンバイ・データベースへのログの送信を遅延させることができます。 - Oracle Data GuardのアップグレードのためにAutoUpgradeで実行されるステップ
AutoUpgradeで実行されるステップは、スタンバイ・データベースが手動で管理されているか、Data Guard Brokerを使用して管理されているかによって異なります。 - プライマリ・データベースのアップグレード後のステップ
Oracle Data Guardのアップグレードでは、プライマリ・データベースをアップグレードした後に、次の手順を実行する必要があります。
AutoUpgradeによるOracle Data Guardのアップグレードの実行方法
AutoUpgradeは、Oracle Data Guard構成を検出し、プライマリ・データベース用に構成されたスタンバイ・データベースへのログの送信を遅延させることができます。
AutoUpgradeでは、Oracle Data Guardデプロイメントの有無と、そのデプロイメントが手動で構成されているのか、Data Guard Brokerを使用してOracle Data Guard構成を管理およびモニターしているのかが自動的に検出されます。
構成ファイルでパラメータdefer_standby_log_shipping
をno
(デフォルト)に設定すると、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を実行することをお薦めします。高速デプロイ方法を使用する場合は、アップグレード前の分析モードでAutoUpgradeを実行した後、かつアップグレード・モードでAutoUpgradeを実行する前の期間中に新しい問題が発生する可能性があるというリスクがわずかにあることに注意してください。これが問題を引き起こす可能性があります。そのリスクを評価し、それに応じて予防措置を講じてください。-
AutoUpgrade構成ファイルを作成し、ソース・システムおよびターゲット・システムに関する情報とアップグレード・プリファレンスを指定します。次の各ステップでは、そのファイル名は
myconfig.cfg
です。 -
分析モードを使用してデータベースを分析します。
– java -jar autoupgrade.jar -config myconfig.cfg -mode analyze
-
修正モードを使用してアップグレード前の修正を実行します。
– java -jar autoupgrade.jar -config myconfig.cfg -mode fixups
-
アップグレード・モードを使用してデータベースをアップグレードします。
– 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にアップグレードされます。
- 最新バージョンのAutoUpgradeがあることを確認します。
$ java -jar autoupgrade.jar -version
AutoUpgradeバージョンが以前のリリースの場合は、My Oracle Support AutoUpgradeツール(ドキュメントID 2485457.1)から最新バージョンのAutoUpgradeをダウンロードします
- 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キーストアが作成されます。
- 分析モードで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]
-
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のパスワードをロードすることのみです。
-
TDEパスワードをAutoUpgradeキーストアに保存します。(オプション): この例では、キーストアを自動ログイン・キーストアに変換します。
TDE> save Convert the keystore to auto-login [YES|NO] ? YES TDE> exit
-
PDBを再度分析します。
$ java -jar autoupgrade.jar -config PDB1.cfg -mode analyze
レポートをレビューし、すべての問題が解決されたことを確認します。
- アップグレードおよび変換を開始します。
$ java -jar autoupgrade.jar -config PDB1.cfg -mode deploy
- AutoUpgradeは、アップグレードを完了するために必要に応じてTDEパスワードを使用して、ターゲットOracle Databaseで
PDB1
のアップグレードを開始します。この例では、AutoUpgrade自動ログイン・キーストアを作成し、独自のセキュア・キーストアを使用してTDEパスワードにアクセスするようにAutoUpgradeを構成したため、アップグレード中にTDEパスワードの指定を求められることはありません。
暗号化されたPDBの非CDBからPDBへの変換を実行する方法
AutoUpgrade 22.1以降の更新では、AutoUpgradeにより、Transparent Data Encryption (TDE)を使用するOracle Databaseのアップグレードおよび変換が簡略化されます。
keystore
およびAutoUpgradeコマンドライン・パラメータload_password
を使用して、TDEパスワードを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に変換されます。
- 最新バージョンのAutoUpgradeがあることを確認します。
$ java -jar autoupgrade.jar -version
AutoUpgradeバージョンが以前のリリースの場合は、My Oracle Support AutoUpgradeツール(ドキュメントID 2485457.1)から最新バージョンのAutoUpgradeをダウンロードします
- 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
- 分析モードで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:
- 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 DatabaseCDB2
でのパスワード・ストレージ・アクセスをチェックしたことをレポートし、パスワードが機能していることを確認しています。パスワードをチェックする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のパスワードをロードすることのみです。
- アップグレードおよび変換を開始します。
$ java -jar autoupgrade.jar -config DB12.cfg -mode deploy
- AutoUpgradeは、アップグレードを完了するために必要に応じてTDEパスワードを使用して、ソースの非CDB Oracle DatabaseのアップグレードおよびターゲットOracle DatabaseのPDBへの変換を開始します。
注意:
他のOracle Databaseキーストアと同様に、AutoUpgradeキーストア・ファイルを保護します。
- 制限されたファイル・システム権限の適用
- アクセスの監査
- キーストアのバックアップ