デフォルト修正のオーバーライド方法

RUNFIX列エントリを使用すると、修正の無効化がセキュリティまたはOracleポリシーに違反する場合を除き、自動修正を無効にできます。

AutoUpgradeプロシージャの一部であるデフォルトの修正は、分析処理モード・ステージ中に生成されます。生成された修正リストを変更して自動修正を無効にすると、独自の修正を実行できます。

ステップの順序は次のとおりです。

  1. 分析モードでAutoUpgradeユーティリティを実行します
  2. 分析モードで生成されるsid_checklist.cfgファイルを開いて編集し、手動で実行する必要がある修正が自動的に実行されないようにします。
  3. 最新の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

次のステップを完了します。

  1. コマンドjava -jar autoupgrade.jar -config config.cfg -mode analyzeを実行します

    このコマンドは、次のパスにチェックリスト・ファイルを生成します。

    /home/oracle/autoupg/db11204/100/prechecks/db11204_checklist.cfg
  2. チェックリスト・ファイルを別の場所に移動します。たとえば:

    oracle@example: $ cd $PRECHECKS
    oracle@example: $ pwd
    /home/oracle/autoupg/db11204/100/prechecks
    oracle@example: $ mv ./db11204_checklist.cfg /tmp
  3. テキスト・エディタを使用してファイルを開き、チェックAMD_EXISTSEM_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]
  4. チェック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です。

  5. パラメータ・チェックリストのパスを更新して、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
  6. 編集および移動した構成ファイルを使用して修正を実行します。たとえば:

    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つの関連値パラメータがあります。

パラメータ 説明

[checkname]

データベース・チェックの名前

[stage]

チェックが実行されるAutoUpgradeステージ。事前チェックまたは事後チェックが可能です。

[fixup available]

自動修正の可用性。このパラメータ値は、YES(自動修正が可能)またはNO(自動修正は不可)のいずれかです。

runfix

修正の実行ステータス。このパラメータは、次のいずれかの値を使用します。

YES: 修正を実行します。

NO: 修正を実行しません。

severity

自動修正が対応する問題の重大度のクラス。

手動で実行する修正ごとに、[runfix]パラメータ値をYESからNOに変更します。