2 Stimmen

v$Instance-Berechtigungsfehler

Ich wollte eine Ansicht erstellen, die in etwa wie folgt aussieht, aber ich erhalte immer einen ORA-01031 - unzureichende Berechtigung Fehler

create view v_dbinfo as
Select INSTANCE_NAME,HOST_NAME from v$instance;

Ich kann ohne Probleme aus v$instance auswählen und eine Ansicht aus einer vorhandenen Tabelle erstellen. Irgendeine Idee, warum dies auftritt und wie ich über die Festsetzung es gehen kann?

感謝

3voto

Justin Cave Punkte 220606

Ich würde darauf wetten, dass Sie über eine Rolle und nicht über eine direkte Gewährung Zugriff auf V$INSTANCE haben. Wenn Sie eine Ansicht erstellen (oder in einer gespeicherten Prozedur mit Definer-Rechten auf V$INSTANCE verweisen) möchten, muss Ihnen der Zugriff auf die referenzierten Objekte über direkte Berechtigungen gewährt werden, nicht über eine Rolle.

Wenn Sie beabsichtigen, anderen Benutzern Zugriff auf diese neue Ansicht zu gewähren, müssen Sie den Zugriff auf V$INSTANCE mit der Klausel WITH GRANT OPTION gewähren, d. h.

GRANT SELECT ON v$instance
   TO your_user_name
 WITH GRANT OPTION;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X