Here's an example you can find in the documentation:
create or replace PROCEDURE top_protected_proc
ACCESSIBLE BY (PROCEDURE top_trusted_proc)
AS
BEGIN
DBMS_OUTPUT.PUT_LINE('Executed top_protected_proc.');
END;
/
create or replace PROCEDURE top_trusted_proc AS
BEGIN
DBMS_OUTPUT.PUT_LINE('top_trusted_proc calls top_protected_proc');
top_protected_proc;
END;
/
SQL> EXEC top_trusted_proc;
top_trusted_proc calls top_protected_proc
Executed top_protected_proc.
PL/SQL procedure successfully completed.
SQL> EXEC top_protected_proc;
BEGIN top_protected_proc; END;
*
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00904: insufficient privilege to access object TOP_PROTECTED_PROC
Here's my question:
Are the "accessors" in the content of the ACCESSIBLE BY clause stored in the Oracle dictionary (other than in %_SOURCE views)?
I failed to find it in the documentation or in the database itself.