web-dev-qa-db-fra.com

Comment importer un fichier .dmp dans Oracle?

J'ai un fichier .dmp que je voudrais importer dans Oracle 9i. Comment je fais ça?

16
sunil

En supposant que vous ayez un fichier .dmp créé par Oracle exp, puis

imp help=y

sera votre ami. Cela vous mènera à 

imp file=<file>.dmp show=y

pour voir le contenu de la décharge puis quelque chose comme

imp scott/tiger@example file=<file>.dmp fromuser=<source> touser=<dest>

importer d'un utilisateur à un autre. Préparez-vous à un long chemin si c'est un schéma compliqué car vous aurez besoin de pré-créer tous les utilisateurs de schéma référencés, ainsi que les espaces de table pour que le lutin fonctionne correctement.

27
kblair

J'utilise Oracle Database Express Edition 11g version 2.

Suis les étapes:

Ouvrez la ligne de commande SQl

Étape 1: Connectez-vous en tant qu'utilisateur du système

       SQL> connect system/tiger

Étape 2: SQL> CREATE USER UserName IDENTIFIED BY Password;

Étape 3: SQL> grant dba to UserName ;

Étape 4: SQL> GRANT UNLIMITED TABLESPACE TO UserName;

Étape 5: 

        SQL> CREATE BIGFILE TABLESPACE TSD_UserName
             DATAFILE 'tbs_perm_03.dat'
             SIZE 8G
             AUTOEXTEND ON;

Ouvrez l'invite de commande sous Windows ou Terminal sous Ubuntu. Puis tapez:

Remarque: si vous utilisez Ubuntu, remplacez "\" par "/" dans le chemin.

Étape 6: C:\> imp UserName/password@localhost file=D:\abc\xyz.dmp log=D:\abc\abc_1.log full=y;

Terminé....

J'espère que vous trouverez la bonne solution ici.

Merci.

6
Ketul patel

j'ai eu la solution que vous obtenez selon imp help=y il est mentionné que imp n'est valable que pour TRANSPORT_TABLESPACE ci-dessous:

Keyword  Description (Default)       Keyword      Description (Default)
--------------------------------------------------------------------------
USERID   username/password           FULL         import entire file (N)
BUFFER   size of data buffer         FROMUSER     list of owner usernames
FILE     input files (EXPDAT.DMP)    TOUSER       list of usernames
SHOW     just list file contents (N) TABLES       list of table names
IGNORE   ignore create errors (N)    RECORDLENGTH length of IO record
GRANTS   import grants (Y)           INCTYPE      incremental import type
INDEXES  import indexes (Y)          COMMIT       commit array insert (N)
ROWS     import data rows (Y)        PARFILE      parameter filename
LOG      log file of screen output   CONSTRAINTS  import constraints (Y)
DESTROY                overwrite tablespace data file (N)
INDEXFILE              write table/index info to specified file
SKIP_UNUSABLE_INDEXES  skip maintenance of unusable indexes (N)
FEEDBACK               display progress every x rows(0)
TOID_NOVALIDATE        skip validation of specified type ids
FILESIZE               maximum size of each dump file
STATISTICS             import precomputed statistics (always)
RESUMABLE              suspend when a space related error is encountered(N)
RESUMABLE_NAME         text string used to identify resumable statement
RESUMABLE_TIMEOUT      wait time for RESUMABLE
COMPILE                compile procedures, packages, and functions (Y)
STREAMS_CONFIGURATION  import streams general metadata (Y)
STREAMS_INSTANTIATION  import streams instantiation metadata (N)
DATA_ONLY              import only data (N)

The following keywords only apply to transportable tablespaces
TRANSPORT_TABLESPACE import transportable tablespace metadata (N)
TABLESPACES tablespaces to be transported into database
DATAFILES datafiles to be transported into database
TTS_OWNERS users that own data in the transportable tablespace set

Alors, merci de créer un espace table pour votre utilisateur:

CREATE TABLESPACE <tablespace name> DATAFILE <path to save, example: 'C:\ORACLEXE\APP\Oracle\ORADATA\XE\ABC.dbf'> SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 10G EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
1
ankit
imp system/system-password@SID file=directory-you-selected\FILE.dmp log=log-dir\Oracle_load.log fromuser=infodba touser=infodba commit=Y
0
deepak gupta

Ici vous pouvez trouver quelques astuces pour utiliser la commande imp.

0
Hank Gay