dbms_job : drop & create index impossible
bonjour, je suis tout nouveau dans l'usage d'ORACLE. J'utilise la version 9i et j'ai constitué une base qui sera exploité par BO.
je dispose d'une table qui compte + de 7 millions de ligne sur laquelle je lance un traitement soumis (dbms_job) de maj de date. Cette table comporte 2 index qui semble ralentir le traitement considérablement. j'ai donc décidé de supprimer les 2 index avant le traitement puis de les recréer après mais j'ai un message au lancement du script que voila :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| begin
dbms_job.isubmit('101', 'begin
drop index TPRO_BO.BOTRAVTE_IDX1;
commit;
drop index TPRO_BO.BOTRAVTE_IDX2;
commit;
update botravte set botravte.vtedat=to_date(s tajou||stamoi||staan||'' 00:00:00'',''ddmmyyyy HH24:MI:SS'');
commit;
CREATE INDEX TPRO_BO.BOTRAVTE_IDX1
ON TPRO_BO.BOTRAVTE (STDOS, STAART, VTEDAT);
commit;
CREATE INDEX TPRO_BO.BOTRAVTE_IDX2
ON TPRO_BO.BOTRAVTE (STDOS, STAMOI, STAAN, STAZ2, ARTPRD, STAFAM, STASFA)
end;',
SYSDATE, 'NULL');
commit;
end;
/ |
message d'erreur :
Citation:
begin
*
ERREUR à la ligne 1 :
ORA-06550: Ligne 2, colonne 39 :
PLS-00103: Symbole "DROP" rencontré à la place d'un des symboles suivants :
begin case declare exit for goto if loop mod null pragma
raise return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge
<a single-quoted SQL string> pipe
ORA-06512: à "SYS.DBMS_JOB", ligne 79
ORA-06512: à "SYS.DBMS_JOB", ligne 136
ORA-06512: à "SYS.DBMS_JOB", ligne 96
ORA-06512: à ligne 2
merci de me dire s'il n'est possible que de modifier les données en dbms_job, si on peu le faire autrement. Si ma méthode de suppression et création des index est approprié au problème de lenteur du traitement.
merci de vos nombreuses réponses