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 14/12/2006, 17h47   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2004
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 43
Points : 14
Points : 14
Par défaut ORA-01552: cannot use system rollback segment for non-system tablespace

Bonjour,

Je suis toujours en cours de migration à iso-fonctionnement d'une base oracle de 8.1.6 vers de la 10g.
Je tente de faire un import de la base dans son ancienne version et j'ai eu aussi l'erreur suivante après ma énième tentative d'import de dump.


Code :
1
2
3
4
5
6
7
8
9
IMP-00017: following statement failed WITH ORACLE error 1552:
 "CREATE TABLE "ARTICLES" ("CODE_ARTICLE_ID" VARCHAR2(3) NOT NULL ENABLE, "
 ""CODE_PARAM_1" VARCHAR2(3), "CODE_PARAM_2" VARCHAR2(3), "CODE_PARAM_3" VARC"
 "HAR2(3))  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING STORAGE(INI"
 "TIAL 65536 NEXT 65536 MINEXTENTS 1 MAXEXTENTS 505 PCTINCREASE 0 FREELISTS 1"
 " FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "TAB_REF01_S""
IMP-00003: ORACLE error 1552 encountered
ORA-01552: cannot USE system rollback segment 
FOR non-system tablespace 'TAB_REF01_S'
Le user oracle qui lance le traitement de l'import à les droits imp_full_database et dba.

Merci d'avance pour votre aide

Elise78
Elise78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2006, 17h54   #2
Membre actif
 
Inscription : septembre 2006
Messages : 142
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 142
Points : 156
Points : 156
Crée un tablespace gérer dans le ditionnaire. puis créer les rollback segments (les mêmes que ta base source) n'oublie de les faire public ou de la paramétrer dans le fichier init (spfile)).
__________________
DBA ORACLE
Arturius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2006, 18h02   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2004
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 43
Points : 14
Points : 14
Par défaut Remerciements et solution

Merci Arturius ca à l'air de marcher. J'ai d'autre erreur plus liées au contenu de la base.
J'ai exécuté les commandes suivantes :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE ROLLBACK SEGMENT demarrage;
ALTER  ROLLBACK SEGMENT demarrage ONLINE;
 
! echo "Creation des rollbacks segment..."
CREATE ROLLBACK SEGMENT RBS_01 TABLESPACE RBS
STORAGE (INITIAL 400K NEXT 400K MINEXTENTS 10 OPTIMAL 4000K);
CREATE ROLLBACK SEGMENT RBS_02 TABLESPACE RBS
STORAGE (INITIAL 400K NEXT 400K MINEXTENTS 10 OPTIMAL 4000K);
 
! echo "Activation des rollbacks segment..."
ALTER ROLLBACK SEGMENT RBS_01 ONLINE;
ALTER ROLLBACK SEGMENT RBS_02 ONLINE;
 
ALTER ROLLBACK SEGMENT demarrage OFFLINE;
DROP  ROLLBACK SEGMENT demarrage;
Elise78
Elise78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 14h06   #4
Candidat au titre de Membre du Club
 
Inscription : mai 2004
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 43
Points : 14
Points : 14
Par défaut ORA-00001: unique constraint violated

Bonjour,

L'import de ma base oracle 8.1.6 n'est toujours pas nikel sur ma base oracle 10.2. L'import passe beaucoup mieux depuis que j'ai rajouté le grant dba à l'utilisateur linux qui lance le traitement.

Maintenant, le problème est le suivant :

Code :
1
2
3
4
5
IMP-00003: ORACLE error 1 encountered
ORA-00001: UNIQUE constraint (ADVOP.PK_T_INIT_TARIF) violated
COLUMN 1 120
COLUMN ...
IMP-00019: row rejected due TO ORACLE error 1
Je lance mon import avec la commande suivante :
Code :
1
2
3
imp USERID=login/passwd FROMUSER=user_départ TOUSER=user_cible 
file=expPRODbase8i.dmp IGNORE=Y GRANTS=Y INDEXES=Y CONSTRAINTS=N 
LOG=importbase8i.log
Je ne vois pas le problème. Le même dump sur une autre plate-forme 8i passe très bien

Elise78
Elise78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 14h48   #5
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
si tu as déjà lancer l'import une fois, la 2° fois il réinsert les lignes... dans le cas présent ça génère une violation de contrainte unique. Avant chaque import il faut donc vider les tables importées.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 16h04   #6
Membre Expert
 
Avatar de nuke_y
 
Inscription : mai 2004
Messages : 1 812
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 1 812
Points : 1 609
Points : 1 609
Mais le IGNORE=Y il sert pas à ça normalement ?
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

Mon combat pour les droits des consommateurs face aux abus des grandes marques.
nuke_y est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/12/2006, 22h07   #7
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
non, cette option sert à continuer même si la table existe déjà
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2006, 03h45   #8
Membre Expert
 
Avatar de nuke_y
 
Inscription : mai 2004
Messages : 1 812
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 1 812
Points : 1 609
Points : 1 609
Ok et il sert qu'à ça alors ?
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes.

Mon combat pour les droits des consommateurs face aux abus des grandes marques.
nuke_y est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2006, 09h48   #9
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
ignore = ignore les erreurs
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/12/2006, 16h20   #10
Candidat au titre de Membre du Club
 
Inscription : mai 2004
Messages : 43
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 43
Points : 14
Points : 14
Par défaut Pourtant !

Citation:
Envoyé par Fred_D
si tu as déjà lancer l'import une fois, la 2° fois il réinsert les lignes... dans le cas présent ça génère une violation de contrainte unique. Avant chaque import il faut donc vider les tables importées.
D'accord mais juste avant j'ai fait un
Code :
DROP USER username [CASCADE] ;
Elise78
Elise78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2006, 10h55   #11
Membre habitué
 
Inscription : janvier 2005
Messages : 129
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 129
Points : 101
Points : 101
Le ignore=y permet d'éviter d'avoir une remontée d'erreur lorsque IMP veut créer des objets qui existent deja dans la base.

Dans ton cas Elise, tu peux eventuellement désactiver les contraintes et triggers, lors de l'import de tes données via des scripts :

Ceux si sont ceux que j'ai utilisé pour désactiver les contraintes d'un schéma :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Pour les triggers :
 
SQL> SET pagesize 0
SQL> SET feedback off
SQL> SET verify off
SQL> spool /home/oracle/implex_triggers_disable.sql
SQL> SELECT 'ALTER TRIGGER ' || owner || '.' || trigger_name || ' disable;' FROM dba_triggers WHERE owner = 'IMPLEX';
SQL> spool off
 
Pour les contraintes :
 
SQL> SET pagesize 0
SQL> SET feedback off
SQL> SET verify off
SQL> spool /home/oracle/implex_constraints_disable.sql
SQL> SELECT 'ALTER TABLE ' || owner || '.' || table_name || ' disable constraint ' || 	constraint_name || ';' FROM dba_constraints WHERE owner = 'IMPLEX';
SQL> spool off
Il faut probablement les executer plusieurs fois, pour etre sur de désactiver l'intégralité des contraintes & triggers.
A vérifier avec :

Code :
1
2
3
 
SQL> SELECT count(*) FROM dba_triggers WHERE owner = 'IMPLEX' AND STATUS = 'ENABLED';
SQL> SELECT count(*) FROM dba_constraints WHERE owner = 'IMPLEX' AND STATUS = 'ENABLED';
Bon dans mon cas l'import ne concernait qu'un schéma, et j'étais seul a travailler sur cette base.
En espérant avoir aidé !
guigui_cwoco est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h57.


 
 
 
 
Partenaires

Hébergement Web