J'ai un fichier .dmp
que je voudrais importer dans Oracle 9i. Comment je fais ça?
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.
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.
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;
imp system/system-password@SID file=directory-you-selected\FILE.dmp log=log-dir\Oracle_load.log fromuser=infodba touser=infodba commit=Y
Ici vous pouvez trouver quelques astuces pour utiliser la commande imp.