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

 Oracle Discussion :

Comment récupérer un MPD d'une db


Sujet :

Oracle

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut Comment récupérer un MPD d'une db
    Bonjour,

    Je souhaiterais dans la mesure du possible faire une requête et obtenir le schéma de la base de données, est-ce que c'est possible ?

    Je voudrais le schéma contenant dans un tout premier temps les tablespaces, puis dans un deuxième temps sans les tablespaces, uniquement les tables de mon MPD (modèle physique de données).

    Je vous explique le contexte : nous avons récupéré un projet sur un serveur Solaris, avec le système de Zone inhérent à cet O/S, nous n'arrivons pas pas à installer d'outils. C'est dû principalement à notre manque de connaissance du système d'exploitation de Sun.

    La seule chose qui nous reste c'est le vieil éditeur du siècle dernier SQL*Plus.
    Pour faire des opérations sur la base nous avons besoin donc de connaitre le MPD.
    Nous avons un utilisateur Solaris et pour la db qui n'est pas admin.

    Bien à vous.

  2. #2
    Membre habitué
    Inscrit en
    Mai 2010
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 107
    Points : 132
    Points
    132
    Par défaut
    Peu importe l'OS sur lequel est installé la base de données, la question est de savoir est-ce que tu sais te connecter en "remote" ou non?

    Existe-t-il un processus LISTENER est configuré pour recevoir des connections entrantes?

    Si tu peux te connecter à ta base de données avec un utilisateur comme SYSTEM, tu peux faire un reverse engineer de ta base de données avec un outil comme SQL Developer Datamodeler.

    Si tu ne peux pas t'y connecter, tu peux configurer/créer un nouveau listener (lsnrctl/netca).

    Ensuite, tu parles d'un SQL Plus de la "période soviétique", c'est équivalent à quelle version d'Oracle? 7? 8? Je suppose qu'il n'y a pas d'Enterprise Manager

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 73
    Points : 82
    Points
    82
    Par défaut
    Hello,

    Si j'ai bien compris, tu as une machine sun avec un oracle installé ainsi que sa base dans un container et sqlplus dans un autre container c'est ça ?

    Si tu es dans ce cas il te faut absolument le mdp unix du owner de l'instance ou un mdp oracle sinon tu es foutu (Cause sqlnet only...) ...

    Si j'ai pas bien compris il suffit juste de te connecter / as sysdba...

    Bref il nous faut plus d'info...

    Que donne un "ps -eaf | grep pmon" par exemple ainsi que le login utilisé pour accéder à la machine ainsi que son .profile (On laisse tomber les commandes de zonning puisque tu n'es pas root)

    Merci.

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Bonjour et merci pour vos réponses rapides.
    Ce qu'il faut savoir c'est que je ne suis pas spécialistes Oracle, et encore moins Solaris. Et la personne qui est avec moi, en connait encore moins que moi.

    - Je ne peux pas me connecter en remote, parce que mon login unix a des droits réduits, et celui d'Oracle me permet de faire des select.

    Existe-t-il un processus LISTENER est configuré pour recevoir des connections entrantes?
    Sans aucun doute.

    Si tu peux te connecter à ta base de données avec un utilisateur comme SYSTEM
    C'est impossible, je n'ai pas les droits, notre dba ne sera disponible au mieux que la semaine prochaine, et encore. En attendant ils ne veulent pas nous donner plus de droits, cette db sert à plusieurs centaines d'utilisateurs, et nous ne sommes pas spécialistes Oracle, ceci dit on a des développements à faire, il faut qu'il soit fait le plus vite possible.

    Si tu ne peux pas t'y connecter, tu peux configurer/créer un nouveau listener (lsnrctl/netca).
    Je ne peux pas m'y connecter, et surtout il m'est interdit de le faire. je pensais qu'on pouvait récupérer le schéma -MPD- juste avec une commande sql.

    Ensuite, tu parles d'un SQL Plus de la "période soviétique", c'est équivalent à quelle version d'Oracle? 7? 8? Je suppose qu'il n'y a pas d'Enterprise Manager
    Oracle 10 g, il y a certainement EM, mais pour nous, on ne sait pas y avoir accés, et de toute façon on ne doit surtout pas y accéder.


    Si j'ai bien compris, tu as une machine sun avec un oracle installé ainsi que sa base dans un container et sqlplus dans un autre container c'est ça ?
    Tu me poses une question dont je ne peux répondre, j'ai pas ces compétences.

    Si tu es dans ce cas il te faut absolument le mdp unix du owner de l'instance ou un mdp oracle sinon tu es foutu (Cause sqlnet only...) ...
    Je ne sais pas ce que c'est mdp unix, quand bien même ça serait le cas, les spécialistes Unix, prestataires d'une autre société externe, refuserait catégoriquement de nous accorder plus de droit.


    Si j'ai pas bien compris il suffit juste de te connecter / as sysdba...
    C'est justement une chose que je n'ai pas le droit de faire, nous sommes dévelopeurs java, et on a aucun droit en tant que System.

    Que donne un "ps -eaf | grep pmon" ...
    Je te donnerai volontier le résultat, mais le problème étant que je suis en clientèle, et je ne dois sous aucun pretexte diffuser des informations extérieures.

    En fait ce que je voudrai c'est juste une commande qui me permettrait d'avoir les tables , où MPD-Modèle Physique de Données, comme sous Merise- qui sont liées via une commande SQL, histoire d'avoir une idée sur la base de données.

    Je vous remercie pour vos informations et conseils.

  5. #5
    Membre habitué
    Inscrit en
    Mai 2010
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 107
    Points : 132
    Points
    132
    Par défaut
    10g? C'est pas si vieux :/
    Soit, tu veux extraire la structure de ta base de données sans avoir accès à cette base de données. Bon, ben j'ai le regret de t'annoncer que sans accès, cela n'est pas possible.

    Si tu sais te connecter avec un username/password en remote tu peux déjà faire un reverse engineer du schéma dans lequel tu te connectes.

    Mais je me demande, à cela te servira de savoir quels sont les tablespaces gérés par ta base de données?

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par OracleFan Voir le message
    10g? C'est pas si vieux :/
    Soit, tu veux extraire la structure de ta base de données sans avoir accès à cette base de données. Bon, ben j'ai le regret de t'annoncer que sans accès, cela n'est pas possible.
    Je pense que j'ai pas compris ton précédent post, étant donné mes faibles connaissances en Oracle. Pour résumer j'ai un user pour pouvoir me connecter, je peux faire des select, même certains update, delete, insert.

    Citation Envoyé par OracleFan Voir le message
    Si tu sais te connecter avec un username/password en remote tu peux déjà faire un reverse engineer du schéma dans lequel tu te connectes.
    Je pense que cela doit être possible avec un select. C'était l'objet de ma question. Mais j'ai peut être pas pu, où pas sû comment l'exprimer.


    Citation Envoyé par OracleFan Voir le message
    Mais je me demande, à cela te servira de savoir quels sont les tablespaces gérés par ta base de données?
    Je pense qu'en l'état je vais laisser tomber les tablespaces, j'ai uniquement besoin d'avoir les tables qui composent mon MPD -Modèle Physique de Données-.

    Bien à cordialement.

  7. #7
    Membre habitué
    Inscrit en
    Mai 2010
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 107
    Points : 132
    Points
    132
    Par défaut
    Si tu veux le nom des tables que composent ton schéma, tu peux faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TABLE_NAME FROM USER_TABLES;

  8. #8
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Je te remercie Orafrance, mais serait il possible d'avoir les liens entre les tables, ainsi que les clef primaires, et etrangères, eventuellement les colonnes, leur type, où alors où puisje trouver ce genre d'infos. En gros peut on faire du reverse engineering ?

    Bien cordialement.

  9. #9
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Si les clefs ont été modélisées avec des contraintes, vous pouvez faire des requêtes sur le catalogue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from user_constraints
    En plus de user_tables, regardez aussi :
    • user_tab_columns
    • user_col_comments
    • user_indexes
    • user_ind_columns


    PS : les outils de modélisations comme PowerAMC (c'est le seul que je pratique, il y en a d'autres) savent faire de la rétro-ingénierie.

  10. #10
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 73
    Points : 82
    Points
    82
    Par défaut
    MPD !? oh non j'avais compris MDP !!! !!! Plus personne ne fait de MERISE depuis au moins ouhlala...

    Je pense que le moyen le plus rapide pour récupérer la structure est de faire un export norows puis un import avec sqlfile

    Donc avec :

    exp/imp (T'as pas tout mais déjà tu peux bosser je pense) monschema.sql contient tables/indexes/alter des tables :

    cd /tmp
    exp file=exp_monschema.dmp log=exp_monschema.log owner=monschema rows=no
    imp file=exp_monschema.dmp log=imp_monschema.log INDEXFILE=monschema.sql fromuser=monschema touser=monschema

    Avec expdp/impdp tu as tout avec la clause sqlfile mais par contre il te faut un "directory" pour bosser donc c'est pas gagné...

    Yvan.

  11. #11
    Membre habitué
    Inscrit en
    Mai 2010
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 107
    Points : 132
    Points
    132
    Par défaut
    Salut peuplier,

    Pour avoir ce que tu veux:
    1- Va .
    2- Clique sur le radiobutton "Accept License Agreement"
    3- Un peu plus bas sur ta page, des liens apparaissent vers l'outil Datamodeler. Clique sur celui qui correspond à ta plateforme.
    4- Une fois le téléchargement fini, extrait le fichier téléchargé.
    5- Dans le dossier que tu viens d'extraire, lance l'exécutable datamodeler.sh (ou datamodeler.exe)
    6- Clique sur le menu File -> Import -> Data Dictionnary (une nouvelle fenêtre apparait)
    7- Clique sur le bouton Add dans le bas de l'écran (une nouvelle fenêtre apparait)
    8- Introduit les paramètres de connections vers ta base de données (et fais le test de connection pour être sur que cela fonctionne).
    9- Une fois la connection testée et validée, clique sur le bouton OK. Le dialogue se ferme et tu reviens à l'écran précédent.
    10- Sélectionne la connection que tu viens de créer (la seule dans la liste si tu n'as jamais utilisé l'outil).
    11- Clique sur next (tu devras peut-être réintroduire le mot de passe pour ta connection)
    12- Sélectionne les schémas auxquels tu as accès et fais next.
    13- L'écran sur lequel tu es reprend tout les objets auxquels tu as accès (tables, vues, contraintes, types, synonymes, tablespaces, roles, les dossiers, etc etc). Passe en revue chacun des onglets et sélectionne ce que tu veux voir dans le résultat. Le bouton select all est utile parfois Une fois ton choix terminé, clique sur Next.
    14- Un résumé du traitement qui se produira en cliquant sur Finish t'es présenté (nombre d'objet a importer)
    15- Clique sur Finish (tu vas peut-être devoir réintroduire le mot de passe).
    16- Parcours le log pour voir si tout s'est bien déroulé. De par mon expérience, si tu n'as pas de type BFile dans tes tables tout se passe correctement. Les tables externes sont prises en comptes, les nvarchar, les timestamps, les BLOB/CLOB, etc etc).

    Maintenant, tu peux t'amuser à faire de l'ordre dans toutes les flèches dans tout les sens.

    A+

  12. #12
    Invité
    Invité(e)
    Par défaut
    À noter qu'Oracle Data Modeler est un outil payant.

    Is Oracle SQL Developer Data Modeler free?
    No, it is a priced product. The pricing is on a per seat basis and pricing is listed on the Price List.
    http://www.oracle.com/technetwork/de...aq-167678.html

  13. #13
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par Jerome_Mtl Voir le message
    À noter qu'Oracle Data Modeler est un outil payant.


    http://www.oracle.com/technetwork/de...aq-167678.html
    Merci à tous, pour vos interventions, je n'ai pas pu répondre ni hier, ni avant hier, parce qu'on avait une grosse surcharge de travail, et on a quitté tard.

    Si le logiciel est payant, -je suis en clientèle, dans une institution européenne- je ne peux pas l'installer, c'est ainsi, je sais que je suis exigent, mais que voulez vous c'est ainsi, le client interdit toute installation de logiciel payant, et ils controlent beaucoup.
    Avec le SQL, j'ai déjà réussi à avoir le nombre de tables, plus de 120, ce qui n'est pas peu. Savoir quelles tables est liée à une autre c'est impossible à deviner. L'ennui c'est que je dois faire un travail de DBA, sachant que je n'ai pas les compétences, mais il faut faire avec, c'est ainsi, c'est pourquoi que je compte énormément sur votre aide.

    Bien cordialement.

  14. #14
    Membre habitué
    Inscrit en
    Mai 2010
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 107
    Points : 132
    Points
    132
    Par défaut
    Le logiciel est payant mais comme beaucoup d'outils Oracle. Par exemple, la base de données est payante, mais tu peux l'"évaluer", tu peux l'utiliser à des fins d'apprentissage, etc. Toi, tu as juste besoin d'un graphe... Tu peux juste voir le résultat en évaluant le produit...

    Et pour info, je bosse aussi pour une institution Européenne et je doute que la DIGIT te fasse une remarque par rapport à ce zip qui s'extrait et qui se supprime en deux cliques.

    Enfin, c'est à toi de voir... ET pour terminer, j'estime que ce n'est pas le travail d'un DBA de faire de la rétro-ingénierie. C'est aux développeurs à correctement documenter leurs schémas. Le DBA conseille, valide, oriente, propose des solutions, des choix d'architecture, MAIS NE DOCUMENTE PAS LES SCHEMAS DE TOUT UN CHACUN.

    Enfin, voila, sinon, si tu veux pas te lancer dans SQL Developer datamodeler, JDEveloper est gratuit d'utilisation et il fais aussi de la rétro-ingénierie de schéma... Mais il fais aussi des centaines d'autres choses... A toi de voir si tu veux le sous-marin nucléaire qui fait aussi fusée dirigé par un satellite russe avec un protocole chinois ou la petite bicyclette pour aller acheter ta couque à la boulangerie en allant à l'école...

  15. #15
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par OracleFan Voir le message
    ET pour terminer, j'estime que ce n'est pas le travail d'un DBA de faire de la rétro-ingénierie. C'est aux développeurs à correctement documenter leurs schémas. Le DBA conseille, valide, oriente, propose des solutions, des choix d'architecture, MAIS NE DOCUMENTE PAS LES SCHEMAS DE TOUT UN CHACUN.
    Dans un monde parfait, ça serait ainsi...

  16. #16
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par OracleFan Voir le message
    Et pour info, je bosse aussi pour une institution Européenne et je doute que la DIGIT te fasse une remarque par rapport à ce zip qui s'extrait et qui se supprime en deux cliques.
    Je ne donnerai pas de détails sur là où je travaille, mais ici ils controlent.

    Citation Envoyé par OracleFan Voir le message
    Enfin, c'est à toi de voir... ET pour terminer, j'estime que ce n'est pas le travail d'un DBA de faire de la rétro-ingénierie. C'est aux développeurs à correctement documenter leurs schémas. Le DBA conseille, valide, oriente, propose des solutions, des choix d'architecture, MAIS NE DOCUMENTE PAS LES SCHEMAS DE TOUT UN CHACUN.
    Effectivement je suis d'accord avec toi, le DBA est l'indispensable support, mais dans un environnement en pleine crise économique, il y a de moins en moins de différences entre un dba, un analyste developpeur java, .NET.

    T'es presta. tu dois ramener des sous, et si possible le plus possible. Nous avons trois DBA dans ma boite, un qui est malade, un qui fait de l'Oracle dans une banque, un autre qui a été envoyé dans une imprimerie apprendre un logiciel dont je ne me rappelle plus le nom, que trés peu de monde connnait, mais qui rapporte énormément. Et les analystes développeurs java sont là, ils doivent aussi ramener des sous, et comme le client n'est pas toujours regardant, on est la bonne à tout faire. D'où mon message.
    L'esprit français a l'immense avantage d'être fléxible -c'est vrai parfois un peu trop! :-) -, quoi qu'on puisse en dire, la mentalité est toujours ouverte, et disposé au compromis, c'est quelque chose d'infiniment appréciable. Par contre pas avec les européenns du nord, allez faire comprendre à un suédois, où un allemand qu'on peut travailler dans Oracle, si on a le mot de passe DBA, on ne fera pas de dégats, ça fait des années qu'on travaille sur ce sgbd, on le connait, certes on est pas certifié, on est pas dba, loin de là, mais on sait quand même récupérer un schémas.
    Impossible! Impossible! les plus intransigeants sont sans doute les nordiques, inutile de discuter avec eux.

    Citation Envoyé par OracleFan Voir le message
    Enfin, voila, sinon, si tu veux pas te lancer dans SQL Developer datamodeler, JDEveloper est gratuit d'utilisation et il fais aussi de la rétro-ingénierie de schéma... Mais il fais aussi des centaines d'autres choses...
    Merci je ne connaissais pas JDevelopper. Je connaissais qu' Oracle SQLDevelopper


    Citation Envoyé par OracleFan Voir le message
    A toi de voir si tu veux le sous-marin nucléaire qui fait aussi fusée dirigé par un satellite russe avec un protocole chinois ou la petite bicyclette pour aller acheter ta couque à la boulangerie en allant à l'école...
    En l'état actuel une bicyclette suffit

    Merci pour votre aide, je vous tiendrai au courrant de nos travaux, aujourd'hui il y a le feu ailleurs.

  17. #17
    Membre habitué
    Inscrit en
    Mai 2010
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 107
    Points : 132
    Points
    132
    Par défaut
    La bicyclette = SQLDeveloper datamodeler

  18. #18
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    190
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 190
    Points : 76
    Points
    76
    Par défaut
    Bonjour à vous tous, je n'ai pas pu intervenir plus tôt parce que nous avions beaucoup, beaucoup de travail en ce mois d'octobre.

    Je tiens encore à vous remercier tous pour l'aide apportée. Nous avons fini par récupérer le mcd et le mpd grace à la récupération du script de création. Votre aide nous a été trés utile.

    Bien à vous.

  19. #19
    Membre habitué
    Inscrit en
    Mai 2010
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 107
    Points : 132
    Points
    132
    Par défaut
    Juste pour mise à jour...

    SQL Developer DATA MODELER est devenu GRATUIT (tout comme SQL Developer). Ce qui a été dit plus tot n'est plus d'actualité

    (et la version 3.0 de SQL Developer est accessible en early access).

    Bien à vous,

  20. #20
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par OracleFan Voir le message
    SQL Developer DATA MODELER est devenu GRATUIT (tout comme SQL Developer). Ce qui a été dit plus tot n'est plus d'actualité
    Merci de l'information!
    C'est devenu gratuit 3 jours après mon intervention...
    http://www.oracle.com/technetwork/de...aq-101047.html

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Comment récupérer l'état d'une case à cocher
    Par oursquetaire dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 10/01/2006, 08h58
  2. Réponses: 1
    Dernier message: 21/11/2005, 12h07
  3. Comment récupérer l'ID d'une tâche programmée avec AT ?
    Par langela94 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 23/09/2005, 11h01
  4. Comment récupérer le chemin d'une table liée
    Par ptitepunk dans le forum Access
    Réponses: 2
    Dernier message: 15/09/2005, 10h47
  5. [Sécurité] comment récupérer le subject dans une page jsp?
    Par lalakers dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 13/07/2005, 11h42

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