CREATE OR REPLACE PACKAGE protected_pkg
AS
PROCEDURE public_proc;
PROCEDURE private_proc ACCESSIBLE BY (PROCEDURE top_trusted_proc);
END;
Package created.
CREATE OR REPLACE PACKAGE BODY protected_pkg
AS
PROCEDURE public_proc AS
BEGIN
DBMS_OUTPUT.PUT_LINE('Processed protected_pkg.public_proc');
END;
PROCEDURE private_proc ACCESSIBLE BY (PROCEDURE top_trusted_proc) AS
BEGIN
DBMS_OUTPUT.PUT_LINE('Processed protected_pkg.private_proc');
END;
END;
Package Body created.
CREATE OR REPLACE PROCEDURE top_trusted_proc AS
BEGIN
DBMS_OUTPUT.PUT_LINE('top_trusted_proc calls protected_pkg.private_proc ');
protected_pkg.private_proc;
END;
Procedure created.
exec top_trusted_proc
Statement processed.
top_trusted_proc calls protected_pkg.private_proc
Processed protected_pkg.private_proc
exec protected_pkg.public_proc
Statement processed.
Processed protected_pkg.public_proc
exec protected_pkg.private_proc
ORA-06550: line 1, column 7: PLS-00904: insufficient privilege to access object PRIVATE_PROCMore Details: https://docs.oracle.com/error-help/db/ora-06550