Oráculo v$session,v$mystat dá erro: table ou view não existe no select
Eu tenho essa instrução select em um procedimento dentro de um pacote
select distinct sid into a from v$mystat;
SELECT PADDR,TERMINAL,SID,SERIAL# INTO CURSES,CURTER,CURSID,CURSER from v$session where sid=a;
Essas duas instruções retornam o erro
PL/SQL: Instrução SQL ignorada, PL/SQL: ORA-00942: tabela ou exibição não existe
Este erro está ocorrendo dentro do procedimento, mas posso executar essas instruções individualmente do sqlplus ou em uma planilha sql no mesmo usuário.
Tentei dar privilégio usando a palavra-chave grant, mas deu um erro abaixo. Você tem alguma solução possível?

Versão do Oracle: 12c Enterprise Edition Release 12.2.0.1.0 - Produção de 64 bits
Respostas
Você deve conceder select em v_$session
qual é o objeto por trás do v$session
sinônimo.
O mesmo com V_$MYSTAT
objeto para v$mystat
sinônimo.
GRANT SELECT ON V_$MYSTAT TO <user>
GRANT SELECT ON v_$session TO <user>