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 :

export/import j'y arrive pas


Sujet :

Import/Export Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 126
    Points : 49
    Points
    49
    Par défaut export/import j'y arrive pas
    Bonjour à tous,
    j'arrive pas à faire fonctionner l'export/import entre mes 2 bases. Voici la situation.

    -La base DEV de production est rempli par un utilisateur "sapr3", composé de 24.000 tables, vues ....

    -La base DEV cobaille que je veux utiliser pour test doit récuppérer les données de celle de prod. Elle a elle aussi un utilisateur sapr3 avec un schéma mais moins à jours.

    J'ai donc fait un "drop user sapr3 cascade" pour tout effacer le schema de sapr3 de la base test avant l'import. j'ai ensuite recréer l'utilisateur et importer les 24.000 tables mais y'a pas les vues!! (j'avait fait un export de sapr3). Après vérif, j'ai vu que l'export en mode user ne prennait pas les vues (c'est nul?!?).

    Je me lance donc dans un export de la database complète sauf que je me pose qqes questions. Que se passe t'il si les tablespace et datafile existent déja sur la base de destination? Dois-je dropper les tablespaces? en effet je drop l'user sapr3 en vidant son schéma mais je ne pense pas que ça ne supprime pas les tablespaces... Enfin, que se passe t'il pour les tablespaces systeme genre "system"... Il existe aussi dansles deux bases et sauf erreur de ma part ils contienent le nom des tablespaces etc....

    C'est super abstrait l'import/export, la doc de oracle est beaucoup trop complexe car elle n'explique pas de manière précise les cas où les datafiles existent déja... Ne serait-ce que pour une table, si elle existe déja comment ça se passe?

    Pas mal de question parceque faut pas que je me loupe encore.. Sorry et merci d'avance

  2. #2
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Que se passe t'il si les tablespace et datafile existent déja sur la base de destination?
    A full import creates any undefined tablespaces using the same datafile names as the exported database.
    Dois-je dropper les tablespaces?
    Probablement non, sauf si vous voulez et pouvez avoir exactement les mêmes noms absolus de datafiles pour la base source et la base cible.
    Enfin, que se passe t'il pour les tablespaces systeme genre "system"
    Le tablespace system n'est pas recrée. Pour le contenu: les objets appartenant à SYS et les privilèges sur les objets appartenant à SYS ne sont par exportés (mais SYSTEM oui).
    Ne serait-ce que pour une table, si elle existe déja comment ça se passe?
    When tables are manually created before data is imported, the CREATE TABLE statement in the export dump file will fail because the table already exists. To avoid this failure and continue loading data into the table, set the import parameter IGNORE=y. Otherwise, no data will be loaded into the table because of the table creation error.
    Pour tester rapidement l'export/import, vous pouvez créer 2 petites bases qui représentent la base source et la base cible. Pour la base source: créez les même tablespaces, les même nom de schémas, les mêmes droits des utilisateurs à exporter et créer dans chaque schéma 1 objet représentant chaque type d'objet utilisé dans chaque schéma et inserez quelque lignes dans chaque table. Créez la base cible avec ce que vous voulez et tester l'export/import que vous voulez réaliser: comme le nombre d'objets et le volume de données sera minimal vous aurez le résultat très rapidement.

    Ceci dit, s'il s'agit de copier rapidement une base de production à priori volumineuse dans une base de test, vous pouvez éviter les problèmes de suppression et création d'objet en utilisant:
    - les tablespaces transportables
    - la copie physique de la base à partir du backup (très utile pour tester le backup)
    - la duplication par RMAN si vous utilisez RMAN pour faire les sauvegardes

    PS: n'oubliez pas de préciser quelle version d'Oracle vous utilisez.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 126
    Points : 49
    Points
    49
    Par défaut
    Merci pour ces réponses mais je plante toujours.

    En effet j'ai fait un export database d'une base sous Unix pour windows.

    Lorsque je l'importe dans Windows, il plante au niveau des "create tablespace" puisqu'il fait des "create datafile" avec des "/" (slash).

    Or, malheureusement sous windows c'est des anti-slashs donc ça plante dès le début.

    j'ai essayé d'ouvrir le fichier dumpé mais c'est du binaire, peux pas modifier les chemin des fichiers pour les adapter à windows.

    Qqun a déja eu ce problème?

    merci

  4. #4
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut
    Je pense que tu as tout interêt à ce que TOUS tes tablespace soient déjà définis sous ta base windows...
    Ainsi lors de ton import ils ne devraient pas être recréés (car pas besoin) et donc tu n'auras pas d'erreur avec ton "/".
    En théorie l'import ne recrée pas les tablespaces s'ils existent (quoi qu'il y ait peut être une option pour)
    Dyvim

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 115
    Points : 130
    Points
    130
    Par défaut
    Citation Envoyé par lecharcutierdelinux

    J'ai donc fait un "drop user sapr3 cascade" pour tout effacer le schema de sapr3 de la base test avant l'import. j'ai ensuite recréer l'utilisateur et importer les 24.000 tables mais y'a pas les vues!! (j'avait fait un export de sapr3). Après vérif, j'ai vu que l'export en mode user ne prennait pas les vues (c'est nul?!?).
    Faire un export full (sans constraints=n ;-) )
    $ exp system/passwd file=full_exp.dmp log=fulll_exp.log full=y compress=y buffer=10000000

    Recréer le compte en laissant les tablespaces
    SQL> drop user sapr3 cascade ;
    SQL> create user sapr3 ; quota ; role ; resource ; grant etc....

    Faire l'import
    $ imp system/passwd file=full_exp.dmp log=sapr3_imp.log fromuser=sapr3 touser=sapr3 commit=y ignore=y buffer=10000000
    Normalement, tu dois avoir aucune erreurs sauf s'il y a des trucs public (synonyms, dblink). Là faudra recommencer le drop, create puis creation des trucs public...

    A+

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 126
    Points : 49
    Points
    49
    Par défaut
    Merci à vous deux, cependant:

    >Louping
    Si je fais un export/import full database comme tu me le conseille, je n'ai pas besoin de re-créé l'user sapr3 puisque l'import le re-créera? J'aurais les vues avec l'option full?

    >Dyvim
    Faut-il que j'utilise l'option ignore=Y pour pas qu'il bloque sur la création des Tablespace déja existant?

    Dire que Oracle vend l'export/import comme simple.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 115
    Points : 130
    Points
    130
    Par défaut
    Citation Envoyé par lecharcutierdelinux
    Merci à vous deux, cependant:

    >Louping
    Si je fais un export/import full database comme tu me le conseille, je n'ai pas besoin de re-créé l'user sapr3 puisque l'import le re-créera? J'aurais les vues avec l'option full?

    >Dyvim
    Faut-il que j'utilise l'option ignore=Y pour pas qu'il bloque sur la création des Tablespace déja existant?

    Dire que Oracle vend l'export/import comme simple.
    C'est un export full et un import user que je t'ai décris donc il faut que les TS et le compte existent.... Tu auras les vues car tu avais dû faire ton export avec CONSTRAINTS=N et de mémoire cela contient les index, les contraintes mais aussi les vues...
    A+

Discussions similaires

  1. TALEND : La fonction Export / Import ne fonctionne pas
    Par chebdo dans le forum Installation, migration et administration
    Réponses: 2
    Dernier message: 30/05/2011, 17h03
  2. export+import full qui n'a pas ramené les mots passe user
    Par travail2009 dans le forum Import/Export
    Réponses: 2
    Dernier message: 09/02/2010, 08h24
  3. Je n'arrive pas à importer Pylab
    Par James de Paris dans le forum Calcul scientifique
    Réponses: 6
    Dernier message: 24/11/2009, 09h56
  4. Je n'arrive pas à importer un fichier .sql
    Par ted-bis dans le forum Débuter
    Réponses: 6
    Dernier message: 03/01/2007, 07h28

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