Announcement

Collapse
No announcement yet.

Import Trigger und Prozeduren mit Kompilierungsfehler

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

  • Import Trigger und Prozeduren mit Kompilierungsfehler

    Hallo,

    erstelle ein exp-file (FULL) und importiere ich es dann in eine Datenbank:
    Problem:
    Bei einigen Prozeduren und Triggern erscheint im logfile die Meldung
    IMP-00041: Warnung: Objekt wurde kompiliert aber mit einigen Warnungen

    Wieso das? das versteh ich nicht und wie kann ich das vermeiden?

    danke
    christoph

  • #2
    Prozeduren, Funktionen als auch Trigger werden immer erstellt (entsprechende Rechte vorausgesetzt).

    Die Import-Datei enthält die gewünschte SQL-Anweisung zum Erstellen beispielsweise eines Triggers. Ein Trigger könnte an eine bestimmte Tabelle gebunden sein. Ist diese Tabelle nicht vorhanden, so wird der Trigger trotzdem erstellt, aber mit Kompilierungsfehler.

    kuemmelchen

    Comment


    • #3
      Originally posted by kuemmelchen View Post
      Prozeduren, Funktionen als auch Trigger werden immer erstellt (entsprechende Rechte vorausgesetzt).

      Die Import-Datei enthält die gewünschte SQL-Anweisung zum Erstellen beispielsweise eines Triggers. Ein Trigger könnte an eine bestimmte Tabelle gebunden sein. Ist diese Tabelle nicht vorhanden, so wird der Trigger trotzdem erstellt, aber mit Kompilierungsfehler.

      kuemmelchen
      - Packages, welche Referenzen auf Views enthalten und umgekehrt sind auch solche Kandidaten, am besten am Anschluss eines Imports das Schema neu kompilieren

      Comment


      • #4
        Hallo,

        erstmal Danke...
        hab den Fehler gefunden:
        Vor dem Import hatte ich den User gelöscht und neu angelegt.
        einige Funktionen/Prozeduren führen eine select auf v$session auf und weitere Trigger wiederum benutzen diese Prozeduren (=Folgefehler).
        Der Ursprungsfehler war, dass dem neu angelegten Benutzer das Recht auf select auf v$session gefehlt hat. Dies konnte weder über eine Rolle, noch innerhalb einer Procedure vergeben werden; sondern musste explizit als eigener SQL-Befehl nach dem Anlegen nochmal erteilt werden.

        danke nochmal
        christoph

        Comment

        Working...
        X