IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

[ORA-04043] Compilation package impossible


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Points : 54
    Points
    54
    Par défaut [ORA-04043] Compilation package impossible
    Bonjour à tous,

    J'ai un gros gros problème.

    Je suis sous Oracle 9i et travail avec TOAD Version 9

    Dans mon projet, j'utilise tout un tas de package mais tous appellent le package PKG_BASE

    Seulement je n'arrive plus à le compiler.
    Lorsque je le fais j'obtiens l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-04043 : object SYS_PLSQL_8747_9_1 doesn't not exists
    En allant voir dans les objets que je possédais, j'ai trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE OR REPLACE
    type        .SYS_PLSQL_8747_9_2 as table of VARCHAR2(32767);
    /
    ces types m'ont l'air d'être créé automatiquement. n'écoutant que mon ignorance j'ai créé le même type mais avec le nom
    SYS_PLSQL_8747_9_1 mais ça n'a rien changé.

    J'ai décide de créer un autre package PKG_BASE_2
    ,de dropper PKG_BASE
    et de renommer PKG_BASE_2 en PKG_BASE

    mais je n'ai pas réussi à le dropper il me sort la même erreur tout comme quand j'essaye de l'importer d'un autre schéma.

    Je suis un peu perdu.

    Comment dropper ce package ou quel est le problème de ces objets SYS???

    Merci par avance

  2. #2
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    cela semble indiquer une incohérence dans le dictionnaire de données.
    ça pue un peu... :S

    commençons par les précautions:
    vous avez une sauvegarde ?
    c'est une base de prod ?

    sinon, qu'avez-vous fait ?
    avez-vous le code source des packages et packages body ?

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par LeoAnderson Voir le message
    cela semble indiquer une incohérence dans le dictionnaire de données.
    ça pue un peu... :S

    commençons par les précautions:
    vous avez une sauvegarde ?
    c'est une base de prod ?

    sinon, qu'avez-vous fait ?
    avez-vous le code source des packages et packages body ?
    Aie AIe AIe

    ALors non ce n'est pas une base de prod. C'est déjà ça.
    C'est un environnement uniquement destiné au développement que j'utilise, le mien donc ce n'est pas encore la catastrophe.
    Tout est sauvegardé donc tout va bien

    Les sources des packages s'affichent bien.
    justment grâce à ça j'ai pu dupliquer le package "cassé" mais je n'ai pas réussi à le dropper.

    Ce que j'ai fait, là ça se complique.
    Aujourd'hui j'ai modifié ce package.
    dans le body j'ai ajouté une fonction, compilation OK
    mon problème est survenu quand j'ai rajouté le prototype de la fonction dans la spec, compilation KO

    Mais J'avais déjà eu un problème dans le genre, il y a un moment. J'avais lancé une compilation d'un pacakge et en me trompant dans les options, j'ai compilé tous les pacakges présents.
    Toad a buggé et j'ai donc du l'arrêter de manière brutale.
    En relançant la compilation de mes pacakges après celà, j'ai eu ce problème.
    il a été résolu par un de mes collègues, qui n'est plus là forcément, mais plus par coup de chance qu'autre chose.

    voilà un peu de manière détaillée ce qu'il s'est passé.

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Points : 54
    Points
    54
    Par défaut
    Petite rectification :

    Après avoir créer les types manquants
    , Il y en a 2 dont un DUMMY(petite précision peut être importante),
    L'erreur devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-00600: internal error code, arguments: [psdtyfnd_with_suffix], [], [], [], [], [], [], []

  5. #5
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    La note metalink 275519.1 s'adapte parfaitement j'ai l'impression

    vous utilisez des pipelined fonctions ?
    Cause
    The cause of this issue is not known. It is believed that importing into a database where these pipelined functions already exist may be the cause, but testing has failed to reproduce the problem.
    la solution semble être de
    1. dropper le type SYS_PLSQL_<OBJECT_ID_DU_PACKAGE>_2
    2. dropper le type SYS_PLSQL_<OBJECT_ID_DU_PACKAGE>_DUMMY_2
    3. dropper le package body

  6. #6
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par LeoAnderson Voir le message
    La note metalink 275519.1 s'adapte parfaitement j'ai l'impression

    vous utilisez des pipelined fonctions ?

    la solution semble être de
    1. dropper le type SYS_PLSQL_<OBJECT_ID_DU_PACKAGE>_2
    2. dropper le type SYS_PLSQL_<OBJECT_ID_DU_PACKAGE>_DUMMY_2
    3. dropper le package body
    Désolé pour le délai de réponse. c'était un peu la folie.

    Donc j'utilise bien une fonction pipeline dand le package :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    function split
    (
        p_list varchar2,
        p_del varchar2 := ','
    ) return split_tbl pipelined
    is
        l_idx    pls_integer;
        l_list    varchar2(32767) := p_list;
        l_value    varchar2(32767);
    begin
        loop
            l_idx := instr(l_list,p_del);
            if l_idx > 0 then
                pipe row(substr(l_list,1,l_idx-1));
                l_list := substr(l_list,l_idx+length(p_del));
     
            else
                pipe row(l_list);
                exit;
            end if;
        end loop;
        return;
    end split;
    d'ailleurs je crois que cette fonction 'ai jamais utilisé

    je vais faire ce que vous m'avez proposé. voir si ça marche.
    Mais je comprends le pourquoi du comment.

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 112
    Points : 54
    Points
    54
    Par défaut
    Bon alors la conclusion,

    J'ai suivi les 3 étapes.
    J'ai compilé les specs ça a marché.
    J'ai recréé le body avec le backup que j'avais fait, il a compilé mais quand j'ai voulu recompilé les specs ça m'a fait la même erreur.

    Donc j'ai refait les 3 étapes, j'ai viré la fonction split qui possédait le pipelined
    dans les specs et le body et maintenant tout va bien.

    Un grand merci.

    Une petite chose encore d'où tirez vous les notes metalink et si vous pouviez m'expliquer pour quoi l'erreur provient d'une fonction pipelined je me sentirais moins bête.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impossible de compiler package pl/sql
    Par Jinkas dans le forum PL/SQL
    Réponses: 17
    Dernier message: 27/08/2009, 19h56
  2. ORA-04068 et package
    Par Prodige2020 dans le forum PL/SQL
    Réponses: 4
    Dernier message: 28/12/2008, 12h10
  3. Compilation package introuvable
    Par edwin301 dans le forum Maven
    Réponses: 1
    Dernier message: 25/10/2006, 16h50
  4. Conflit compilation/package debian
    Par Drmalcolm dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 08/06/2006, 12h47
  5. [POI] echec de compil, package introuvable
    Par hugo123 dans le forum Documents
    Réponses: 2
    Dernier message: 05/10/2005, 11h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo