Oráculo v$session,v$mystat dá erro: table ou view não existe no select

Aug 18 2020

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

1 Plirkee Aug 18 2020 at 14:34

Você deve conceder select em v_$sessionqual é o objeto por trás do v$sessionsinônimo.

O mesmo com V_$MYSTATobjeto para v$mystatsinônimo.

GRANT SELECT ON V_$MYSTAT TO <user>

GRANT SELECT ON v_$session TO <user>