No OS Authentication? datapatch will fail in every upgrade

Thanks to Daniel from SimCorp for bringing this to my attention:Patch
Actually, command line upgrades are affected as well, if you do not use OS authentication.
Apparently, datapatch is not able to execute in non-OS authentication mode.
See MOS note 1635007.1.

Symptom:

You are doing a command line upgrade to Oracle Database 12c with catctl.pl – and you don’t use OS authentication allowing connections with “/ as sysdba” then datapatch.pl won’t be able to execute the SPU/PSU/BP related SQL commands as it will fail to connect to your database with an ORA-1017 (invalid username/password) error.

Solution:

Bug 18361221 is fixed in Oracle 12.2 and got backported to 12.1.0.1.2 and 12.1.0.1.3 but not actually included in any 12.1.0.2 bundles at the moment. Without this fix, datapatch will only connect with ‘/ as sysdba‘.

Either apply generic patch 18361221 to your destination Oracle Home or switch on OS authentication by setting:

  • Unix: SQLNET.AUTHENTICATION_SERVICES = (BEQ)
  • Windows: SQLNET.AUTHENTICATION_SERVICES = (NTS)

temporarily in your sqlnet.ora for the duration of the upgrade only. See the documentation for further information about SQLNET.AUTHENTICATION_SERVICES. Or, of course, run datapatch.pl -verbose after upgrading your database in any case …

Further Information and Links:

Related Blog Posts datapatch.pl:

–Mike

Share this: