sql >> Base de Datos >  >> RDS >> Oracle

PL/SQL:ORA-00942:tabla o vista no existe V$SQL

Las tablas del sistema o relacionadas con el diccionario de la base de datos (v_$sql en este caso) son propiedad de Oracle sys usuario y necesita privilegios especiales para acceder a ellos. Debe iniciar sesión en la base de datos Oracle como sysdba user u obtenga esos privilegios (su DBA podría ayudarlo con esto) para obtener acceso a las vistas del diccionario de datos.

Como se menciona en este artículo

The problem is that procedures don't respect roles; only directly granted rights 
are respected. So, that means that table_owner has to regrant the right to select

Entonces, intente lo siguiente para otorgar SELECCIONAR en todas las vistas de diccionario para que pueda usarlo en sus bloques pl/sql.

grant select any dictionary to USERNAME