Existuje velká šance, že oprávnění k výběru z tabulky1 byla udělena roli a tato role byla udělena vám. Oprávnění udělená roli nejsou dostupná pro PL/SQL napsané uživatelem, i když uživateli byla role udělena.
Často to vidíte u uživatelů, kterým byla udělena role dba na objektech vlastněných sys. Uživatel s rolí dba bude moci řekněme SELECT * from V$SESSION
, ale nebude moci napsat funkci, která obsahuje SELECT * FROM V$SESSION
.
Oprava spočívá v udělení explicitních oprávnění k danému objektu přímo uživateli, například ve výše uvedeném případě musí uživatel SYS GRANT SELECT ON V_$SESSION TO MyUser;