Execute permission granted to role however it does not take affect.
I'm seeing some weird behaviour on our database. I receive some request from users to grant execute permission to all the functions owned by another schema.
To make things easier instead of granting each function manually to that user, I created a role & grant execute permission to that role & this role then granted to the user.
However when the user execute that particular function, they're getting ORA-00904 Invalid identifier error.
I check the function and this user have no problem accessing all the tables which the function call.
Function works fine when executed by the schema owner.
Running out of idea, I revoke the role and manually grant execute permission to the user for all the functions & boom! it works without any issue. Any idea what's wrong?