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:
Quels seraient les avantages et/ou les inconvénients de chaque technique?
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.
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.