Home » RDBMS Server » Security » ACCESSIBLE BY clause on CREATE procedural object (12c+)
ACCESSIBLE BY clause on CREATE procedural object [message #683186] Thu, 10 December 2020 11:19
Michel Cadot
Messages: 68716
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator

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.

Previous Topic: GRANT SELECT ON all_views not working
Next Topic: NO AUTHENTICATION and PROXY ONLY CONNECT
Goto Forum:
  


Current Time: Thu Nov 21 05:42:59 CST 2024