web-dev-qa-db-fra.com

Comment créer une copie du schéma complet sur la même base de données dans Oracle

Je veux créer une copie complète du schéma sur la même base de données. Quelle est la meilleure technique pour le faire?

J'ai quelques idées en tête:

  1. Lien Datapump Over Db
  2. IMPDP sur la liaison réseau
  3. EXPDP puis IMPDP.

Quels seraient les avantages et/ou les inconvénients de chaque technique?

10
user3209595

Vous n'avez pas besoin d'un lien réseau sophistiqué ou quoi que ce soit juste les commandes expdp/impdp. Exportez d'abord le schéma souhaité:

expdp fromUser/fromPword schemas=sourceSchema directory=DUMPDIR dumpfile=dump.dmp logfile=explog.txt

Astuce: assurez-vous que cet utilisateur a la possibilité d'écrire dans DUMPDIR ou quoi que vous l'appeliez

Réimportez ensuite le schéma à l'aide de remap_schema paramètre:

impdp toUser/toPword directory=DUMPDIR dumpfile=dump.dmp logfile=implog.txt remap_schema=fromUser:toUser

Si vous voulez vraiment utiliser le paramètre network_link (afin de ne pas créer de fichier de vidage pour une raison quelconque), je vous recommande de lire this ou this .
De grandes informations sur votre question se trouvent ici également.

22
mmmmmpie

Essaye ça:

Copier le schéma dans la même base de données

J'ai testé et cela a fonctionné. mais vous devez créer un lien public comme mentionné dans les commentaires.

Si vous créez un fichier .par qui remappe vos espaces de table, vous pouvez le réutiliser. Avec une recherche, remplacez bien sûr.

O et n'oubliez pas de mettre la transforme dans le fichier .par:

TRANSFORM=oid:n

Sinon, vous pourriez obtenir des erreurs.

2
Rooie3000