J'essaie d'importer un fichier de vidage donné à l'aide de l'utilitaire Oracle imp. Toutefois; Je suis confronté aux problèmes suivants.
C:\Users\AD>imp DB_USER/*****@dev1 file=C:\test\db42312.dmp log=C:\test\import2.log
Import: Release 11.2.0.1.0 - Production on Thu Apr 10 13:37:47 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
IMP-00038: Could not convert to environment character set's handle
IMP-00000: Import terminated unsuccessfully
C:\Users\AD>
Ma base de données source donne les résultats suivants pour la requête NLS
SQL> select * from v$nls_parameters where parameter in ('NLS_CHARACTERSET','NLS_LANGUAGE');
PARAMETER VALUE
---------- ---------
NLS_LANGUAGE FRENCH
NLS_CHARACTERSET AL32UTF8
SQL>
Et ma base de données de destination donne les résultats suivants:
SQL> select * from v$nls_parameters where parameter in ('NLS_CHARACTERSET','NLS_LANGUAGE');
PARAMETER VALUE
---------- ---------
NLS_LANGUAGE AMERICAN
NLS_CHARACTERSET AL32UTF8
SQL>
Le problème auquel je suis confronté lors de l'exécution de la commande d'importation semble être un problème de jeu de caractères.
Est-il possible d'importer le vidage de la base de données dans mon nouveau schéma (mais vide)? Veuillez noter que j'ai déjà d'autres bases de données sur le même serveur.
Pour moi, c'était la commande imp qui était erronée. Le vidage que j'ai obtenu a été pris en utilisant expdp et j'essayais de l'importer avec imp.
J'ai été importé à l'aide de la commande impdp.
Selon le document Metalink:
L'importation échoue avec l'erreur IMP-38 (Doc ID 1024237.6)
Cause: le fichier de vidage est corrompu ou les variables d'environnement ne sont pas correctement définies.
Solution: Il y a quelques éléments à considérer lorsque vous abordez ce problème:
Si le fichier de vidage d'exportation a été transféré d'un emplacement à un autre à l'aide de FTP, assurez-vous qu'il a été envoyé à l'aide du mode BINARY.
Vérifiez que le fichier de vidage n'a été modifié d'aucune façon. Ce n'est pas une activité prise en charge.
Vérifiez les paramètres d'environnement.
Assurez-vous que la variable d'environnement LD_LIBRARY_PATH
pointe vers le bon Oracle_HOME
pour la version du binaire d'exportation utilisée.
LD_LIBRARY_PATH
doit être défini sur $Oracle_HOME/lib
. Si ce n'est pas défini correctement, l'exécutable d'exportation ne pourra pas trouver les fichiers NLS corrects.
Si vous utilisez Oracle7.2.2, assurez-vous que la variable d'environnement ORA_NLS
est réglé correctement. Il doit être défini sur $Oracle_HOME/ocommon/nls/admin/data
Définir la variable d'environnement NLS_LANG
au jeu de caractères du fichier de vidage d'exportation.
L'exportation peut avoir été créée à partir d'une base de données qui utilise un jeu de caractères différent de celui utilisé pour la base de données cible.
Cela est particulièrement vrai si une base de données utilise un jeu de caractères 7 bits et l'autre utilise un jeu de caractères 8 bits.