Има голяма вероятност привилегиите за избор от таблица1 да са предоставени на роля и ролята да е предоставена на вас. Привилегиите, предоставени на роля, не са достъпни за PL/SQL, написан от потребител, дори ако на потребителя е предоставена ролята.
Виждате това често за потребители, на които е предоставена ролята на dba за обекти, притежавани от sys. Потребител с роля на dba ще може, да речем, SELECT * from V$SESSION
, но няма да може да напише функция, която включва SELECT * FROM V$SESSION
.
Поправката е да се предоставят изрични разрешения за въпросния обект директно на потребителя, например в горния случай потребителят на SYS трябва да GRANT SELECT ON V_$SESSION TO MyUser;