Here's my situation (slightly envaguened to protect the innocent): I have a package on a Test system and a package on Prod system that need to have identical permissions to access exiting packages and functions. Both systems are Oracle. I use the following query to check existing permissions:
with objects as ( select owner, table_name, listagg(privilege, ', ') WITHIN GROUP (ORDER BYPRIVILEGE) AS PRIVS from all_tab_privs_recd where grantee = 'EABINTEG' group BY owner, table_name order by owner, table_name) select ob.owner as OWNER, ob.table_name as NAME, ao.object_type as TYPE, ob.PRIVS as GRANTS from objects ob left join all_objects ao on ob.owner = ao.owner and ob.table_name = ao.object_name order by ao.object_type, ob.owner, ob.table_name;
The queries come back almost identical, except Test has some rows that say the account has EXECUTE permissions granted for the PACKAGE BODY. The administrator has run queries to grant my account execute on the packages, I can see identical EXECUTE permissions granted for the PACKAGE on both Test and Prod.
I've looked around and haven't found anything. Has anyone else run up against this? How do I grant EXECUTE privileges for a PACKAGE BODY. Is this a SYNONYM issue? Help! Thanks!