J'ai reçu une vidage d'un Oracle 11.2.0.2.0 DB, que j'aimerais exporter vers un format lisible comme un texte brut, CSV, Excel ...
Est-ce que cela est possible d'une manière simple? J'ai trouvé quelques convertisseurs, mais ils ne sont pas libres.
Si rien d'autre, je n'ai fait que installer la dernière édition Oracle Express et Oracle SQL Developer, mais je n'arrive pas à trouver un moyen d'importer mon fichier .DMP. J'ai essayé d'utiliser les outils IMP et IMPDP, mais ils m'ont tous deux donné une erreur:
IMP 'SYS SYSDBA' FILE = DUTP.DMP FULL = YES LOG = IMPLOG.TXT
Imp-00038: impossible de convertir la poignée de l'ensemble de caractères de l'environnement
IMPDP 'SYS SYSDBA' FILE = DUTP.DMP FULL = YES LOG = IMPLOG.TXT
ORA-39001: valeur d'argumentation non valide
ORA-39000: Mauvaise spécification de fichier de vidage
ORA-39088: nom de fichier ne peut contenir de spécification de chemin
METTRE À JOUR:
Il semble que je devais copier le dépotoir sur "C:\oracexe\app\oracle\admin\xe\dpdump" pour que l'IMPDP fonctionne. Mais maintenant, je reçois le message d'erreur suivant (ou peut-être juste un avertissement, car aussi loin que je vois, les tables ont été créées et les données ont été importées?):
ORA-39083: Type d'objet Refresh_group Impossible de créer avec erreur:
ORA-23421: Le numéro de travail 1389 n'est pas un travail dans la file d'attente d'emploi
Failting SQL est:
Commencez dbms_refresh.make ('"dB". "Table"' '', liste => null, next_date => null, intervalle => null, implicit_destroy => vrai, job => 1389, rollback_seg => null, Push_deferred_rpc => true, rafraîchissements_after_errors => false, purge_option => 1, parallélisme => 0, tasse_size => 0); dbms_refresh.add (nom => '"DB". "Table"' '', liste => '"" DB "." Table "', SiteId => 0, Export_DB => 'XE'); FINIR;
Job "Sys". "SYS_IMPORT_FLODL_01" Terminé avec 32 Erreur (s) à 06:59:30
Mise à jour 2:
Ouais, je viens de vérifier via le crapaud pour Oracle et toutes les données ont été importées avec succès. J'ai également réussi à exporter vers un fichier Excel en utilisant la même application.
Tout d'abord, vous devez créer un répertoire sur la base de données.
Create or Replace Directory IMP_DIR as 'Path\Path\';
Assurez-vous que l'utilisateur importera le fichier a le priviligène à lire et à écrire sur le répertoire (au cas où vous n'utilisez pas SYS)
GRANT Read, Write ON DIRECTORY IMP_DIR TO user;
Ensuite, incluez le paramètre Répertoire dans la déclaration d'importation
impdp 'sys AS SYSDBA' file=dump.dmp full=yes log=implog.txt directory=IMP_DIR