Ora12c_verify_function in CDB & PDB

I am still learning multitenant, so this may not be a valid use case, however 19c (19.10) let me do it. :slight_smile:

I have two verify functions as follows:

OWNER      OBJECT_NAME                   CON_ID
---------- ------------------------- ----------
SYS        ORA12C_VERIFY_FUNCTION             1
SYS        ORA12C_VERIFY_FUNCTION             7

In SQL Developer, in the Functions tree view, there are two distinct entries for this function.

In Toad 15.0.61, there is one entry and the resulting function text is a merge of the two functions, such as:

CREATE OR REPLACE FUNCTION SYS.ora12c_verify_function
FUNCTION ora12c_verify_function
(username     varchar2,
(username     varchar2,
 password     varchar2,
 password     varchar2,
 old_password varchar2)
 old_password varchar2)
RETURN boolean IS
RETURN boolean IS
...

It looks like the function was changed on one of the pluggables, and Toad, when querying DBA_SOURCE, is not specifying the ORIGIN_CON_ID in the query.

How did you change the function on one pluggable but not the container (or vice versa)? Oracle wouldn't let me do that.

It has been a while, but I believe that @?/rdbms/admin/catpfv.sql was run, which includes a call to sqlsessstart.sql (alter session set "_ORACLE_SCRIPT" = true;).

I can reproduce it following those steps. Thanks Doug. I'll fix.