Announcement

Collapse
No announcement yet.

Aufruf von V$SESSION aus Package schlägt fehl

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Aufruf von V$SESSION aus Package schlägt fehl

    Hallo,

    in einigen Tagen steht eine Migration von einer Oracle 8.1.7 Datenbank auf eine Oracle 10 g vor der Tür. Im Moment teste ich die Migration auf einer Testumgebung um mögliche Fehler zu finden. Die Testumgebung läuft auf Windows Server 2003 Standard Edition. Die Oracle 8i läuft auf einem Sun Solaris Server.

    Das Importieren der Daten mithilfe des Import-Tools von Oracle läuft soweit ohne Probleme. Nun habe ich aber gesehen, dass Oracle ein Package nicht fehlerfrei kompilieren konnte. (Auf dem Sun Server ohne Probleme). Das Package sieht wie folgt aus:

    CREATE OR REPLACE PACKAGE dmops as
    vsess v$session%ROWTYPE;
    end dmops;
    /

    Der Oralce Enterprise Manager meldet mir folgende Fehler:

    Zeilen-# = 2 Spalten-# = 7 Fehlertext = PL/SQL: Declaration ignored
    Zeilen-# = 2 Spalten-# = 7 Fehlertext = PLS-00201: Bezeichner 'V$SESSION' muss deklariert werden


    Ich bin leider nicht so fit mit der PL/SQL Programmierung, da ich damit gerade erst anfange. Ich denke das Problem ist, das der Benutzer V$SESSION nicht findet. Ich habe dem Benutzer auch mal DBA-Rechte gegeben, aber dieser Fehler tritt weiterhin auf.

    Bin für jede Hilfe dankbar. Seh sicher den Wald vor Bäumen nicht.

  • #2
    Hallo,

    der Nutzer der das Package erstellt muß explizite SELECT-Rechte mit GRANT OPTION auf die View V$SESSION haben. (Die DBA-Rolle reicht da mglws. nicht aus)

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Danke für deine Antwort.

      Wenn ich nun mit

      GRANT SELECT ON v$session to dmirror;

      das Recht zuweisen möchte, bricht Oracle mit folgender Fehlermeldung ab:

      ORA-02030: Auf feste Tabellen/Views sind nur SELECT-Befehle zulässig

      Edit: Wenn ich das SELECT-Recht auf die Tabelle v_$session vergebe, funktioniert es. Danke für deine Hilfe, konnte dadurch mein Problem lösen.

      Comment


      • #4
        das ist richtig. v&session ist ein synonym.
        Was hälst du von "SELECT ANY DICTIONARY" ?

        http://www.muniqsoft.de/cgi-bin/Ultr...056&SID=241078
        Zuletzt editiert von uminky; 28.03.2008, 13:59.

        Comment


        • #5
          Hallo zusammen,

          wozu einem User mehr Rechte geben als er benötigt?
          Die v$-Views liegen bei SYS als v_$-Views vor. Daher folgenden Grant eingeben:

          grant select on v_$session to dmirror;

          So sollte es gehen.

          Comment


          • #6
            Ich danke euch allen für eure Hilfe, habe es dann am Ende so gemacht wie albernd es vorgschlagen hat.

            Comment

            Working...
            X