Stevie Geschrieben 27. Mai 2003 Teilen Geschrieben 27. Mai 2003 Hallo, in der Firma sind wir von Oracle8 auf Oracle9 umgestiegen. Dabei hat sich ein Problem aufgetan: Ich hatte vor zwei Wochen eine Prozedur geschrieben, die eine Auswertung der Datenbank vornimmt. Dabei wird auf die Tabelle dba_extents zugegriffen. Aber plötzlich funktioniert die Prozedur nicht mehr und es kommt folgender Fehler: "PL/SQL: ORA-00942: Tabelle oder View nicht vorhanden". Schreibe ich SELECT * FROM dba_extents im SQL-Fenster (ich benutze TOAD), funktioniert alles bestens, aber wenn ich CREATE OR REPLACE PROCEDURE Test_Proc IS BEGIN SELECT * FROM dba_extents; END Test_Proc; / im Prozedur-Editor schreibe, gibt er mir den oben genannten Fehler. Meine Vermutung ist, ein Berechtigungsproblem. Aber wie kann es behoben werden? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MoBaB Geschrieben 27. Mai 2003 Teilen Geschrieben 27. Mai 2003 hi also ich würde auch im moment auf ein berechtigungsproblem tippen. hast du admin-zugriff zur verfügung? kannst du berechtigungen vergeben? hast du die berechtigungen ggf. schon mal überprüft? hast du enterprise manager oder so zur verfügung? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Stevie Geschrieben 27. Mai 2003 Autor Teilen Geschrieben 27. Mai 2003 Hast du Admin-Zugriff zur Verfügung? - Ja, aber nicht unter dem Schema, wo diese Prozedur liegt. Kannst du berechtigungen vergeben? - Ja. Hast du die Berechtigungen ggf. schon mal überprüft? - Nein, welche sollte der Benutzer denn haben? Hast du Enterprise Manager oder so zur Verfügung? - Ja, DBA-Studio. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MoBaB Geschrieben 27. Mai 2003 Teilen Geschrieben 27. Mai 2003 hab gerade mal nachgeschaut. also ich hab meinem user: tester einfach select berechtigung auf die view (ansicht) gegeben. geht auch mit dem sql-befehl: ***************** REVOKE SELECT ON "SYS"."DBA_EXTENTS" FROM "TESTER" GRANT SELECT ON "SYS"."DBA_EXTENTS" TO "TESTER" WITH GRANT OPTION ***************** sag mal bescheid obs funktioniert hat. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Stevie Geschrieben 27. Mai 2003 Autor Teilen Geschrieben 27. Mai 2003 Ich krieg echt'n Affen! Der Benutzer hat schon die Berechtigung, alle Tabellen zu selektieren! Aber ich hab mal was anderes probiert: Als SYS hab ich das hier geschrieben: CREATE OR REPLACE PROCEDURE Test_Proc IS BEGIN SELECT * FROM dba_extents; END Test_Proc; /Da gibt der mir diesen Fehler hier (mit Verweis auf Zeile 3): PLS-00428: In dieser SELECT-Anweisung wird eine INTO-Klausel erwartet Wenn ich diese Zeile wieder einfach als Befehl absetze, klappt's. Ich raff das nicht! :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
The_red_one Geschrieben 27. Mai 2003 Teilen Geschrieben 27. Mai 2003 Stimmt. In pl/sql muss in der select-Anweisung ein into drin sein. Wo sollte er auch sonst mit den selektierten Daten hin??? select spalte into variable from tabelle where .... Also Variable deklarieren unter Declare ganz am Anfang. Das dürfte dein letztes Problem zumindest beheben. Das ertse schien aufgrund der Berechtigung zu sein. Kann ich von hier aus aber auch ned sagen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Stevie Geschrieben 27. Mai 2003 Autor Teilen Geschrieben 27. Mai 2003 Original geschrieben von The_red_one Stimmt. In pl/sql muss in der select-Anweisung ein into drin sein. Wo sollte er auch sonst mit den selektierten Daten hin??? Mjein, ich kann doch einfach Daten auswählen ohne sie irgendwo zu speichern, das gibt normalerweise keinen Fehler. Ist eben nur unsinnig. Mir ging es ja auch nur darum, zu testen, ob die Berechtigung dort stimmt. Ich meine, SYS muss doch wohl die Berechtigungen haben um so eine Tabelle zu selektieren, oder?! HILFE!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MoBaB Geschrieben 27. Mai 2003 Teilen Geschrieben 27. Mai 2003 axo sorry. das es klappt wenn du den befehl so absetzt hab ich überlesen dann muss ich auch erstnoch mal gucken *testdatenbankwiederhochfahr* Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.