Soutenez-nous
Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre habitué
    Inscrit en
    janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : janvier 2004
    Messages : 532
    Points : 105
    Points
    105

    Par défaut Comment comparer la structure(paramétrage) de deux bases de données

    Salut,

    J'ai une fonction que je joue sur une base Oracle 10g,
    elle tourne correctement.
    Par contre,
    quand je la lance sur une autre base, elle tombe en échec.

    Les bases sont sur des serveurs différents,
    les tables sont les mêmes, les données en source sont identique,
    je n'arrive pas à comprendre.

    J'ai exécuté les requêtes suivantes en pensant que cela pouvait venir de la version ou du charset
    mais elle retourne le même résultat!
    Code :
    1
    2
    SELECT * FROM nls_DATABASE_PARAMETERS
    SELECT * FROM v$version
    Je ne comprends pas et surtout je suis un peu perdu,
    je ne sais plus ou chercher.

    Merci pour votre aide.

  2. #2
    Membre habitué
    Inscrit en
    septembre 2010
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 74
    Points : 115
    Points
    115

    Par défaut

    Tu dis que ta fonction tombe en échec? Tout d'abord, ce serait bien d'avoir le message d'erreur.

    Te liste plus de paramètres

  3. #3
    Membre confirmé
    Profil pro Luis
    Inscrit en
    avril 2006
    Messages
    677
    Détails du profil
    Informations personnelles :
    Nom : Luis

    Informations forums :
    Inscription : avril 2006
    Messages : 677
    Points : 219
    Points
    219

    Par défaut

    Salut
    tu peux aussi exporter les spfiles de tes 2 bases vers un fichier pfile et ensuite les comparer avec diff:

    Code :
    SQL>CREATE pfile='/tmp/init1.ora' FROM spfile;
    et pareil avec le segond tu le met dans /tmp/init2.ora
    ensuite tu fais:

    Code :
    #diff init1.ora init2.ora >difference.list
    Regarde aussi les parametre de cpu et memoire de tes 2 serveurs

    C'est probable que tu vois quelque chose par ce biais.

    Autre chose, execute cette requête pour voir les dependances de ta fonction:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT owner, object_type, object_name, object_id, STATUS 
    FROM  sys.DBA_OBJECTS WHERE object_id IN (    
    SELECT object_id
      FROM public_dependency
      CONNECT BY PRIOR object_id = referenced_object_id
      START WITH referenced_object_id = ( 
    SELECT object_id FROM sys.DBA_OBJECTS
     WHERE owner        = 'OWNER'
     AND   object_name  = 'NOM'
     AND   object_type  = 'TYPE' ));
    Tu fais ça dans les 2 bases aussi et tu compare les dependences et si les objects sont compilés ou pas...
    Deja tu peux voir cette voie, et oui aussi, l'erreur serait la bienvenu.

    Ciao

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •