Bonjour,
Afin de créer une fonction d'archivage sur ma base, j'essaie de créer un script d'ajout dans un autre schéma et de suppression dans le schéma de production. Mais, voilà, j'ai un premier problème qui me dit que mes rollbacks segments sont trop petits. Ok, j'essaie donc de créer un mini-script pour contourner le problème et supprimer les lignes petit à petit. Je ne sais ps s'il est judicieux sur tous les points mais le voici quand même :
Mais, hélas, j'ai maintenant un nouveau problème. J'ai le message suivant :
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 declare cursor CURS_PICKDETAIL is select count(*) from PICKDETAIL where EXPORTFLAG = 'E'; NbPickDetail VARCHAR2(50); begin LOOP Open CURS_PICKDETAIL; Fetch CURS_PICKDETAIL into NbPickDetail; close CURS_PICKDETAIL; Exit when NbPickDetail = 0; set transaction use rollback segment RBSPEC; delete from WMSP.PICKDETAIL where EXPORTFLAG = 'E' and rownum<1000; commit; END LOOP; End;
J'ai cherché à savoir quel était cet index. C'est un index existant sur ma table PICKDETAIL. Je ne comprends pas pourquoi j'ai ce message. Est-ce dû à une mauvaise gestion des rollback segments, ou encore au rownum que j'ai mis dans ma requête mais dont je ne suis pas très sûre qu'il soit très adapté ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ORA-08102: index key not found, obj# 21869, dba 50406478 (2) ORA-06512: at line 13
J'espère que vous pourrez me filer un coup de main et des idées en prime !![]()
Partager