My Oracle Support Banner

19c :datpatach fails with Error: prereq checks failed! Can't call method "execute" on an undefined value & 'ORA-04023' (Doc ID 2575884.1)

Last updated on JULY 20, 2024

Applies to:

Oracle Database - Enterprise Edition - Version 19.3.0.0.0 and later
Information in this document applies to any platform.

Symptoms

19c: datapatch fails with error:

Connecting to database...OK
Gathering database info...Error: prereq checks failed!
Can't call method "execute" on an undefined value at <ORACLE_HOME>/sqlpatch/sqlpatch.pm line 1819.
<ORACLE_BASE>/cfgtoollogs/sqlpatch/sqlpatch_<NNN>/sqlpatch_invocation.log


The sqlpatch_debug.log located at <ORACLE_BASE>/cfgtoollogs/sqlpatch/sqlpatch_<NNN>/ , shows the errors:

<DBD::Oracle::db prepare failed: ORA-04023: Object SELECT comp_id, comp_name, status, version, version_full
 FROM dba_registry could not be validated or authorized (DBD ERROR: error possibly near <*> indicator at char 87 in 'SELECT comp_id, comp_name, status, version, version_full
 FROM <*>dba_registry') [for Statement "SELECT comp_id, comp_name, status, version, version_full
 FROM dba_registry"]>

Error: prereq checks failed!
Can't call method "execute" on an undefined value at <ORACLE_HOME>/sqlpatch/sqlpatch.pm line 1819.

Even though all objects are valid ,it has error ORA-04023

Changes

 Applied the patch to ORACLE_HOME binary and now executing the post patch step: datapatch

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.