2008-12-20 7 views
1

J'ai du mal à générer les dbscripts de TOAD. Je reçois des erreurs lors de l'exécution des scripts comme des boucles de chaînes de synonymes ou certaines instructions pas abel à exceute etcQuelle est l'approche la plus simple pour synchroniser et dupliquer le schéma oracle db?

Y a-t-il une manière transparente de dire comme connecter un schéma d'oracle distant et de simplement dupliquer dans mon environnement local?

Et faire aussi la synchronisation le long du chemin?

Répondre

2

un schéma ensemble synchronisation, les données et tout, se fait assez facilement avec exp et diablotin:

$ exp username/[email protected] CONSISTENT=Y DIRECT=Y OWNER=schema FILE=schema.exp 
$ ⋮ # some command(s) to nuke objects, see below 
$ imp username/[email protected] FROMUSER=schema FILE=schema.exp 

Vous pouvez importer dans un schéma différent si vous voulez en utilisant TOUSER dans la commande diablotin.

Vous devrez vous débarrasser de tous les objets s'ils existent déjà avant d'exécuter imp. Vous pouvez soit écrire un script rapide pour les supprimer tous (regardez la vue user_objects), ou simplement laisser tomber l'utilisateur avec cascade et recréer l'utilisateur.

Il existe probablement une meilleure façon de faire cela, mais cela est rapide à mettre en œuvre et cela fonctionne.

2

Si vous faites une copie unique exp/imp (ou expdp/impdp dans les versions plus récentes) est le meilleur. Si vous passez de dev à test en prod, vous devriez utiliser un contrôle de source formel, avec des scripts SQL ou SQL * Plus.

0

Schema Compare for Oracle devrait être capable de réaliser cela, car c'est un outil dédié spécifiquement pour résoudre cette tâche.

Si vous voulez que cela se passe en arrière-plan, une ligne de commande vous permet d'y parvenir.

Questions connexes