ORA-01031 nicht genügend Berechtigungen beim ERSTELLEN einer ANSICHT?
Wenn ich versuche, eine Ansicht zu erstellen mit verschiedenen Tabellen, die ich erhalte den folgenden Fehler:
Fehler in Zeile 1:
ORA-01031 nicht über ausreichende Berechtigungen.
Könnte mir jemand sagen was das problem sein könnte. Ich habe versucht, nach dem anderen stackoverflow post hier erwähnt, aber es ist in Bezug auf
verschiedene schemas.
ORA-01031: Unzureichende Berechtigungen bei der Auswahl anzeigen
Bitte lassen Sie mich wissen, wie ich bin neu hier.
Meine Abfrage lautet wie folgt:
Ursprünglichen Frage:Erstellen Sie eine Ansicht auswählen, Mitarbeiter-ID, Mitarbeiter-name, Einstellungsdatum, Abteilung und-Nummer.
MEINE LÖSUNG:
CREATE VIEW SIMPVIEW AS
SELECT EMPNO, ENAME, HIREDATE,DEPTNO
FROM EMP;
- Sie haben die
create view
Privileg? Besitzen Sie dieemp
Tisch, oder sind Sie auf es in einem anderen schema (z.B. dieHR
sample-schema)? Wenn es in einem anderen schema, haben Sie dieselect
priv gegen ihn durch eine Rolle oder direkt? - Vielen Dank für Ihre Antwort. Ja, ich bin das ausführen von Abfragen auf meinem computer mit Oracle 11g installiert. Also, ich bin meine eigene DBA aber da ich neu bin bin ich mir nicht sicher, was falsch läuft.
- Und ja, ich habe die Tabelle emp erstellt.
- Anscheinend ist der Benutzer, den Sie verwenden, nicht die
create view
Privileg. Sie brauchen, um zu gewähren, dass Sie auf die gleiche Art gewährt diecreate table
Privileg. Überprüfen Sie das Handbuch für details: docs.oracle.com/cd/B28359_01/server.111/b28286/... - Tatsächlich, ich habe nicht die Erteilung einer Berechtigung, um die create table-Berechtigung. Auch ich bin angemeldet als administrator auf meinem computer.
- Wer Sie angemeldet sind, als auf Ihrem computer ist nicht relevant. Dies ist über den Benutzer, mit dem Sie verbunden sind, wie in der Datenbank, z.B.
SCOTT
wenn du spielst mit Standard-schemas, und welche Rollen und Berechtigungen, die Benutzer erteilt wurde. Hoffentlich sind Sie nicht mit einem built-in-Konto, wieSYS
... - Es bekam. Ich bin angemeldet als SCOTT (Als geprüft via "stiller Benutzer" SQL-Befehl). Der emp, dept Tabellen sind von mir erstellt, mit meinen eigenen Daten.Es ist nichts Standard-Ding, mit dem ich arbeite.
- Muss ich die Schritte erwähnt, die in dem link unten? forums.oracle.com/forums/thread.jspa?threadID=641397, Aber ich Frage mich, was soll ich schreiben, die statt der Abfrage geschrieben, über die man Gewähren snapshot erstellen, create table, create view to <username> wird; Was wäre die Abfrage in meinem Fall?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dann wahrscheinlich Sie möglicherweise nicht über die Berechtigungen zum ausführen der
CREATE VIEW
Befehl in Ihrer Datenbank-schema... Log-in in SYSDBA-Konto und geben Sie den BefehlHier
<dbusername>
sollte ersetzt werden mit dem Namen des Benutzers, den Sie wollen den Zugriff auf dieCREATE VIEW
Befehl.Können Sie überprüfen, ob Ihr Benutzer hat
VIEW
Erstellung Privilegien mitselect * from session_privs
.Beachten Sie, dass in der Lage sein, eine Ansicht zu erstellen, die Benutzer, die Schaffung es muss eingeräumt worden
SELECT
Berechtigungen auf alle Objekte verwendet wird, sowie die genanntenCREATE VIEW
Privileg. Sie können auch überprüfen, die durch Abfragen zuUSER_TAB_PRIVS
mit der Benutzer immer die Fehler.Haben Sie zu geben, wählen Sie in jeder Tabelle, die Sie dem Benutzer das Privileg. Dann der Blick erfolgreich kompiliert wird. Keine Notwendigkeit, explizit zu erteilen, wählen Sie den Benutzer für alle Objekte.
wenn ich wollte, der zum ausführen der Abfrage in sql developer stellte ich mich Fragen, da ich nicht über ausreichende Berechtigungen zum erstellen einer Ansicht oder andere oracle-Objekt-schema, wie trigger, packages, Prozeduren etc. Ich habe den Fehler gefunden, sprich "Error at Line 1: ORA-01031 Unzureichende Zugriffsrechte". also, ich brauchte die alle Privilegien der Praxis sind alle diese Fragen, und Programme. Ich nahm die folgenden Schritte aus, um mein problem zu lösen:
a) Im Fenster ausführen, Eingabe von cmd zu öffnen Eingabeaufforderung. Ich tippte: sqlplus /nolog was bedeutet, dass ich mich eingeloggt habe, ohne die erforderlichen Berechtigungen.
b) authentifiziert ich mich für meine zugrunde liegenden O/S eingegeben und in der Datenbank als DBA. Für, die, tippte ich in der Eingabeaufforderung ein: connect /as sysdba;
c) ich ausgewertet, wer die DBA-Benutzer in meiner Datenbank, wenn vorhanden. Für die, die ich eingegeben: select name from V$database;
d) Hier gehen wir nach diesem Befehl. Ich endlich erteilt, mich (scott) zu erstellen, die Ansicht im sql-developer, indem Sie den Befehl: grant create view to scott;
e) Schließlich gewährt ich mir alle Berechtigungen, indem Sie Folgendes eingeben: grant all privileges to scott;
Momentaufnahme der Eingabeaufforderung ein: ich angehängt habe.
Schließlich habe ich ausgeführt und erstellt meine Ansicht: ich angehängt habe