Bonjour à tous

Je me tourne vers vous car j'ai un petit souci avec l'outils de redefinition d'oracle



J'ai une table que je souhaite partitionner avec l'outils dbms_redefinition comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
 
CREATE TABLE USR.T1 
(
  MSG_ID        NUMBER(10)                  NOT NULL,
  QTTE_ID        NUMBER(10)                  NOT NULL,
  POINT_ID    VARCHAR2(15 BYTE),
  POINT_CODE        VARCHAR2(30 BYTE),
  FLAG_TYPE          VARCHAR2(15 BYTE),
  QTTE_UNIT          VARCHAR2(15 BYTE),
  QTTE_TYPE          VARCHAR2(15 BYTE)           NOT NULL,
  QTTE_DATEDEBUT     DATE                        NOT NULL,
  QTTE_DATEFIN       DATE                        NOT NULL,
  QTTE_VALUESTR   VARCHAR2(20 BYTE),
  QTTE_VALUEFL    FLOAT(126),
  QTTE_PR      NUMBER(2),
  QTTE_PRROLE  VARCHAR2(50 BYTE),
  QTTE_ROLE          VARCHAR2(50 BYTE),
  QTTEFLG_ROLE       VARCHAR2(50 BYTE)
)
TABLESPACE DATA
 
CREATE TABLE USR.T1_TEMP 
(
  MSG_ID        NUMBER(10)                  NOT NULL,
  QTTE_ID        NUMBER(10)                  NOT NULL,
  POINT_ID    VARCHAR2(15 BYTE),
  POINT_CODE        VARCHAR2(30 BYTE),
  FLAG_TYPE          VARCHAR2(15 BYTE),
  QTTE_UNIT          VARCHAR2(15 BYTE),
  QTTE_TYPE          VARCHAR2(15 BYTE)           NOT NULL,
  QTTE_DATEDEBUT     DATE                        NOT NULL,
  QTTE_DATEFIN       DATE                        NOT NULL,
  QTTE_VALUESTR   VARCHAR2(20 BYTE),
  QTTE_VALUEFL    FLOAT(126),
  QTTE_PR      NUMBER(2),
  QTTE_PRROLE  VARCHAR2(50 BYTE),
  QTTE_ROLE          VARCHAR2(50 BYTE),
  QTTEFLG_ROLE       VARCHAR2(50 BYTE)
)
TABLESPACE DATA
PARTITION BY RANGE (MSG_ID) (
PARTITION P_200601 VALUES LESS THAN (663451),
 PARTITION P_200602 VALUES LESS THAN (687541),
 PARTITION P_200603 VALUES LESS THAN (716092),
 PARTITION P_200604 VALUES LESS THAN (745932),
 PARTITION P_200605 VALUES LESS THAN (776246),
 PARTITION P_200606 VALUES LESS THAN (804039),
 PARTITION P_200607 VALUES LESS THAN (832697),
 PARTITION P_200608 VALUES LESS THAN (862104),
 PARTITION P_MAX VALUES LESS THAN (MAXVALUE)
  );
 
 
1- dbms_redefinition.start_redef_table( 'USR', 'T1', 'T1_TEMP' );
2- dbms_redefinition.copy_table_dependents ('USR' ,'T1','T1_TEMP',  DBMS_REDEFINITION.CONS_ORIG_PARAMS, TRUE, TRUE, TRUE, TRUE, num_errors,true );
suite à l'exécution de mon script, je me suis retrouvé avec deux erreurs dans DBA_REDEFINITION_ERRORS :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
select * from dba_redefinition_errors
OBJECT_TYPE	OBJECT_OWNER	OBJECT_NAME	BASE_TABLE_OWNER	BASE_TABLE_NAME	DDL_TXT
 
CONSTRAINT	USR	FK_DISPOSE_REF	USR	T1	ALTER TABLE "USR"."T1_REFERENCE" ADD CONSTRAINT "TMP$$_FK_DISPOSE_REF0" FOREIGN KEY ("MSG_ID", "QTY_NUMERO")
	  REFERENCES "USR"."T1_TEMP" ("MSG_ID", "QTTE_ID") DISABLE
 
CONSTRAINT	USR	FK_DISPOSE_PTY	USR	T1	ALTER TABLE "USR"."T1_PARTY" ADD CONSTRAINT "TMP$$_FK_DISPOSE_PTY0" FOREIGN KEY ("MSG_ID", "QTY_NUMERO")
	  REFERENCES "USR"."T1_TEMP" ("MSG_ID", "QTTE_ID") DISABLE

1- Je voudrais savoir s'il est possible de savoir d'ou vient cette erreur.
2- Pourquoi les deux constraints n'ont pas été copié ?
3- Comment résoudre ce genre de problème.


Dans ma phase de test, j'ai eu ce type d'erreur que j'ai réglé en agrandissant les tablespaces. Dans ma prod, j'ai aussi agrandi les tablespace au maximum mais le problème est revenu.

Merci pour votre aide