AutoUpgrade構成ファイルの例
次の例を使用して、アップグレード時に様々な構成アクションを実行するために独自のAutoUpgrade構成ファイルを変更する方法を理解します。
- AutoUpgradeの構成ファイルの作成
AutoUpgradeを使用してアップグレードを完了するには、まず、新しいリリースのOracleホームからAutoUpgradeで構成ファイルを作成します。 - タイムアウト後の内部設定ファイルの変更とAutoUpgradeジョブの再開
ステージが時間制限を超えた後に、内部設定ファイルを更新し、失敗または停止した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 AI Databaseの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ジョブの再開
ステージが時間制限を超えた後に、内部設定ファイルを更新し、失敗または停止したAutoUpgradeジョブを再開する方法を学習します。
以前は、ステージが(設定ファイルで定義された)時間制限を超えたためにAutoUpgradeがジョブを停止または終了した場合、構成を変更してジョブを再開することはできませんでした。現在は、内部設定ファイルのパラメータを更新して、停止したところからジョブを再開できるようになりました。また、AutoUpgradeでは、変更するパラメータを特定するメッセージが表示されます。
ステージがタイムアウトすると、次のようなメッセージが表示されます:
The job 101 DB18X was stopped because it exceeded its execution time for stage
DBUPGRADE which is 1440 minutes.
The execution time for the stage DBUPGRADE can be increased in the internal settings file.
Modify the parameter dbUpgradeAbortTimer to increase the execution time.
次のステップを使用して、設定ファイルを更新し、処理を再開できます:
-
現行ジョブを終了または停止します。
変更する前に、ジョブが完全に停止していることを確認します。
-
サンプルの設定構成ファイルを作成します。
次のコマンドを実行して、テンプレート設定ファイルを生成します:java -jar autoupgrade.jar -create_sample_file settings settings.cfg -
設定ファイルの関連パラメータを変更します。
settings.cfgを開き、AutoUpgradeエラー・メッセージに示されているパラメータの値を変更します。たとえば、
DBUPGRADEステージの時間制限を延長するには、dbUpgradeAbortTimerの値を増やします。 -
新しい設定ファイルでAutoUpgradeジョブを再開します。これを行うには、更新済の構成を使用してジョブを再度開始します。
例:
java -jar autoupgrade.jar -config settings.cfg -resume
ノート:
AutoUpgradeにより、ステージがタイムアウトした際に、調整する必要があるパラメータを特定するメッセージがログに記録されます。必ず提示されたパラメータを変更して、環境に適した制限を設定してください。親トピック: AutoUpgrade構成ファイルの例
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_pfileduring_upgrade_pfile_dbname.oraからエントリを削除しますadd_during_upgrade_pfileduring_upgrade_pfile_dbname.oraにエントリを追加します。del_after_upgrade_pfileafter_upgrade_pfile_dbname.oraからエントリを削除しますadd_after_upgrade_pfileafter_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/21.0.0/dbhome_1
upg1.target_cdb=CDB21C
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 21c Oracleホーム/u01/app/oracle/product/21.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つのみ実行できます。
例4-17 noconsoleモードを使用したスクリプトの実行
この例では、構成ファイル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=+1h40msource_dblinkにリフレッシュ率を設定しない場合、クローニングされたデータベースのデータベース・ファイルは、リフレッシュなしで1回のみクローニングされます。start_timeが設定されていない(アップグレードの処理に遅延がない)場合、source_dblinkリフレッシュ率値は無視されます。 -
切断/接続再配置デプロイメントを開始し、このタスク用に作成した構成ファイルを指定します。
java -jar autoupgrade.jar -config config.cfg -mode deploy
例4-18 データ・ファイルに対してリフレッシュ率を使用しない非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
例4-19 データ・ファイルに対してデプロイメント遅延およびリフレッシュ率を使用した非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
例4-20 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ユーティリティ構成ファイル」のパラメータの説明を参照してください。
例4-21 構成ファイルでの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プロセス自体には影響せず、これにより、スクリプト・アクションがデータベースに影響を与える可能性がある場合に、再実行がより安全になります。
例4-22 構成ファイルでの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構成ファイルの例