ancienne approche pour l'exportation/importation schéma tout:Oracle: importation décharge de la pompe de données sans contenu du fichier de vidage de connaissances
exp user/[email protected] FILE=export.dmp OWNER=user ROWS=Y
imp newuser/[email protected] FULL=Y FILE=export.dmp
Nouvelle approche:
expdp user/[email protected] DUMPFILE=export.dp DIRECTORY=exportfolder
Cependant avait un problème avec l'importation:
impdp newuser/[email protected] DUMPFILE=export.dp DIRECTORY=exportfolder
n'importera rien:
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-31655: no data or metadata objects selected for job
ORA-39154: Objects from foreign schemas have been removed from import
Master table "NEWUSER"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "NEWUSER"."SYS_IMPORT_FULL_01": newuser/********@server
DUMPFILE=export.dp DIRECTORY=exportfolder
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Job "NEWUSER"."SYS_IMPORT_FULL_01" successfully completed at 19:13:04
Ajout de l'option schémas ne sera pas utile (résultat est le même, l'oracle ne permet pas d'objets non appartenant à l'importation):
impdp newuser/[email protected] DUMPFILE=export.dp DIRECTORY=exportfolder schemas=user
Et une seule approche de travail que j'ai trouvé:
impdp newuser/[email protected] DUMPFILE=export.dp DIRECTORY=exportfolder remap_schema=newuser:user
Donc, la question est de savoir comment importer la vidage de données de schéma sans savoir quel schéma a été exporté?
(Bien sûr, je peux regarder les 512 premiers octets de fichier d'exportation et trouver la chaîne comme "USER". "SYS_EXPORT_SCHEMA_01"), mais peut-être existe une autre approche?
merci pour suggestion, mais plein = y ne aide pas de toute façon, l'erreur sera la même: ORA-39154: Objets de l'étranger n schémas ont été retirés de l'importation, donc en fait importer importé :). Mais c'est inutile car il ne charge aucun objet de la sauvegarde, car son schéma différent. –
@Michael Pakhanstov - C'est vrai, un full = y dira l'import pour importer des données dans la base de données pour les utilisateurs qui sont dans l'importation.Si new_user n'a pas de données dans l'importation, ce qui n'est pas le cas dans votre exemple, alors vous ne verrez aucune donnée ou aucun objet dans new_user; C'est là que remap_schema entre en jeu. ORA-39154 indique que vous n'avez pas le privilège d'importer les données d'autres utilisateurs - ce que vous faites avec full = y pour imp et impdp. –