How to Override Default Fixups
You can use the RUNFIX
column entry to disable automated fixups, except in cases where disabling the fixup violates security or Oracle policy.
The default fixups that are part of the AutoUpgrade procedure are generated during the Analyze processing mode stage. You can modify the generated fixups list to disable automatic fixups, so that you can run your own fixups.
The sequence of steps is as follows:
- Run the AutoUpgrade utility in Analyze mode
- Open and edit the
sid_checklist.cfg
file that is generated during Analyze mode, so that the fixups you want to do manually are disabled from running automatically. - In your most recent AutoUpgrade configuration file, under your local parameters list
for the job on which you want to suppress the automatic fixup, find the
parameter
sid.checklist
, wheresid
is the system identifier (SID) of the database on which you want to suppress an automatic fixup. By default, AutoUpgrade uses the most recent generated file. If you want to point it to a different configuration file, then edit the parameter to provide a path to thechecklist.cfg
file that you have edited.
Note:
AutoUpgrade resume always uses the most recent sid_checklist.config
file.
For example, if you have two generated AutoUpgrade configuration
files, /logdir/100/sid_checklist.cfg
, and
/logdir/101/sid_checklist.cfg
, then you must either specify
a direct path to the configuration file that you want to use, or edit the most
recent file, which in this case is the sid_checklist.cfg
file in
/logdir/101/
Suppose you have corrected an issue manually that you found, and
want to have AutoUpgrade to use a fixup file with different checks. If you want
to direct AutoUpgrade to use a different file, then you can specify the file
path directly in the checklist.cfg
file by using the
prefix.checklist
parameter, where prefix
is the
identifier for the database. For example:
prefix.checklist=logdir/repress-standard/sid_checklist.cfg
If the AutoUpgrade utility finds an error level database condition, and there is not a fixup available for it, or you have manually disabled the available fixup, then the AutoUpgrade job that contains the database with the error condition stops.
Use the examples that follow to assist you with this procedure.
Example 3-12 Starting Up the AutoUpgrade Utility in Analyze Mode
java -jar autoupgrade.jar -config config.cfg –mode analyze
Example 3-13 Creating a New Checklist for a Configuration File
In this scenario, you are running AutoUpgrade checks on an Oracle Database 11g
Release 2 (11.2) database home, in preparation for an upgrade to Oracle Database
18c, with release update 8. You start with the following configuration file, called
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
You then complete the following steps:
-
Run the command
java -jar autoupgrade.jar -config config.cfg -mode analyze
The command produces a checklist file in the following path:
/home/oracle/autoupg/db11204/100/prechecks/db11204_checklist.cfg
-
Move the checklist file to another location. For example:
oracle@example: $ cd $PRECHECKS oracle@example: $ pwd /home/oracle/autoupg/db11204/100/prechecks oracle@example: $ mv ./db11204_checklist.cfg /tmp
-
Use a text editor to open up the file, and look for the checks
AMD_EXISTS
andEM_PRESENT
.For example:
[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]
- Change the values for checks
AMD_EXISTS
andEM_PRESENT
fromyes
tono
.For example
[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]
Notice that with both parameters, the
fixup_available
value isYES
. That means that there is a fixup available, which you choose not to run. If no fixup is available, then the value forrunfix
isN/A
. -
Change the location where AutoUpgrade looks for the configuration file by updating the path for the parameter checklist. To do this, add an entry to the configuration file with the checklist pointer to the directory where your edited file resides. For example:
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
-
Run the fixups using the configuration file that you have edited and moved. For example:
java -jar autoupgrade.jar -config config.cfg -mode fixups
Autoupgrade uses the configuration file in /home/oracle to run the AutoUpgrade utility.
Example 3-14 Find and Edit checklist.cfg
The Analyze mode generates a fixup file with the file name
checklist.cfg
. Navigate to the file, where DATABASE_LOGS_DIR
is the value set for the
AutoUpgrade log_dir
parameter of the database, job-id
refers to the job identifier that the
AutoUpgrade utility generates, and sid
is the system identifier for
the database on which you want to suppress automatic fixups:
DATABASE_LOGS_DIR/job-id/prechecks/sid_checklist.cfg
Open the checklist.cfg
file with a text editor. The following is an example of the checklist.cfg
file for the database with the SID DB11204
:
[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
----------------------------------------------------
.
.
.
The file has a hierarchical structure. It starts with the database name, and the container name for which the entries of the checklist.cfg
apply. The file contains a series of fixup checks that are applied automatically. For each entry, there are 5 relevant values parameters:
Parameter | Description |
---|---|
|
Name of the database check |
|
AutoUpgrade stage in which the check is performed. It can be either prechecks, or post checks. |
|
Availability of an automatic fixup. This parameter value is either |
|
Run status for the fixup. This parameter takes one of two values:
|
|
Class of severity of the issue that the automatic fixup addresses. |
For each fixup that you want to perform manually, change the [runfix]
parameter value from YES
to NO
.
Parent topic: Using AutoUpgrade for Oracle Database Upgrades