Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Import/Export
Import/Export Forum d'entraide sur les outils d'import/export Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/03/2007, 14h22   #1
Invité de passage
 
Inscription : décembre 2006
Messages : 32
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 32
Points : 4
Points : 4
Par défaut [RESOLU] Oracle 9i : commande IMPORT

Bonjour,

Après avoir créé 2 tablespaces TB1_DATA et TB1_INDEX et un schéma :

Code :
1
2
3
4
5
CREATE USER "TEST"  PROFILE "DEFAULT" 
    IDENTIFIED BY "test" DEFAULT TABLESPACE "TB1_DATA" 
    ACCOUNT UNLOCK;
GRANT "CONNECT" TO "TEST";
GRANT "RESOURCE" TO "TEST";
J'ai tenté de réaliser un import dans ce nouveau schéma avec cette syntaxe :
Code :
1
2
 
IMP test/test FILE=export.dmp INDEXFILE=/DATA/MONINSTANCE/u01/system/TB1_INDEX.db
Il met ça :

Citation:
Import: Release 9.2.0.7.0 - Production on Ma Mar 13 14:13:14 2007

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.


IMP-00058: Erreur ORACLE 12162 rencontrée
ORA-12162: TNS : nom de service incorrect
IMP-00000: Procédure d'import terminée avec erreur

Où ai-je râté un épisode ? Merci pour votre aide
Lelio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 14h28   #2
Membre à l'essai
 
Inscription : décembre 2003
Messages : 59
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 59
Points : 22
Points : 22
ajoute @SID dans ta commande import
e77em est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 14h43   #3
Candidat au titre de Membre du Club
 
Inscription : août 2005
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 25
Points : 10
Points : 10
Envoyer un message via MSN à sanomory Envoyer un message via Yahoo à sanomory
tu fais set Oracle_sid=sid
ensuite tu relances imp
sanomory est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 15h00   #4
Invité de passage
 
Inscription : décembre 2006
Messages : 32
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 32
Points : 4
Points : 4
Merci beaucoup !!!
Pourtant je pensais avoir écrit auparavant : ORACLE_SID=MONINSTANCE

Donc la commande marche mais j'obtiens cela :

Citation:
Import: Release 9.2.0.7.0 - Production on Ma Mar 13 14:46:17 2007

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.


Connecté à : Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
JServer Release 9.2.0.7.0 - Production

Fichier d'export créé par EXPORT:V09.02.00 via le chemin classique
import effectué dans le jeu de caractères WE8ISO8859P1 et le jeu NCHAR AL16UTF16
le serveur d'import utilise le jeu de caractères WE8ISO8859P15 (conversion possible)
. . Table "A_LU" ignorée

. . Table "AVOCAT" ignorée

. . Table "CLIENT" ignorée

. . Table "EMAIL_DIFFERE" ignorée

. . Table "EST_PATIENT" ignorée

. . Table "ETAT" ignorée

. . Table "MEDECIN_CONSEIL" ignorée

. . Table "MESSAGE" ignorée

. . Table "PATIENT" ignorée

. . Table "PIECE_JOINTE" ignorée

. . Table "PLAN_TABLE" ignorée

. . Table "PROCEDURE" ignorée

. . Table "SINISTRE" ignorée

. . Table "STATISTIQUE" ignorée

. . Table "TYPE_ETAT" ignorée

. . Table "TYPE_PROCEDURE" ignorée

. . Table "UTILISATEUR" ignorée

Procédure d'import terminée avec succès.
Du coup, rien n'est importé Est-ce à cause de la spécification du tablespace index que je veux mettre ailleurs que dans le tb1_data ?
Lelio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 15h36   #5
Membre habitué
 
Inscription : janvier 2005
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 129
Points : 101
Points : 101
Peux tu vérifier le parametre IGNORE ?
Peux tu vérifier que les objets a créer ne sont pas deja existant ?

Peux tu nous montrer le fichier de log de l'import et le fichier d'alerte de la base ?
guigui_cwoco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 15h38   #6
Candidat au titre de Membre du Club
 
Inscription : août 2005
Messages : 25
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 25
Points : 10
Points : 10
Envoyer un message via MSN à sanomory Envoyer un message via Yahoo à sanomory
Verifie que ton schema ne comporte pas deja les objects que tu veux importer.
sanomory est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 09h23   #7
Invité de passage
 
Inscription : décembre 2006
Messages : 32
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 32
Points : 4
Points : 4
Les objets ne sont pas existants car je viens de créer le schéma avec le CREATE USER juste avant.
Quant au fichier de log résultant de la commande "Imp" que je retranscris ici :
Citation:
IMP test/test FILE=export.dmp INDEXFILE=/DATA/MONINSTANCE/u01/system/TB1_INDEX.db LOG=import.log;
me donne le même résultat que sur l'écran à savoir plein de tables ignorées.

N'étant pas très calée sous Oracle , pourriez-vous me dire comment voir le paramètre IGNORE ? Où pourrais-je trouver le fichier d'alerte de la base ?

merci beaucoup.
Lelio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 11h05   #8
Membre habitué
 
Inscription : janvier 2005
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 129
Points : 101
Points : 101
Tu peux consulter les parametres de la commande IMP via :

Pour vérifier que les objets n'existent pas deja (en sqlplus), avec le compte SYSTEM, en espérant que tu as accès :
Code :
1
2
 
SELECT table_name FROM DBA_TABLES WHERE OWNER = 'TEST';
Si cette requete te retourne des valeurs, c'est que les objets existent deja.
guigui_cwoco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 11h56   #9
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Pourquoi utilisez-vous le paramètre INDEXFILE ? S'il est spécifié, il sert à extraire le DDL du fichier import et non à créer des objets dans la base d'après la doc. de référence
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 12h33   #10
Membre habitué
 
Inscription : février 2007
Messages : 216
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations forums :
Inscription : février 2007
Messages : 216
Points : 115
Points : 115
bonjour;
J'ai pas compris pourquoi tu veux lancer l'import avec la commande
Code :
INDEXFILE==/DATA/MONINSTANCE/u01/system/TB1_INDEX.db
pourquoi ne pas importer sans ce paramètre puis faire un move des indexes ou des tables du tablespace dans lequel ils sont vers le tablespace que tu veux.
elharet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 14h57   #11
Invité de passage
 
Inscription : décembre 2006
Messages : 32
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 32
Points : 4
Points : 4
Pour l'aide sur la commande Import, je l'ai faite et c'est comme ça que j'ai vu l'instruction INDEXFILE qui me permet de spécifier l'emplacement des index.

En fait, ce que j'aimerais faire est que mon Imp se fasse dans un schéma que j'ai nouvellement créé. Ce schéma est attaché à un tablespace TB1_DATA. Par défaut, il met les index dans ce tablespace. Or, je souhaite que les index soient stockés dans le tablespace TB1_INDEX que j'ai préalablement créé.

J'ai vérifié si une table existe :
Citation:
[root@PRODDB root]# su - oracle
[oracle@PRODDB oracle]$ ORACLE_SID=MONINSTANCE
[oracle@PRODDB oracle]$ sqlplus /nolog

SQL*Plus: Release 9.2.0.7.0 - Production on Me Mar 14 14:40:58 2007

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect system/dba as sysdba
Connecté.
SQL> SELECT * FROM avocat WHERE OWNER = 'test';
SELECT * FROM avocat WHERE OWNER = 'test'
*
ERREUR à la ligne 1 :
ORA-00942: Table ou vue inexistante


SQL>
SQL>
SQL> show tables;
SP2-0158: option SHOW inconnue "tables"

SQL> select * from V_TABLES;

SQL>
Apparemment je n'ai rien dans le schéma.

Je vais lancer la commande Import sans l'option INDEXFILE (comme le suggère elharet) et faire le déplacement par la suite avec un ALTER je suppose ?

Merci beaucoup.
Lelio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 18h50   #12
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Oui, vous pouvez déplacer les index dans une autre tablespace avec:
Code :
ALTER INDEX <inom de l'index> REBUILD TABLESPACE  <nom du tablespace>;
Pour vérifier si une table existe, il faut utiliser DBA_TABLES et écrire en général le nom du propriétaire en majuscules:

Code :
SELECT table_name FROM dba_tables WHERE owner='TEST';
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2007, 14h45   #13
Membre habitué
 
Inscription : février 2007
Messages : 216
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations forums :
Inscription : février 2007
Messages : 216
Points : 115
Points : 115
si tu veux que tous les indexes de ton schema 'TEST' soient dans le tablespace TB1_INDEX sachant qu'aprés l'import ils sont dans le tablespace TB1_DATA, il faut lancer le script suivant:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
BEGIN
   FOR i IN (SELECT    'alter index '
                    || owner
                    || '.'
                    || index_name
                    || ' REBUILD TABLESPACE TB1_INDEX' stmt
               FROM dba_indexes
              WHERE owner='TEST')
   LOOP
         EXECUTE IMMEDIATE i.stmt;
   END LOOP;
END;
/
sans que tu rebuild tous les indexes un par un.
elharet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2007, 17h18   #14
Invité de passage
 
Inscription : décembre 2006
Messages : 32
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 32
Points : 4
Points : 4
ça fonctionne correctement avec un Import normal et un alter index.

Merci beaucoup pour votre aide.
Lelio est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h14.


 
 
 
 
Partenaires

Hébergement Web