Oracle
 sql >> Database >  >> RDS >> Oracle

PL/SQL:ORA-00942:la tabella o la vista non esiste V$SQL

Le tabelle di sistema o relative al dizionario del database (v_$sql in questo caso) sono di proprietà di Oracle sys utente e necessita di privilegi speciali per accedervi. Devi accedere al database Oracle come sysdba user o ottieni quei privilegi (il tuo DBA potrebbe aiutarti in questo) per ottenere l'accesso alle viste del dizionario dei dati.

Come menzionato in questo articolo

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

Quindi, prova quanto segue per concedere SELECT su tutta la vista dictionay in modo da poterlo utilizzare nei tuoi blocchi pl/sql.

grant select any dictionary to USERNAME