AutoUpgrade構成ファイルの例
次の例を使用して、アップグレード時に様々な構成アクションを実行するために独自のAutoUpgrade構成ファイルを変更する方法を理解します。
- AutoUpgradeの構成ファイルの作成
AutoUpgradeを使用してアップグレードを完了するには、まず、新しいリリースのOracleホームからAutoUpgradeで構成ファイルを作成します。 - AutoUpgradeを使用したアップグレード時のTDEウォレット・ストアの場所の更新
AutoUpgrade構成ファイルのパラメータを使用して、アップグレード時に透過的データ暗号化(TDE)ウォレット・ストアを更新する方法について説明します。 - 2つのデータベース・エントリを持つAutoUpgrade構成ファイル
構成ファイルで複数のデータベースのアップグレード・オプションを指定する方法について説明します。 - AutoUpgrade構成ファイル・エントリを使用したアップグレードの標準化
AutoUpgradeを使用してアップグレード時にデータベース構成の標準化を強制する方法について説明します。 - 一連のPDBの増分アップグレード用のAutoUpgrade構成ファイル
ソースCDBの他のPDBに影響を与えることなく、AutoUpgradeを使用してPDBのサブセットを選択的にアップグレードする方法について説明します。 - ターゲットCDBにあるPDBをアップグレードするためのAutoUpgrade構成ファイル
新しいリリースのCDBにある以前のリリースのPDBのアップグレードを指定する方法を確認します。 - スクリプト・ジョブまたはバッチ・ジョブでのAutoUpgradeの実行方法
noconsole
パラメータを使用してAutoUpgradeを呼び出し、非対話型モードで独自のスクリプトでAutoUpgradeを実行する方法について学習します。 - AutoUpgradeによる切断/接続再配置アップグレード
切断/接続再配置機能(ホット・クローニング・アップグレードとも呼ばれる)を使用して、アップグレード前に特定の期間にリフレッシュ可能なPDBを作成する方法を確認します。 - AutoUpgrade構成ファイルを使用した修正およびチェックの無視
データベースのチェックおよび修正ステップ全体をスキップするには、修正チェックリスト・ファイルから修正のrunfix
フラグを読み取り、その修正のフラグをYES
からSKIP
に設定するようにAutoUpgradeに指示します。 - AutoUpgradeを使用したカスタム・スクリプトの実行
デプロイ・プロセスの一環としてAutoUpgradeを使用して独自のスクリプトを実行する方法について学習します。
AutoUpgradeの構成ファイルの作成
AutoUpgradeを使用してアップグレードを完了するには、まず、新しいリリースのOracleホームからAutoUpgradeで構成ファイルを作成します。
sample_config_file
を使用してAutoUpgradeユーティリティが実行されます。このパラメータは、AutoUpgradeを実行しているユーザーのホームで構成ファイルを生成します。このファイルを編集すると、アップグレードの環境パスと設定およびアップグレード・プリファレンスを提供できます。構成ファイル(config
)を生成するには、sample_config_file
パラメータを使用して新しいリリースのOracle DatabaseホームからAutoUpgradeを実行し、出力ファイル名を指定します。
ノート:
AutoUpgradeは定期的に更新されます。その他の例、および新規コマンドライン・パラメータやオプション、新規または拡張構成ファイルのパラメータなど、最新のAutoUpgradeリリースの詳細は、アップグレードするリリースの『Oracle Databaseアップグレード・ガイド』を参照してください。My Oracle Supportノート「AutoUpgradeツール(ドキュメントID 2485457.1)」も参照してください。このノートには、最新のAutoUpgradeの更新に関する情報が含まれています。この例では、ユーザーoracle
が以前のリリースのOracleホームの場所に移動します。この例ではOracle Database 19cです。
cd /u01/app/oracle/product/19.0.0/
次に、OracleユーザーがOracle Database 23cのOracleホームからAutoUpgradeを起動し、ユーザー・ホーム・ディレクトリ/home/oracle
に構成ファイルを作成します。
java -jar /u01/app/oracle/product/23/rdbms/admin/autoupgrade.jar -create_sample_file config
Created sample configuration file /home/oracle/sample_config.cfg
構成ファイルを作成したら、優先テキスト・エディタでファイルを開き、環境に必要なパラメータ設定を変更します。
cd /
vi sample_config.cfg
AutoUpgradeを使用したアップグレード時のTDEウォレット・ストアの場所の更新
AutoUpgrade構成ファイルのパラメータを使用して、アップグレード時に透過的データ暗号化(TDE)ウォレット・ストアを更新する方法について説明します。
以前のリリースでは、Oracle WalletをTDEとともに使用した場合、非推奨のsqlnet.ora
のパラメータSQLNET.ENCRYPTION_WALLET_LOCATION
を使用して、既存のキーストア・ディレクトリの場所を指定していました。Oracle Database 19c以降のリリースでは、データベース初期化パラメータ・ファイル(PFILE
)のWALLET_ROOT
システム・パラメータを使用してキーストアの場所を指定する必要があります。実行する必要がある操作は、ソースのOracle Databaseリリースの構成方法によって異なります。
-
ソースのOracle Databaseリリースで
WALLET_ROOT
がすでに設定されている場合、AutoUpgradeによって生成されるパラメータ・ファイルでは、アップグレード時にソース・データベースからWALLET_ROOT
システム・パラメータを自動的に取得し、そのパラメータをターゲット・データベースのパラメータ・ファイルで使用します。 -
ソースのOracle Databaseリリースで初期化パラメータ
WALLET_ROOT
が設定されていない場合は、アップグレード時にAutoUpgradeを使用してそのタスクを完了できます。
- 使用するディレクトリの
WALLET_ROOT
初期化パラメータ値を使用してオペレーティング・システムにテキスト・ファイルを作成し、必要なキーストアのタイプを作成するための構成オプションをTDE_CONFIGURATION
動的初期化パラメータに指定します。たとえば、透過的データ暗号化ソフトウェア・キーストアにFILE
を使用するようにTDE_CONFIGURATION
を構成すると、Oracle DatabaseによってWALLET_ROOT/tde
(小文字)にソフトウェア・キーストアが作成されます。 - AutoUpgrade構成ファイルで、AutoUpgrade構成ファイルのパラメータ
add_during_upgrade_pfile
およびadd_after_upgrade_pfile
を使用して、オペレーティング・システムのそのファイルを参照し、アップグレード時にWALLET_ROOT
およびTDE_CONFIGURATION
を設定します。
たとえば、WALLET_ROOT
でパス/u01/app/oracle/admin/hr/wallet
を使用し、透過的データ暗号化でソフトウェア・キーストアをWALLET_ROOT/tde
に格納する場合、次の行が含まれるtde-upgrade
というテキスト・ファイルを作成できます。
WALLET_ROOT=/u01/app/oracle/admin/hr/wallet
tde_configuration="KEYSTORE_CONFIGURATION=FILE"
その後、AutoUpgradeでこれらのパラメータをAutoUpgrade構成ファイルに設定するように指定できます。たとえば、アップグレード中およびアップグレード後に透過的データ暗号化キーストアを設定するには、AutoUpgrade操作の一環として、ローカル構成ファイルに次の行を追加してそのテキスト・ファイルを呼び出します。
#
# Example local pfile configuration entries
upg1.add_after_upgrade_pfile=/usr/home/oracle/tde-upgrade
upg1.add_during_upgrade_pfile=/usr/home/oracle/tde-upgrade
関連項目
親トピック: AutoUpgrade構成ファイルの例
2つのデータベース・エントリを持つAutoUpgrade構成ファイル
構成ファイルで複数のデータベースのアップグレード・オプションを指定する方法について説明します。
この例は、2つのデータベースのアップグレードを指定するAutoUpgrade構成ファイルです。構成ファイルは、AutoUpgradeが次のアクションを実行することを指定します。
データベース1
- Oracle Database 12cリリース2 (12.2) CDBのインプレース・データベース・アップグレード。ソースおよびターゲットのOracleホームは、同じシステム識別子(sid=HR1)を持つ同じサーバー・ハードウェア上の同じOracleベース・ディレクトリ(Oracle Databaseインストール所有者
oracle
(/u01/app/oracle/
)のデータベース・ホーム・ディレクトリ)を使用します。 - アップグレード中に、CDBのすべてのPDBがアップグレードされます(
pdbs=*
) - アップグレードはただちに開始されます(
start_time=now
)。 - データベース・アップグレード・ログは、パス
/database/logs/hr
(log_dir=/database/logs/hr
)に送信されます。 - タイムゾーンのアップグレードは、すべてのコンテナで実行されます(
timezone_upg=yes
)
データベース2
- Oracle Database 18c CDBのインプレース・データベース・アップグレード。ソースおよびターゲットのOracleホームは、同じOracleベース・ディレクトリ(同じシステム識別子(
sid=SALES1
)を持つ同じサーバー・ハードウェア上のOracle Databaseインストール所有者oracle
(/u01/app/oracle/
)のデータベース・ホーム・ディレクトリ)を使用します。 - アップグレードはただちに開始されます(
start_time=now
)。 - データベース・アップグレード・ログは、パス
/database/logs/sales
(log_dir=/database/logs/sales
)に送信されます。 - タイムゾーンのアップグレードは、コンテナ(
timezone_upg=no
)では実行されません。
両方のデータベースの場合:
- パラメータ
upgrade_node
では、ホスト名に割り当てられた別名ではなく、実際のシステム・ホスト名(nodename-1
)を指定します。(キーワードlocalhost
を使用して、現在のシステムを参照することもできます。) - グローバルAutoUpgradeログ・ファイル(ジョブ・マネージャ・ログとも呼ばれる)は、パス
/database/jobmgr
(autoupg_log_dir=/database/jobmgr
)の下に配置されます。
#
# Global logging directory pertains to all jobs
#
global.autoupg_log_dir=/database/jobmgr
#
# Database 1
#
upg1.source_home=/u01/app/oracle/product/12.2.0.2/dbhome_1
upg1.target_home=/u01/app/oracle/product/19.0.0/dbhome_1
upg1.sid=HR1
upg1.start_time=now
upg1.pdbs=*
upg1.log_dir=/database/logs/hr
upg1.upgrade_node=nodename1
upg1.run_utlrp=yes
upg1.timezone_upg=yes
upg1.target_version=21
#
# Database 2
#
upg2.source_home=/u01/app/oracle/product/18.0.0/dbhome_1
upg2.target_home=/u01/app/oracle/product/19.0.0/dbhome_1
upg2.sid=SALES1
upg2.start_time=now
upg2.log_dir=/database/logs/sales
upg2.upgrade_node=nodename1
upg2.timezone_upg=no
upg2.target_version=21
Oracle Databaseアップグレードおよび移行のYouTubeチャネルで、Mike Dietrichによって示されている、同様のアップグレード・シナリオOracle Database AutoUpgrade 19c - Upgrading 2 databases in parallel (11:57)を参照できます。
AutoUpgrade構成ファイル・エントリを使用したアップグレードの標準化
AutoUpgradeを使用してアップグレード時にデータベース構成の標準化を強制する方法について説明します。
次の構成ファイルでは、AutoUpgrade構成ファイル・エントリを使用してデータベース構成を標準化する方法を確認できます。グローバルPFILE
エントリは、構成ファイル内のすべてのデータベースに適用されます。ローカルPFILE
エントリは、構成ファイルの特定のデータベースにのみ適用されます。これらのPFILE
値の構文は、PFILE
構成と同じOracleルールに従います。
#
# Example global pfile configuration entries
#
global.del_during_upgrade_pfile=/database/pfiles/global_during_delinit.ora
global.add_during_upgrade_pfile=/database/pfiles/global_during_addinit.ora
global.del_after_upgrade_pfile=/database/pfiles/global_after_delinit.ora
global.add_after_upgrade_pfile=/database/pfiles/global_after_addinit.ora
#
# Example local pfile configuration entries
#
upg1.del_during_upgrade_pfile=/database/pfiles/hr_during_delinit.ora
upg1.add_during_upgrade_pfile=/database/pfiles/hr_during_addinit.ora
upg1.del_after_upgrade_pfile=/database/pfiles/hr_after_delinit.ora
upg1.add_after_upgrade_pfile=/database/pfiles/hr_after_addinit.ora
AutoUpgradeプロセス時に、ファイルduring_upgrade_pfile_dbname.ora
およびafter_upgrade_pfile_dbname.ora
の両方が作成されます。これらのファイルは、アップグレード時およびアップグレード後にデータベースを起動する際に使用されます。アップグレード時またはアップグレード後にシステム・パラメータを変更する場合は、両方のファイルを変更できます。
最初にグローバルのPFILE
エントリが適用され、次にジョブ接頭辞upgl
で指定されるローカルのPFILE
エントリが適用されます。これら2つの構成ファイル内で、パラメータdel_upgrade_pfile
のエントリが最初に適用され、その後にパラメータadd_upgrade_pfile
のエントリが続きます。これらのPFILE
構成エントリのパラメータは、PFILE
のターゲットに応じてPFILE
during_upgrade_pfile_dbname.ora
またはPFILE
after_upgrade_pfile_dbname.ora
のいずれかに直接適用されます。
処置:
del_during_upgrade_pfile
during_upgrade_pfile_dbname.ora
からエントリを削除しますadd_during_upgrade_pfile
during_upgrade_pfile_dbname.ora
にエントリを追加します。del_after_upgrade_pfile
after_upgrade_pfile_dbname.ora
からエントリを削除しますadd_after_upgrade_pfile
after_upgrade_pfile_dbname.ora.
にエントリを追加します。
パラメータdel_during_upgrade_pfile
およびdel_after_upgrade_pfile
によって参照されるファイルには、各行に1つのデータベース・パラメータがあります。行全体がパラメータ名の一部であるため、パラメータに接頭辞を追加できません。次に例を示します。
#
# global.del_during_upgrade_pfile
#
processes
*.open_cursors
この構成設定の結果、構成ファイルに示されている各データベースのPFILE
からprocesses
パラメータへのすべての参照が削除されますが、open_cursors
パラメータへの参照は削除されません。接頭辞を持つopen_cursors
のインスタンスのみが削除されます。ただし、PFILE
から削除されるパラメータには、接頭辞が付いたすべてのパラメータが含まれています。たとえば、*.processes
およびinstance_name.processes
は、この構文を使用して両方とも削除されます。
パラメータadd_during_upgrade_pfile
およびadd_after_upgrade_pfile
によって参照されるファイルには、書式parameter=value
で各行に1つのパラメータが示されます。PFILE
からエントリを削除する場合は、値フィールドを空のままにできます。パラメータの先頭に*.
またはinstancename.
がある場合、それらの参照は、変更されたPFILE
には追加されません。既存のパラメータの値を更新するには、最初にそのパラメータを削除する必要があります。その後、必要な値のパラメータを追加できます。次に例を示します。
#
# global.add_during_upgrade_pfile
#
processes=400
*.open_cursors=250
このグローバル構成ファイル・エントリにより、構成ファイルにリストされた各データベースのPFILE
に次のエントリが追加されます。
processes=400
open_cursors=250
パラメータafter_upgrade_pfile_dbname
は、アップグレード後のプロセスでデータベースSPFILE
を作成するために使用されます。
親トピック: AutoUpgrade構成ファイルの例
一連のPDBの増分アップグレード用のAutoUpgrade構成ファイル
ソースCDBの他のPDBに影響を与えることなく、AutoUpgradeを使用してPDBのサブセットを選択的にアップグレードする方法について説明します。
このシナリオでは、ソースCDB内の他のPDBをアップグレードせずに2つの特定のPDBをアップグレードします。増分アップグレードを実行するには、指定したPDBを以前のリリースのCDBから切断してターゲット・リリースのCDBに接続した後、ターゲットCDB上の以前のリリースのPDBをアップグレードするように、構成ファイルでAutoUpgradeに指示します。切断、接続およびアップグレードするPDBをこのように選択すると、以前のリリースのCDBでPDBの増分アップグレードを実行してダウンタイムを短縮することができます。
次の構成ファイルでは、CDB CDB122
をソースCDBとして識別します。ソースCDBには10のPDB (PDB1
からPDB10
)がありますが、アップグレードされるのはPDB1
およびPDB2
のみです。アップグレード時に、PDB2
というPDBの名前がDEPSALES
に変更され、PDB2
のデータベース・ファイル名がDEPSALES
に変更されます。
global.autoupg_log_dir=/home/oracle/autoupg
upg1.sid=CDB122
upg1.source_home=/u03/app/oracle/product/12.2.0/dbhome_1
upg1.target_home=/u01/app/oracle/product/19.0.0/dbhome_1
upg1.target_cdb=CDB19C
upg1.pdbs=PDB2, PDB1
upg1.target_pdb_name.PDB2=DEPSALES
upg1.target_pdb_name.PDB1=EMPLOYEES
upg1.target_pdb_copy_option.PDB2=file_name_convert=('PDB2','DEPSALES')
この構成ファイルでは、次の操作をAutoUpgradeに指示します。
- ホーム
/u03/app/oracle/product/12.2.0/dbhome_1
のソースOracle DatabaseCDB122
からPDBを選択します - PDB
PDB2
およびPDB1
をターゲットのOracle Database 19c Oracleホーム/u01/app/oracle/product/19.0.0/dbhome_1
にアップグレードします PDB2
の名前をDEPSALES
に変更し、新しいファイル名DEPSALES
を使用してPDB2
のファイルをコピーします。PDB1
の名前をEMPLOYEES
に変更します。
親トピック: AutoUpgrade構成ファイルの例
ターゲットCDBにあるPDBをアップグレードするためのAutoUpgrade構成ファイル
新しいリリースのCDBにある以前のリリースのPDBのアップグレードを指定する方法を確認します。
このシナリオでは、CDBおよびPDBの以前のアップグレードで除外された特定のPDB、または手動の非CDBからPDBへの操作または切断/接続操作によってCDBに追加されたPDBをアップグレードします。PDBは以前のリリース・バージョンです。
構成ファイルにはDatabase 1セクションがあります。ここで、CDBデータベースをCDB19X
(既存のPDBがPDB1
およびPDB2
であるCDB)として識別します。このシナリオでは、CDB19Xには10個のPDB (PDB1からPDB10)がありますが、PDB1およびPDB2は以前のアップグレード手順から除外されています。CDB19XおよびPDB 3からPDB 10はすべて新しいリリースにアップグレードされますが、PDB1およびPDB2は以前のリリースのままです。AutoUpgradeを実行して、以前のリリースの残りの2つのPDBをアップグレードし、ターゲット・アップグレードPDB PDB1
およびPDB2
がCDB19X
(upg1.sid=CDB19X
)にあり、アップグレードはupg.start_time=now
ですぐに開始するように指定します。
ノート:
開始する前に、PDB1とびPDB2のPDBがアップグレード・モードになっている必要があります。構成ファイル(config.cfg
)を更新します:
#
# Global logging directory pertains to all jobs
#
global.autoupg_log_dir=/home/oracle/autoupg
#
# Database 1
#
upg1.sid=CDB19X
upg1.start_time=now
upg1.target_home=/u01/app/oracle/product/19.0.0/dbhome_1
upg1.pdbs= PDB1,PDB2
AutoUpgradeを使用してアップグレードを開始します:
java -jar autoupgrade.jar -config config.cfg -mode upgrade
親トピック: AutoUpgrade構成ファイルの例
スクリプト・ジョブまたはバッチ・ジョブでのAutoUpgradeの実行方法
noconsole
パラメータを使用してAutoUpgradeを呼び出し、非対話型モードで独自のスクリプトでAutoUpgradeを実行する方法について学習します。
デフォルトでは、AutoUpgradeはコンソール・モードで実行されるため、システムでAutoUpgradeジョブを実行しているときに、これらのジョブの特定の側面を監視するコマンドを実行できます。
ノート:
特定の構成ファイルに関連付けられているAutoUpgradeインスタンスは、一度に1つのみ実行できます。
例3-11
この例では、構成ファイルautoupgrade.cfg
で指定された設定を使用し、noconsole
パラメータを使用してコンソールをオフにして、AutoUpgradeをデプロイ・モードで実行します。
java -jar autoupgrade.jar -config autoupgrade.cfg -mode deploy -noconsole
noconsole
モードを使用すると、ユーザー入力の要件がなくなるため、このコマンドをスクリプトに入力すると、構成ファイルで指定したアップグレードを実行できます。
親トピック: AutoUpgrade構成ファイルの例
AutoUpgradeによる切断/接続再配置アップグレード
切断/接続再配置機能(ホット・クローニング・アップグレードとも呼ばれる)を使用して、アップグレード前に、特定の期間にリフレッシュ可能なPDBを作成する方法を確認します。
切断/接続再配置アップグレードを、他のPDBまたは非CDBデータベースからクローンを作成する方法として使用できます。ソース・データベースが非CDBである場合、AutoUpgradeはアップグレード処理の一環として非CDBをアップグレードし、変換します。この機能は、ソース・リリースとしてOracle Database 12cリリース1 (12.1.0.2)以降のリリースと互換性があります。AutoUgradeバージョン22.5以降、AutoUpgradeは、少なくともOracle Database 12cリリース1 (12.1.0.2)のソースを使用した切断/再配置操作をサポートしています。12.1.0.2ソースが使用されている場合、デプロイ操作ではソースを読取り専用モードにし、ターゲットCDBをローカルUNDOモードにしないようにする必要があります。source_dblink parameter
を指定する場合、CLONE_ONLY
オプションも必要です。Oracle Databaseリリース11g (11.2)は、AutoUpgradeホット・クローニング機能のソース・バージョンとして互換性がありません。
切断/接続再配置アップグレード方法を使用するには、次の構成を完了する必要があります。
- クローニングするデータベースに、
CREATE SESSION
、CREATE PLUGGABLE DATABASE
、SELECT_CATALOG_ROLE
およびGRANT READ ON sys.enc$
権限が付与されているユーザーが存在する必要があります。 - PDBを再配置するCDBで、クローニングするデータベースを指すCDBにデータベース・リンク(
@dblink
)を作成する必要があります。 - ターゲットCDBは、ソース・データベースが構成されているすべてのコンポーネントを構成しておく必要があります。そうしないと、アップグレード・プロセスは失敗します。
AutoUpgrade構成ファイルに入力する必要があるため、データベース・リンクをメモします。
次の例では、非CDBとPDBの両方について、プロセス内の各ステップを実行します。次のシナリオは、2つのホストで構成されます。
db-node1:
ステップ1が実行されるソース・データベースのホストの場所。db-node2
: ステップ2が実行されるターゲット・データベースのホストの場所。
ノート:
この例では2つの別々のホストを使用しますが、この手順は単一のホストで実行することもできます。-
CREATE SESSION
、CREATE PLUGGABLE DATABASE
およびSELECT_CATALOG_ROLE
権限を、クローニングするデータベース上でユーザーに付与します。また、SYSで、ユーザーにGRANT READ ON sys.enc$
も付与します。この例では、ユーザーclone
がこれらの権限を使用して作成されます-
非CDB:
alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=db-node1)(PORT=1521))'; ALTER SYSTEM REGISTER; CREATE USER clone IDENTIFIED BY some-password; GRANT CREATE SESSION, CREATE PLUGGABLE DATABASE, SELECT_CATALOG_ROLE TO clone; GRANT READ ON sys.enc$ TO user;
-
PDB:
alter system set local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=db-node1)(PORT=1521))'; ALTER SYSTEM REGISTER; CREATE USER c##clone IDENTIFIED BY some-password CONTAINER=ALL; GRANT CREATE SESSION, CREATE PLUGGABLE DATABASE, SELECT_CATALOG_ROLE TO c##clone CONTAINER=ALL; GRANT READ ON sys.enc$ TO c##clone CONTAINER=ALL;
PDBでは、特定のPDB名を指定して、ユーザーを作成する範囲をCDB上の単一のPDBに制限することもできます。たとえば:CREATE USER c##clone IDENTIFIED BY some-password CONTAINER=PDBX;
-
-
クローニングするソース・システム上のソース・データベースを指すデータベース・リンクを作成して、PDBのクローニング先のCDBを構成します。
次の例では、データベース・リンクがソース・データベース
db18x
を指しています。-
非CDB
次の例では、データベース・リンクがソース・データベース
db18x
を指しています。CREATE DATABASE LINK db18x_link CONNECT TO clone IDENTIFIED BY some-password USING'(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = db-node1)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = db18x)))';
-
PDB
次の例では、データベース・リンクはCDB
cdb18x
のソースPDBpdbx
を指しています。CREATE DATABASE LINK pdbxcdb18x_link CONNECT TO c##clone IDENTIFIED BY some-password USING'(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = db-node1) (PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = pdbx)))';
-
-
AutoUpgrade構成ファイルを、クローニングするデータベースの識別に必要な情報で更新します。
クローニングする各データベースは、ファイル名を変換するためにAutoUpgradeローカル・パラメータ
target_pdb_copy_option
を設定する必要があります。ノート:
ターゲットCDBで、パラメータDB_CREATE_FILE_DEST
またはPDB_FILE_NAME_CONVERT
を設定し、ターゲットCDBでこれらのパラメータを有効にする場合は、値prefix.target_pdb_copy_option=file_name_convert=NONE
を設定します。ただし、構成ファイルまたはターゲットCDBのいずれかでファイル名とパスを指定しないと、アップグレードは失敗します。各データベースのローカル・パラメータの接頭辞を使用すると、同じ構成ファイルで非CDBおよびPDBのアップグレードを組み合せて、非CDBとPDBの両方を同じターゲットCDBに再配置できます。次に、非CDBデータベース
db18x
がアップグレード用に構成され、PDBpdbx
もアップグレード用に構成される構成ファイルの関連部分の例を示します。この場合、db18x
のファイル名は、先頭に付加される名前をDB18x
からdb18x
に変更するように設定します。ファイル名は次のようになります。upg1.sid=db18x upg1.source_home=/source/18x upg1.target_home=/target/19x upg1.target_cdb=cdb19x upg2.sid=cdb18x upg2.pdbs=pdbx upg2.target_cdb=cdb19x upg2.source_home=/source/18x upg2.target_home=/target/19x
各データベースには
target_pdb_copy_option
が設定されています。たとえば、非CDBファイル名は、先頭に付加される文字列がDB18X
からdb18x
に変換されます。upg1.target_pdb_copy_option.db18x=file_name_convert=('DB18X', 'db18x')
各データベースでは、ローカル・パラメータ
source_dblink
をターゲットCDBで作成したデータベース・リンクに設定する必要があります。upg1.source_dblink.db18x=db18x_link
一貫性を向上させるために、ローカル・パラメータ
start_time
をsource_dblink
と組み合せてオプションのリフレッシュ率(秒)とともに使用し、データのリフレッシュ率を設定し、ジョブの開始時間をスケジュールすることもできます。次の結合したパラメータはAutoUpgradeを開始しますが、アップグレードのデプロイメントに対してAutoUpgradeの開始時から1時間40分の遅延を設定し、ソース・データベース・ファイルからターゲット・データベース・ファイルへのリフレッシュ率を20秒ごととして設定します。upg1.source_dblink.db18x=db18x_link 20 upg1.start_time=+1h40m
source_dblink
にリフレッシュ率を設定しない場合、クローニングされたデータベースのデータベース・ファイルは、リフレッシュなしで1回のみクローニングされます。start_time
が設定されていない(アップグレードの処理に遅延がない)場合、source_dblink
リフレッシュ率値は無視されます。 -
切断/接続再配置デプロイメントを開始し、このタスク用に作成した構成ファイルを指定します。
java -jar autoupgrade.jar -config config.cfg -mode deploy
例3-12 データ・ファイルに対してリフレッシュ率を使用しない非CDBおよびPDBの切断/接続再配置の構成ファイル
global.autoupg_log_dir=/home/oracle/xupg
#database1
upg1.sid=cdb18x
upg1.target_cdb=cdb19x
upg1.source_home=/databases/ee/product/18x/dbhome_1
upg1.target_home=/databases/ee/product/19x/dbhome_1
upg1.pdbs=pdbx
upg1.target_pdb_name.pdbx=pdbxr
upg1.target_pdb_copy_option.pdbx=file_name_convert=('pdbx', 'pdbxr')
upg1.source_dblink.pdbx=pdbxcdb18x_link
#database2
upg2.sid=db18x
upg2.target_cdb=cdb19x
upg2.source_home=/databases/ee/product/18x/dbhome_1
upg2.target_home=/databases/ee/product/19x/dbhome_1
upg2.target_pdb_copy_option.db18x=file_name_convert=('DB18X', 'db18x')
upg2.source_dblink.db18x=db18x_link
upg2.target_pdb_name.db18x=db18x
例3-13 データ・ファイルに対してデプロイメント遅延およびリフレッシュ率を使用した非CDBおよびPDBの切断/接続再配置の構成ファイル
global.autoupg_log_dir=/home/oracle/xupg
#database1
upg1.sid=cdb18x
upg1.target_cdb=cdb19x
upg1.source_home=/databases/ee/product/18x/dbhome_1
upg1.target_home=/databases/ee/product/19x/dbhome_1
upg1.pdbs=pdbx
upg1.target_pdb_name.pdbx=pdbxr
upg1.target_pdb_copy_option.pdbx=file_name_convert=('pdbx', 'pdbxr')
upg1.source_dblink.pdbx=pdbxcdb18x_link 600
upg1.start_time=+3h
#database2
upg2.sid=db18x
upg2.target_cdb=cdb19x
upg2.source_home=/databases/ee/product/18x/dbhome_1
upg2.target_home=/databases/ee/product/19x/dbhome_1
upg2.target_pdb_copy_option.db18x=file_name_convert=('DB18X', 'db18x')
upg2.source_dblink.db18x=db18x_link 900
upg2.target_pdb_name.db18x=db18x
upg2.start_time=+3h30m
例3-14 PDBの切断/接続再配置のための単純な構成ファイル
global.autoupg_log_dir=/home/oracle/xupg #database1
upg1.sid=cdb18x
upg1.target_cdb=cdb19x
upg1.source_home=/databases/ee/product/18x/dbhome_1
upg1.target_home=/databases/ee/product/19x/dbhome_1
upg1.pdbs=pdbx
upg1.target_pdb_copy_option.pdbx=file_name_convert=('pdbx', 'pdbxr')
upg1.source_dblink.pdbx=pdbxcdb18x_link
AutoUpgrade構成ファイルを使用した修正およびチェックの無視
データベースのチェックおよび修正ステップ全体をスキップするには、修正チェックリスト・ファイルから修正のrunfix
フラグを読み取り、その修正のフラグをYES
からSKIP
に設定するようにAutoUpgradeに指示します。
AutoUpgradeがアップグレード用に自動的に実行する修正のデフォルト・リストをオーバーライドするには、ローカル構成ファイル・パラメータchecklist
を使用して、AutoUpgradeに修正ステップの既存のチェックリストをロードします。ローカル・パラメータで指定するチェックリストでは、次のように事前チェック修正を設定できます。
YES
(デフォルト): チェックを実行し、修正も実行しますNO
: チェックを実行しますが、修正は実行しません。_SKIP
: チェックを実行せず、修正も実行しません。
構成ファイルでは、ローカル・パラメータchecklistを使用して、AutoUpgradeに既存のチェックリスト・ファイルを指定します。
global.autoupg_log_dir=/home/oracle/autoupg
upg1.sid=db12204
upg1.source_home=/databases/ee/product/12.2.0/dbhome_1
upg1.target_home=/databases/ee/product/21.1.0/dbhome_1
upg1.checklist=/home/oracle/autoupg/db12204/100/prechecks/db11204_checklist.cfg
修正チェックリスト・ファイルで、DICTIONARY_STATS
修正のrunfix
フラグは、このステップをスキップするように設定されています。
[SID] [db21.1.0]
==========================================
[container] [db21.1.0]
==========================================
[checkname] EXISTENCE_OF_DATAPUMP_AQ_TABLES
[stage] PRECHECKS
[fixup_available] YES
[runfix] YES
[severity] WARNING
----------------------------------------------------
[checkname] DICTIONARY_STATS
[stage] PRECHECKS
[fixup_available] YES
[runfix] _SKIP
[severity] RECOMMEND
----------------------------------------------------
親トピック: AutoUpgrade構成ファイルの例
AutoUpgradeを使用したカスタム・スクリプトの実行
デプロイ・プロセスの一環としてAutoUpgradeを使用して独自のスクリプトを実行する方法について学習します。
4つのパラメータを構成ファイルに構成すると、カスタム・スクリプトを実行できます。
-
before_action
データベースが稼働しているときにアップグレード前のステージで、データベースをアップグレードする前に、ソースOracleホームでカスタム・スクリプトを実行します。
-
after_action
構成ファイルで設定されたオプションに応じて、アップグレード後のステージまたはPDBアップグレードのステージで、データベースのアップグレード後にターゲットOracleホームでカスタム・スクリプトを実行します。
-
revert_before_action
データベースがリストアされる前に、ターゲットOracleホームでカスタム・スクリプトを実行します(通常はデータベースが稼働している場合)。アップグレード・プロセスの性質上、スクリプトの起動時にデータベースを停止できることに注意してください。このスクリプトを使用して、
before_action
カスタム・スクリプトによって実行されるアクションを元に戻すことができます。 -
revert_after_action
データベースがリストアされ、データベースが稼働した後に、ソースOracleホームでカスタム・スクリプトを実行します。このスクリプトを使用して、
after_action
カスタム・スクリプトによって実行されるアクションを元に戻すことができます。
これらのパラメータの詳細は、「AutoUpgradeユーティリティ構成ファイル」のパラメータの説明を参照してください。
例3-15 構成ファイルのbefore_action
およびafter_action
の使用
次の構成ファイルconfig.cfg
の例では、ローカル・パラメータbefore_action
を構成ファイルで使用して、リストア前にパス/path/to/a/
でスクリプトscript1.sh
を実行し、ローカル・パラメータafter_action
を使用して、アップグレード後にパス/path/to/a/
でスクリプトscript2.sh
を実行します。
config.cfg
の内容:global.autoupg_log_dir=/home/oracle/autoupg
upg1.sid=db12204
upg1.source_home=/databases/ee/product/12.2.0/dbhome_1
upg1.target_home=/databases/ee/product/19.0.0/dbhome_1
upg1.before_action=/path/to/a/script1.sh
upg1.after_action=/path/to/a/script2.sh
構成ファイルは、コマンドラインからAutoUpgradeによってコールされます。
java -jar autoupgrade.jar -config config.cfg -restore -jobs 100,101,...
これらのスクリプトはアップグレード前およびアップグレード後のステージで実行されるため、スクリプトの実行前または実行後に、GRPへのリストアが行われます。スクリプトは実際のGRPプロセス自体には影響せず、これにより、スクリプト・アクションがデータベースに影響を与える可能性がある場合に、再実行がより安全になります。
例3-16 構成ファイルのrevert_before_action
およびrevert_after_action
の使用
次の構成ファイルconfig.cfg
の例では、ローカル・パラメータrevert_before_action
を構成ファイルで使用して、リストア前にパス/path/to/a/
でスクリプトscript3.sh
を実行し、ローカル・パラメータrevert_after_action
を使用してアップグレード後にパス/path/to/a/
でスクリプトscript4.sh
を実行します。
global.autoupg_log_dir=/home/oracle/autoupg
upg1.sid=db12204
upg1.source_home=/databases/ee/product/12.2.0/dbhome_1
upg1.target_home=/databases/ee/product/19.0.0/dbhome_1
upg1.revert_before_action=/path/to/a/script3.sh
upg1.revert_after_action=/path/to/a/script4.sh
再度、構成ファイルを使用して、リストア・ジョブを実行するようにAutoUpgradeに指示します。
java -jar autoupgrade.jar -config config.cfg -restore -jobs 100,101,...
この場合、スクリプトはデータベースの稼働時にターゲットのOracle Databaseバイナリで実行されます。revert_before_action
によってコールされるscript3.sh
スクリプトは、データベースが稼働しているとき、GRPへのリストアを開始する前に実行され、revert_after_action
によってコールされるscript4.sh
スクリプトは、以前のリリースへのリストアが完了し、データベースが元のOracleホームで稼働した後、データベースで実行されます。
親トピック: AutoUpgrade構成ファイルの例