A table in another schema that my user has select on (via a role) was not usable in an oracle procedure. I kept getting these errors when I tried to compile
ORA-24344: success with compilation error
PL/SQL: ORA-00942: table or view does not exist
PL/SQL: SQL Statement ignored
Bottom Line: It appears that procedures don't respect roles and the grant needs to be applied directly to the user.