Oracle
 sql >> Baza danych >  >> RDS >> Oracle

PL/SQL:ORA-00942:tabela lub widok nie istnieje V$SQL

Tabele związane ze słownikiem bazy danych lub tabele systemowe (w tym przypadku v_$sql) są własnością Oracle sys użytkownika i potrzebuje specjalnych uprawnień, aby uzyskać do nich dostęp. Musisz zalogować się do bazy danych Oracle jako sysdba user lub zdobądź te uprawnienia (może Ci w tym pomóc DBA), aby uzyskać dostęp do widoków słownika danych.

Jak wspomniano w tym artykule

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

Spróbuj więc wykonać następujące czynności, aby przyznać SELECT we wszystkich widokach słowników, aby można było używać go w swoich blokach pl/sql.

grant select any dictionary to USERNAME


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Propagacja transakcji Oracle między C++ a Java

  2. Jak dodać klucz podstawowy w widoku Oracle?

  3. Logika biznesowa:warstwa bazy danych lub aplikacji

  4. ORACLE:Używanie CTE (wspólnych wyrażeń tabel) z PL/SQL

  5. Sparametryzowane zapytanie w problemach z Oracle