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

Import/Export Oracle Discussion :

Importer un dump sous Oracle 10g [Fait]


Sujet :

Import/Export Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Importer un dump sous Oracle 10g
    Bonjour à tous,
    Je suis débutant sous Oracle et pourtant en charge des différentes bases Oracle (chez nous et chez les clients).
    Il me faut plus particulèrement recréer une base en 10g à partir d'un dump du client. Mais je n'ai aucune idée de la structure de la base exportée.
    Quelqu'un peut-il me donner la marche à suivre pour y arriver avec seulement un dump comme support ?
    Je ne connais même pas l'architecture du serveur initial (path de la base). Si le chemin de la base importée est sur un autre lecteur que le c:\ qu'est-ce qu'il se passe ? Le dump va-t-il recréer toute la structure de la base initiale (tablespaces) ?

    Merci de vos conseils.

  2. #2
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Pas de panique

    Déjà, créer une base Oracle 10g à vide en choisissant toi-même les chemins des controlfiles, redologs et datafiles des tablespaces SYS, SYSTEM, SYSAUX et UNDO (pas besoin que ce soient les mêmes que sur la base du client), démarre l'instance avec un pfile minimaliste et ouvre la base

    Ensuite lance la commande d'import dans cette base avec comme options "full=y show=y" pour juste voir le contenu de ton fichier dump, avec notamment les commandes de création des users (utilise le paramètre "log=..." pour tout conserver dans un fichier)

    Le plus simple est ensuite de créer sur ta base un tablespace unique DATA, de recréer les users avec comme tablespace par défaut DATA (en reprenant éventuellement les commandes "CREATE USER" dans le contenu de l'import si tu veux les mêmes passwords), et ensuite de lancer l'import de chaque user applicatif ("imp ... fromuser=... touser=... ignore=y", pour que tout soit importé dans le tablespace DATA. Niveau espace disque, laisse DATA en autoextend éventuellement si tu n'as aucune idée de la volumétrie de la base du client

    Ensuite à toi éventuellement de réorganiser la base, en créant d'autres tablespaces ou en déplaçant des objets

    Par contre si tu n'as pas les paramètres d'instance de la base du client, impossible de les retrouver dans le dump
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par scheu Voir le message
    Pas de panique

    Déjà, créer une base Oracle 10g à vide en choisissant toi-même les chemins des controlfiles, redologs et datafiles des tablespaces SYS, SYSTEM, SYSAUX et UNDO (pas besoin que ce soient les mêmes que sur la base du client), démarre l'instance avec un pfile minimaliste et ouvre la base

    Ensuite lance la commande d'import dans cette base avec comme options "full=y show=y" pour juste voir le contenu de ton fichier dump, avec notamment les commandes de création des users (utilise le paramètre "log=..." pour tout conserver dans un fichier)

    Le plus simple est ensuite de créer sur ta base un tablespace unique DATA, de recréer les users avec comme tablespace par défaut DATA (en reprenant éventuellement les commandes "CREATE USER" dans le contenu de l'import si tu veux les mêmes passwords), et ensuite de lancer l'import de chaque user applicatif ("imp ... fromuser=... touser=... ignore=y", pour que tout soit importé dans le tablespace DATA. Niveau espace disque, laisse DATA en autoextend éventuellement si tu n'as aucune idée de la volumétrie de la base du client

    Ensuite à toi éventuellement de réorganiser la base, en créant d'autres tablespaces ou en déplaçant des objets

    Par contre si tu n'as pas les paramètres d'instance de la base du client, impossible de les retrouver dans le dump

  4. #4
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Merci pour la réponse,
    L'opération s'est bien passée car j'ai recréé les tablespaces sur le c: avant l'import (merci le log avec show=y).
    J'ai également essayer en rajoutant un lecteur d: et là l'import recrée tout seul les tablespaces.

    Encore une question : avec un export Full, on récupère bien tous les schémas de tous les users d'un seul coup ?

  5. #5
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Citation Envoyé par Vinny49 Voir le message
    Encore une question : avec un export Full, on récupère bien tous les schémas de tous les users d'un seul coup ?
    Oui
    Si la base source et la base cible sont dans la même version d'Oracle, tu peux même faire un import full pour tout importer d'un coup

    Par contre si les versions d'Oracle sont différentes (ex : dump d'une base 8i que tu veux importer dans une base 10g) ,c'est délicat et potentiellement dangereux de faire un import full, car ça importe aussi des objets du dictionnaire qui peuvent différer, j'ai déjà eu des soucis du coup je privilégie toujours l'import user par user entre deux versions différentes
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  6. #6
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut màj de base cliente
    Merci pour tes conseils,
    Je viens de récupérer un dump à jour du client et je dois remplacer l'ancienne base chez nous.
    Quelle méthode employer ?
    Je voulais dans un premier temps effacer le schéma TOTO qui a priori contient toutes les données de tous les utilisateurs créés ensuite dans l'application pour faire ensuite un import FULL.
    Et là je me rends compte que EM ne marche pas sur le serveur, et SQL Developper (toad non plus) ne me donne pas la visu des différents schémas de la base (logiquement SYS + TOTO) que je voulais vérifier !!!
    Question : comment voir les différents schémas d'une base en 10g ? avant DBAStudio le permettait sur une base en 8.
    Faut-il forcément supprimer les schémas avant un import FULL ? tous ou seulement TOTO dans mon cas ?
    à toute,

  7. #7
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Regarde dans la vue dba_users pour voir les users créés sur ta base
    Lis aussi ce tuto qui liste les utilisateurs spécifiques Oracle qui peuvent exister.
    Tes schémas applicatifs sont donc tous les utilisateurs existants sur ta base sauf ceux qui sont dans le tuto

    Si dans le dump que tu as eu toutes les tables sont contenues dans un seul schéma, fait juste un export/import de ce schéma dans ton schéma toto
    Le plus simple est de faire au préalable un "drop user toto cascade" avant de réimporter, ça évite les conflits si des tables existentes déjà, ou les insertions de doublons
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  8. #8
    Futur Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    OK, c'est bien ce que je pensais.
    Je connaissais le Tuto, le soucis est dans la définition même du schéma pour Oracle.
    Dans mes bases, j'ai a priori 3 schémas SYS, SYSTEM et TOTO (donné par DBAStudio et les scripts de création que j'ai retrouvés). Toutes les objets de l'applicatif se retrouvent dans le schéma TOTO.
    Partout dans les docs on me dit que pour Oracle, un user = un schéma particulier. Mais là, j'ai plein de users clients qui sont tous définis dans le schéma TOTO. Ils n'ont pas chacun 1 schéma.
    question : sur une base en 10g (pas de DBAStudio !!!) comment je visualise mes 3 schémas SYS, SYSTEM et TOTO si je ne connais rien sur cette base ?
    Avec un Drop user TOTO cascade, je touche le schéma TOTO avec toutes les données applicatives ou seulement le user TOTO au même titre que les dizaines de users clients ?
    Je suis preneur d'infos ou de doc claires sur le sujet des schémas car dans la pratique, ce n'est vraiment pas évident.
    Merci.

  9. #9
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Si j'ai bien compris, toute ton application et ton modèle de données tiennent dans un seul schéma TOTO (il n'y a donc qu'un seul compte oracle TOTO hormis les comptes SYS et SYSTEM)
    Tu confonds Compte Oracle et Connexion utilisateur
    Toutes les utilisateurs se connectent sans doute à la base en utilisant le même compte Oracle TOTO
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

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

Discussions similaires

  1. Dump différentiel sous oracle 10g
    Par ShakaV dans le forum Import/Export
    Réponses: 3
    Dernier message: 25/04/2012, 14h12
  2. Importer un fichier sql sous Oracle 10G
    Par turican2 dans le forum Import/Export
    Réponses: 3
    Dernier message: 20/05/2008, 20h51
  3. import / export sous oracle 10g
    Par ismaelite dans le forum Oracle
    Réponses: 2
    Dernier message: 15/12/2006, 12h40
  4. [10g] Importer base excel sous Oracle
    Par Le Mad dans le forum Oracle
    Réponses: 5
    Dernier message: 01/02/2006, 14h12
  5. importer dump sous oracle 9i
    Par m@estro dans le forum Oracle
    Réponses: 9
    Dernier message: 24/10/2005, 14h13

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