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 :

[10g] Duplication / copie de schema


Sujet :

Import/Export Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 66
    Par défaut [10g] Duplication / copie de schema
    Bonjour à tous.

    Je reviens de nouveau avec des questions toutes nulles mais est-il possible de dupliquer / copier un schema vers un autre ?

    En fait j'ai 3 schema dans ma DB :
    - Dev
    - Test
    - Live

    Je voudrais bazarder le Live et le recréer ensuite à partir du Test.
    Quelle est la procédure la plus simple pour réaliser tout ça ?

    Merci d'avance

  2. #2
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Le plus simple plutôt que de copier objet par objet, c'est de faire un export du schéma test et de l'importer dans le schéma live :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SQL> DROP user live CASCADE;
    SQL> CREATE USER live IDENTIFIED BY password_live DEFAULT TABLESPACE tbs1 TEMPORARY TABLESPACE tbs2;
    shell/DOS> exp test/password_test file=test.dmp log=test.log owner=test direct=y
    shell/DOS> imp live/password_live file=test.dmp log=live.log fromuser=test touser=live ignore=y
    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
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 66
    Par défaut
    Merci, j'essaierai ça demain matin !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 66
    Par défaut
    Ca marche très bien mis à part que lorsque je recrée l'utilisateur, celui-ci n'a plus aucun droit.

    Pour l'import j'ai donc dû remettre tous les privilèges systèmes.
    Enfin presque tous car pour certains, impossibles de les remettre sous peine d'avoir l'erreur "Failed to commit: ORA-00990: missing or invalid privilege.".
    Ex. : ALTER ANY RULE, CREATE RULE, ...
    Y'a-t-il moyen de créer un utilisateur en lui donnant par défaut tous les privilèges systèmes ?

    EDIT : je vois aussi que les objets de LIVE se sont mis dans le même tablespace que le TEST. C'est possible d'importer directement dans les bons tablespaces ? Si non, après import, c'est possible ?

    Merci !

  5. #5
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Quand tu recrées l'utilisateur live, il faut lui remettre les droits qu'il avait avant suppression
    Si tu veux qu'il ait tous les privilèges système, le plus simple est que tu lui mettre le rôle DBA
    Par contre, si live et test avaient des tablespaces différents, le seul moyen en utilisant exp/imp serait de ne pas donner à live le droit de créer dans le tablespace de test, comme ça lors de l'import les objets iraient dans le tablespace par défaut de live

    Sinon si tu es en version 10g tu peux faire quelque chose de similaire avec datapump et l'option REMAP_TABLESPACE (voir tuto)
    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
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 66
    Par défaut
    Merci ! Je vais aller jeter un oeil.

    Je clôture ce topic, encore merci à tous pour votre aide.

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

Discussions similaires

  1. duplication d'un schema en local
    Par friedman1987 dans le forum Administration
    Réponses: 0
    Dernier message: 09/04/2011, 00h21
  2. [Oracle 10g r2 ] copies de bases sur machine b
    Par Franco dans le forum Administration
    Réponses: 3
    Dernier message: 22/03/2008, 14h03
  3. [XSL] Copie du schema complet sauf 1 modif
    Par Bolka1 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 07/07/2007, 14h55
  4. [9i rel 2 >> 9i rel 1] Copie Schema
    Par e77em dans le forum Oracle
    Réponses: 5
    Dernier message: 07/02/2006, 16h32
  5. [Oracle Lite 10g]ORA-00957: duplicate column name
    Par maredami dans le forum Oracle
    Réponses: 4
    Dernier message: 02/11/2005, 13h13

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