Wenn ich versuche, eine Ansicht zu erstellen, die verschiedene Tabellen enthält, erhalte ich die folgende Fehlermeldung: Fehler in Zeile 1: ORA-01031 Unzureichende Berechtigungen.
Könnte mir jemand sagen, was das Problem sein könnte. Ich habe versucht, dem anderen hier erwähnten Stackoverflow-Post zu folgen, aber er bezieht sich auf verschiedene Schemata.
ORA-01031: Unzureichende Berechtigungen bei Auswahl der Ansicht
Bitte lass es mich wissen, da ich hier neu bin.
Meine Abfrage lautet wie folgt:
ORiginal-Frage: Erstellen Sie eine Ansicht, um die Mitarbeiter-ID, den Mitarbeiternamen, das Einstellungsdatum und die Abteilungsnummer auszuwählen.
MEINE LÖSUNG:
CREATE VIEW SIMPVIEW AS
SELECT EMPNO, ENAME, HIREDATE,DEPTNO
FROM EMP;
Dann haben Sie möglicherweise nicht die Berechtigung, den Befehl CREATE VIEW
in Ihrem Datenbankschema auszuführen. Melden Sie sich beim SYSDBA-Konto an und geben Sie den Befehl aus
GRANT CREATE VIEW TO <dbusername>;
Hier sollte <dbusername>
durch den Namen des Benutzers ersetzt werden, dem Sie Zugriff auf den CREATE VIEW
-Befehl gewähren möchten.
Sie können prüfen, ob Ihr Benutzer über VIEW
Erstellungsberechtigungen verfügt, indem Sie select * from session_privs
verwenden.
Um eine Ansicht erstellen zu können, müssen dem Benutzer, der sie erstellt, SELECT
-Berechtigungen für alle verwendeten Objekte sowie das genannte CREATE VIEW
-Privileg erteilt werden. Sie können dies auch überprüfen, indem Sie nach USER_TAB_PRIVS
fragen, wobei der Benutzer den Fehler abruft.
als ich die obige Abfrage in SQL-Entwickler ausführen wollte, hatte ich Probleme, da ich nicht über die erforderlichen Berechtigungen verfügte, um eine Ansicht oder ein anderes Oracle-Objektschema wie Trigger, Pakete, Prozeduren usw. zu erstellen : ORA-01031 Unzureichende Berechtigungen “. Ich brauchte also alle Privilegien, um all diese Abfragen und Programme zu üben. Ich habe folgende Schritte unternommen, um mein Problem zu lösen:
a) Beim Fensterlauf habe ich cmd eingegeben, um den Befehl Prompt zu öffnen. Ich habe Folgendes eingegeben: sqlplus/nolog, was bedeutet, dass ich mich angemeldet habe, ohne die erforderlichen Anmeldeinformationen anzugeben.
b) Ich habe mich für mein zugrundeliegendes O/S authentifiziert und als DBA in die Datenbank eingetragen. Dafür habe ich den Befehl Prompt: connect/as sysdba; Eingegeben. C) Ich habe ausgewertet, wer der DBA-Benutzer in meiner Datenbank ist, wenn er existiert. Dafür habe ich Folgendes eingegeben: Name aus V $ -Datenbank auswählen; d) Hier gehen wir diesem Befehl nach. Schließlich habe ich mir selbst (Scott) die Erlaubnis erteilt, View in SQL Developer zu erstellen, indem Sie den folgenden Befehl eingeben: Grant Create View to Scott; E) Schließlich habe ich mir alle Privilegien gewährt, indem ich Folgendes eingebe:
Momentaufnahme des Befehls Prompt: Ich habe angehängt.
Schließlich habe ich meine Ansicht ausgeführt und erstellt: Ich habe angehängt
Sie müssen dem Benutzer ein beliebiges Tabellenprivileg zuweisen. Dann wird die Ansicht erfolgreich kompiliert. Sie müssen dem Benutzer keine Auswahl für alle Objekte explizit erteilen.