Deploy and Upgrade Postupgrade Checks and Fixes
After an upgrade completes with either Deploy or Upgrade modes, AutoUpgrade performs postupgrade checks.
It provides a process where you can enable your custom scripts to be run on each of the upgraded databases,
in accordance with the configuration instructions you provide in the AutoUpgrade configuration file,
and also can run automatic postupgrade fixups as part of the postupgrade process.In Deploy mode, AutoUpgrade also confirms that the upgrade has succeeded,
and moves database files such as sqlnet.ora, tnsnames.ora, and listener.ora
from the source home to the target home.After these actions are complete, the upgraded Oracle Database release is started in the new Oracle home.
Reference: About Oracle Database AutoUpgrade
Environments:
Source: Database Apr 2019 Release Update : 12.2.0.1.190416 (29314339) Target: Database Release Update : 19.3.0.0.190416 (29517242) $ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -version build.hash 6010a62 build.version 19.8.1 build.date 2020/04/01 16:18:24 build.max_target_version 19 build.type production
Why is moving sqlnet.ora, tnsnames.ora, and listener.ora from the source home to the target home a problem?
There were multiple databases running from the same home and created application issues.
Ironically, I just recently had discussion about using TNS_ADMIN to store sqlnet.ora, tnsnames.ora, and listener.ora in central locations vs ORACLE_HOME.
Now curious if this will cause AutoUgrade to fail?
Overview of Local Naming Parameters
By default, the tnsnames.ora file is located in the ORACLE_HOME/network/admin directory.
Oracle Net will check the other directories for the configuration file.For example, the order checking the tnsnames.ora file is as follows:
The directory specified by the TNS_ADMIN environment variable.
If the file is not found in the directory specified, then it is assumed that the file does not exist.
If the TNS_ADMIN environment variable is not set, then Oracle Net checks the ORACLE_HOME/network/admin directory.
Reference: 6.1 Overview of Local Naming Parameters
Thanks to a super smart team member (who wants to be anonymous) for sharing.