Oracle v $session,v$mystat выдает ошибку: таблица или представление не существует при выборе
У меня есть этот оператор выбора в процедуре внутри пакета
select distinct sid into a from v$mystat;
SELECT PADDR,TERMINAL,SID,SERIAL# INTO CURSES,CURTER,CURSID,CURSER from v$session where sid=a;
Эти два оператора возвращают ошибку
PL / SQL: инструкция SQL игнорируется, PL / SQL: ORA-00942: таблица или представление не существует
Эта ошибка возникает внутри процедуры, но я могу запускать эти операторы индивидуально из sqlplus или на листе sql для одного и того же пользователя.
Я попытался предоставить привилегию с помощью ключевого слова grant, но ниже выдал ошибку. Есть ли у вас какое-нибудь возможное решение?

Версия Oracle: 12c Enterprise Edition Release 12.2.0.1.0 - 64-разрядная производственная версия
Ответы
Вы должны предоставить select v_$session
для объекта, стоящего за v$session
синонимом.
То же самое с V_$MYSTAT
объектом для v$mystat
синонима.
GRANT SELECT ON V_$MYSTAT TO <user> GRANT SELECT ON v_$session TO <user>