Der er en stor chance for, at privilegierne til at vælge fra tabel1 er blevet givet til en rolle, og rollen er blevet givet til dig. Privilegier tildelt en rolle er ikke tilgængelige for PL/SQL skrevet af en bruger, selvom brugeren har fået rollen.
Du ser dette meget for brugere, der har fået tildelt dba-rollen på objekter ejet af sys. En bruger med dba-rolle vil f.eks. være i stand til at SELECT * from V$SESSION
, men vil ikke være i stand til at skrive en funktion, der inkluderer SELECT * FROM V$SESSION
.
Rettelsen er at give eksplicitte tilladelser til det pågældende objekt til brugeren direkte, for eksempel i ovenstående tilfælde skal SYS-brugeren GRANT SELECT ON V_$SESSION TO MyUser;