デフォルト修正のオーバーライド方法
RUNFIX
列エントリを使用すると、修正の無効化がセキュリティまたはOracleポリシーに違反する場合を除き、自動修正を無効にできます。
AutoUpgradeプロシージャの一部であるデフォルトの修正は、分析処理モード・ステージ中に生成されます。生成された修正リストを変更して自動修正を無効にすると、独自の修正を実行できます。
ステップの順序は次のとおりです。
- 分析モードでAutoUpgradeユーティリティを実行します
- 分析モードで生成される
sid_checklist.cfg
ファイルを開いて編集し、手動で実行する必要がある修正が自動的に実行されないようにします。 - 最新のAutoUpgrade構成ファイルの自動修正を抑制するジョブのローカル・パラメータ・リストで、
sid.checklist
パラメータを探します。sid
は、自動修正を抑制するデータベースのシステム識別子(SID)です。デフォルトでは、AutoUpgradeは最新の生成されたファイルを使用します。別の構成ファイルを指すようにするには、このパラメータを編集し、編集したchecklist.cfg
ファイルへのパスを指定します。
ノート:
AutoUpgradeの再開では、常に最新のsid_checklist.config
ファイルが使用されます。
たとえば、生成されたAutoUpgrade構成ファイルが2つある場合(/logdir/100/sid_checklist.cfg
および/logdir/101/sid_checklist.cfg
)は、使用する構成ファイルへの直接パスを指定するか、最新のファイル(この場合は/logdir/101/
のsid_checklist.cfg
ファイル)を編集する必要があります。
検出した問題を手動で修正し、AutoUpgradeが別のチェックで修正ファイルを使用するようにするとします。AutoUpgradeに別のファイルを使用するように指示する場合は、prefix.checklist
パラメータを使用してchecklist.cfg
ファイルにファイル・パスを直接指定できます。prefix
はデータベースの識別子です。たとえば、prefix.checklist=logdir/repress-standard/sid_checklist.cfg
です
AutoUpgradeユーティリティでエラー・レベルのデータベース状態が見つかり、これに対して使用可能な修正がない場合、または使用可能な修正を手動で無効にした場合、エラー状態のデータベースを含むAutoUpgradeジョブが停止します。
この手順を利用するには、次の例を使用します。
例4-23 分析モードでのAutoUpgradeユーティリティの起動
java -jar autoupgrade.jar -config config.cfg –mode analyze
例4-24 構成ファイルの新規チェックリストの作成
このシナリオでは、リリース18cへのアップグレード準備として、Oracle Database 11gリリース2 (11.2)のデータベース・ホームで、リリース更新8を使用してAutoUpgradeチェックを実行しています。構成ファイルconfig.cfg
から開始します。
global.autoupg_log_dir=/home/oracle/autoupg
upg1.sid=db11204
upg1.source_home=/databases/ee/product/11.2.0/dbhome_1
upg1.target_home=/databases/ee/product/18x/dbhome_1
upg1.target_base=/databases
upg1.target_version=18.8.0
次のステップを完了します。
-
コマンド
java -jar autoupgrade.jar -config config.cfg -mode analyze
を実行しますこのコマンドは、次のパスにチェックリスト・ファイルを生成します。
/home/oracle/autoupg/db11204/100/prechecks/db11204_checklist.cfg
-
チェックリスト・ファイルを別の場所に移動します。たとえば:
oracle@example: $ cd $PRECHECKS oracle@example: $ pwd /home/oracle/autoupg/db11204/100/prechecks oracle@example: $ mv ./db11204_checklist.cfg /tmp
-
テキスト・エディタを使用してファイルを開き、チェック
AMD_EXISTS
とEM_PRESENT
を探します。たとえば:
[SID] [db11204] ========================================== [container] [db11204] ========================================== [checkname] AMD_EXISTS [stage] PRECHECKS [fixup_available] YES [runfix] YES [severity] WARNING ---------------------------------------------------- [checkname] DICTIONARY_STATS [stage] PRECHECKS [fixup_available] YES [runfix] YES [severity] RECOMMEND ---------------------------------------------------- [checkname] EM_PRESENT [stage] PRECHECKS [fixup_available] YES [runfix] YES [severity] WARNING ---------------------------------------------------- ... [truncated]
- チェック
AMD_EXISTS
およびEM_PRESENT
の値をyes
からno
に変更します。たとえば
[SID] [db11204] ========================================== [container] [db11204] ========================================== [checkname] AMD_EXISTS [stage] PRECHECKS [fixup_available] YES [runfix] NO [severity] WARNING ---------------------------------------------------- [checkname] DICTIONARY_STATS [stage] PRECHECKS [fixup_available] YES [runfix] YES [severity] RECOMMEND ---------------------------------------------------- [checkname] EM_PRESENT [stage] PRECHECKS [fixup_available] YES [runfix] NO [severity] WARNING ---------------------------------------------------- ... [truncated]
両方のパラメータで
fixup_available
値がYES
であることに注意してください。つまり、使用可能な修正が存在し、それを実行しないように選択することを意味します。使用可能な修正がない場合、runfix
の値はN/A
です。 -
パラメータ・チェックリストのパスを更新して、AutoUpgradeが構成ファイルを検索する場所を変更します。これを実行するには、編集したファイルが存在するディレクトリへのチェックリスト・ポインタを含むエントリを構成ファイルに追加します。たとえば:
global.autoupg_log_dir=/home/oracle/autoupg upg1.sid=db11204 upg1.source_home=/databases/ee/product/11.2.0/dbhome_1 upg1.target_home=/databases/ee/product/18x/dbhome_1 upg1.target_base=/databases upg1.target_version=18.8.0 upg1.checklist=/home/oracle/db11204_checklist.cfg
-
編集および移動した構成ファイルを使用して修正を実行します。たとえば:
java -jar autoupgrade.jar -config config.cfg -mode fixups
自動アップグレードでは、/home/oracleにある構成ファイルを使用してAutoUpgradeユーティリティを実行します。
例4-25 checklist.cfg
の検索および編集
分析モードでは、ファイル名がchecklist.cfg
の修正ファイルが生成されます。ファイルに移動します。DATABASE_LOGS_DIR
はデータベースのAutoUpgradeのlog_dir
パラメータに設定された値で、job-id
はAutoUpgradeユーティリティによって生成されるジョブ識別子を参照し、sid
は自動修正を抑制するデータベースのシステム識別子です。
DATABASE_LOGS_DIR/job-id/prechecks/sid_checklist.cfg
テキスト・エディタを使用してchecklist.cfg
ファイルを開きます。次に、SIDがDB11204
のデータベースのchecklist.cfg
ファイルの例を示します。
[dbname] [DB11204]
==========================================
[container] [DB11204]
==========================================
[checkname] AMD_EXISTS
[stage] PRECHECKS
[fixup_available] YES
[runfix] YES
[severity] WARNING
----------------------------------------------------
[checkname] DEPEND_USR_TABLES
[stage] POSTCHECKS
[fixup_available] YES
[runfix] YES
[severity] WARNING
----------------------------------------------------
[checkname] DICTIONARY_STATS
[stage] PRECHECKS
[fixup_available] YES
[runfix] YES
[severity] RECOMMEND
----------------------------------------------------
[checkname] EM_PRESENT
[stage] PRECHECKS
[fixup_available] YES
[runfix] YES
[severity] WARNING
----------------------------------------------------
.
.
.
ファイルには階層構造があります。これはデータベース名、およびchecklist.cfg
のエントリが適用されるコンテナ名で始まります。ファイルには、自動的に適用される一連の修正チェックが含まれています。各エントリには、次の5つの関連値パラメータがあります。
パラメータ | 説明 |
---|---|
|
データベース・チェックの名前 |
|
チェックが実行されるAutoUpgradeステージ。事前チェックまたは事後チェックが可能です。 |
|
自動修正の可用性。このパラメータ値は、 |
|
修正の実行ステータス。このパラメータは、次のいずれかの値を使用します。
|
|
自動修正が対応する問題の重大度のクラス。 |
手動で実行する修正ごとに、[runfix]
パラメータ値をYES
からNO
に変更します。